Aseptic vs Telepresence
Telepresence et Aseptic s'accordent sur le diagnostic —vous ne devriez pas avoir à lever douze services pour travailler sur un seul— et divergent sur l'endroit où doivent vivre les onze autres. Telepresence les emprunte à un cluster. Aseptic vous laisse décider un par un.
En une phrase
Telepresence connecte votre machine à un cluster Kubernetes et intercepte le trafic d'un service choisi, en le routant vers la copie que vous faites tourner en local. Le reste du système reste dans le cluster, réel, et votre processus lui parle comme s'il y était déployé.
Aseptic démarre les services d'un scénario sur votre machine et résout chaque dépendance vers un service local, un environnement cloud partagé ou un mock, en réécrivant les URL entre eux au démarrage. Aucun cluster n'intervient.
Le tableau
| Telepresence | Aseptic | |
|---|---|---|
| Nécessite un cluster Kubernetes | Oui, et déployé et sain | Non |
| Où tourne le reste du système | Dans le cluster, en vrai | Où vous choisissez, par dépendance |
| Combien de services en local | Normalement un, celui qui est intercepté | Ceux que dit le scénario |
| Réalisme des dépendances | Très élevé — ce sont les vraies | Celui que vous leur donnez ; les mocks comptent aussi |
| Fonctionne hors connexion | Non | Oui, sauf si une dépendance vise le cloud |
| Risque pour les environnements partagés | Réel — vous êtes dedans | Aucun par défaut ; seulement si vous y pointez une dépendance |
| Infrastructure commune du flux | Celle du cluster | Kafka, Redis et PostgreSQL levés dans Docker pour vous |
| Licence | Cœur ouvert, paliers commerciaux | Gratuit pour un usage personnel, payant en usage commercial |
Choisissez Telepresence si…
- Le bug n'apparaît que face au réel : les vrais volumes de données, le vrai fournisseur d'identité, la vraie passerelle devant.
- Votre système est trop gros pour une seule machine et va le rester.
- Vous maintenez déjà un cluster de développement partagé qui reflète assez bien la réalité pour valoir la peine d'être emprunté.
- Vous modifiez un service et le reste n'est pas en jeu.
Choisissez Aseptic si…
- Vous voulez modifier plusieurs services à la fois et voir le flux de bout en bout, ce qu'intercepter un seul ne donne pas.
- Vous voulez travailler dans un avion, dans un train, ou le jour où le cluster partagé est en panne.
- Vous préféreriez ne pas avoir votre code à moitié écrit dans un environnement que vos collègues utilisent.
- Vous voulez pouvoir choisir : cette dépendance en local, celle-là vers le cloud, cette troisième mockée — et en changer d'un clic.
Là où Aseptic est insuffisant
Le réalisme. Les dépendances de Telepresence sont les services réellement déployés, avec leur vraie configuration ; celles d'Aseptic sont ce vers quoi vous les avez pointées. Si le bug que vous poursuivez vit dans cet écart —quelque chose du networking du cluster, un en-tête ajouté par la passerelle, un payload que personne n'a documenté— la copie locale ne le reproduira pas, et le chercher là vous coûte un après-midi.
Aseptic est de plus en bêta publique, publié pour Windows, macOS et Linux, et il n'est pas open source.
Ce qui finit généralement par arriver
Ces deux-là cohabitent mieux que la plupart : Aseptic pour construire la fonctionnalité et Telepresence pour le dernier kilomètre face à l'environnement réel, quand quelque chose ne colle pas. Et autant le dire clairement, puisque Aseptic peut aussi pointer une dépendance vers votre environnement partagé : cela reste une URL, pas une interception. C'est plus simple, et c'est aussi moins fidèle.
Si ce que vous comparez, c'est le cluster, voyez Tilt, DevSpace et le comparatif général.
Questions fréquentes
Que fait exactement Telepresence ?
Il relie un processus qui tourne sur votre machine à un vrai cluster, de sorte que votre service local prenne la place de celui qui est déployé et parle au reste du cluster.
Alors pourquoi Telepresence ne suffit-il pas ?
Parce qu'il a besoin du cluster. S'il est en panne, si vous n'avez pas de VPN, ou si vous voulez démarrer trois services à la fois sans toucher à l'environnement partagé, ce modèle n'aide pas. Aseptic exécute tout le flux sur votre machine et pointe chaque dépendance où vous choisissez.
Puis-je mélanger services locaux et distants avec Aseptic ?
Oui, et c'est toute l'idée : pour chaque dépendance vous décidez si elle va vers le service local, vers votre environnement cloud ou vers un mock.