Aseptic vs Telepresence
O Telepresence e o Aseptic concordam no diagnóstico —não devias ter de levantar doze serviços para trabalhar num— e discordam sobre onde devem viver os outros onze. O Telepresence pede-os emprestados a um cluster. O Aseptic deixa-te decidi-lo um a um.
Numa frase
O Telepresence liga a tua máquina a um cluster de Kubernetes e interceta o tráfego de um serviço escolhido, encaminhando-o para a cópia que tens a correr em local. O resto do sistema fica no cluster, real, e o teu processo fala com ele como se estivesse implantado ali.
O Aseptic arranca os serviços de um cenário na tua máquina e resolve cada dependência para um serviço local, um ambiente partilhado na nuvem ou um mock, reescrevendo os URLs entre eles ao levantar. Não há cluster pelo meio.
A tabela
| Telepresence | Aseptic | |
|---|---|---|
| Precisa de um cluster de Kubernetes | Sim, e implantado e saudável | Não |
| Onde corre o resto do sistema | No cluster, real | Onde tu escolheres, por dependência |
| Quantos serviços levantas em local | Normalmente um, o intercetado | Os que o cenário disser |
| Realismo das dependências | Altíssimo — são as verdadeiras | O que lhes deres; os mocks também valem |
| Funciona sem ligação | Não | Sim, salvo se uma dependência apontar à nuvem |
| Risco para os ambientes partilhados | Real — estás dentro de um | Nenhum por omissão; só se apontares uma dependência para lá |
| Infraestrutura comum para o fluxo | A do cluster | Kafka, Redis e PostgreSQL levantados em Docker por ti |
| Licença | Núcleo aberto, níveis comerciais | Grátis para uso pessoal, pago para uso comercial |
Fica-te pelo Telepresence se…
- A falha só aparece contra o verdadeiro: os volumes de dados reais, o fornecedor de identidade real, a gateway real à frente.
- O teu sistema é demasiado grande para uma só máquina e vai continuar a sê-lo.
- Já manténs um cluster de desenvolvimento partilhado que reflete a realidade suficientemente bem para valer a pena pedi-lo emprestado.
- Estás a mudar um serviço e o resto não está em jogo.
Fica-te pelo Aseptic se…
- Queres mudar vários serviços ao mesmo tempo e ver o fluxo de ponta a ponta, que é o que intercetar um só não te dá.
- Queres trabalhar num avião, num comboio ou no dia em que o cluster partilhado está em baixo.
- Preferias não ter o teu código a meio escrever dentro de um ambiente que os teus colegas estão a usar.
- Queres poder escolher: esta dependência em local, aquela contra a nuvem, esta terceira com mock — e mudá-lo num clique.
Onde o Aseptic fica curto
O realismo. As dependências do Telepresence são os serviços implantados a sério, com a sua configuração a sério; as do Aseptic são aquilo a que as apontaste. Se a falha que persegues vive nessa diferença —algo da rede do cluster, um cabeçalho que a gateway acrescenta, um payload que ninguém documentou—, a cópia local não a vai reproduzir, e procurá-la aí custa-te uma tarde.
O Aseptic está além disso em beta pública, publica-se para Windows, macOS e Linux, e não é código aberto.
O que costuma acabar por acontecer
Estas duas convivem melhor do que a maioria: o Aseptic para construir a funcionalidade e o Telepresence para a última milha contra o ambiente real, quando algo não bate certo. E convém dizê-lo claro, já que o Aseptic também pode apontar uma dependência ao vosso ambiente partilhado: isso é um URL, não uma interceção. É mais simples e também é menos fiel.
Se o que estás a comparar é o cluster, vê o Tilt, o DevSpace e o comparativo amplo.
Perguntas frequentes
O que faz exatamente o Telepresence?
Liga um processo que corre na tua máquina a um cluster real, de forma que o teu serviço local ocupa o lugar do que está implantado e fala com o resto do cluster.
Então porque não me basta o Telepresence?
Porque precisa do cluster. Se ele está em baixo, se não tens VPN ou se queres levantar três serviços ao mesmo tempo sem tocar no ambiente partilhado, esse modelo não ajuda. O Aseptic corre o fluxo inteiro na tua máquina e aponta cada dependência onde tu escolheres.
Posso misturar serviços locais e remotos com o Aseptic?
Sim, e é a sua razão de ser: por cada dependência decides se vai para o serviço local, para o teu ambiente na nuvem ou para um mock.