Aseptic vs Tilt
Les deux outils existent pour la même raison : la boucle entre changer une ligne et voir le changement tourner est trop lente quand un système est réparti sur de nombreux services. Ils prennent des chemins opposés pour y remédier. Tilt rend Kubernetes assez rapide pour développer contre lui. Aseptic sort Kubernetes de la boucle.
En une phrase
Tilt surveille vos dépôts, reconstruit les images, redéploie vers un cluster et synchronise les fichiers modifiés dans les conteneurs en cours, avec une interface web qui montre l'état du build, les logs et la santé de chaque service.
Aseptic démarre vos services comme des processus de votre machine —ou en conteneur, si vous préférez—, résout chaque dépendance vers un service local, un environnement cloud partagé ou un mock, et réécrit les URL entre eux au démarrage. Pas de cluster ni d'image à reconstruire.
Le tableau
| Tilt | Aseptic | |
|---|---|---|
| Nécessite un cluster Kubernetes | Oui, c'est le principe | Non |
| Nécessite des images de vos services | Oui | Non — natifs, ou en conteneur si vous voulez |
| Configuration | Un Tiltfile en Starlark, dans votre dépôt | Des scénarios hors des dépôts ; manifestes autodétectés |
| Touche vos dépôts | Oui, le Tiltfile vit avec le code | Non |
| Pointer un service vers le cloud partagé | Possible, à câbler soi-même | Par dépendance : local, cloud ou mock |
| Ressemblance à la production | Élevée — mêmes manifestes, mêmes primitives | Faible — des processus sur votre machine |
| Interface | CLI et interface web | Application de bureau et CLI à parité complète |
| Licence | Open source | Gratuit pour un usage personnel, payant en usage commercial |
Choisissez Tilt si…
- Vous déployez sur Kubernetes et vous voulez que la boucle locale utilise les mêmes manifestes, pour que ce que vous testez ait la forme de ce qui part en production.
- Vos services ont déjà des Dockerfiles et un chart ou un jeu de manifestes que quelqu'un tient à jour.
- Vous acceptez de faire tourner un cluster sur la machine —kind, minikube, Docker Desktop— ou d'en viser un distant, et d'en payer la facture mémoire.
- Vous voulez une configuration qui vive dans le dépôt et se partage par git comme n'importe quel autre fichier.
Choisissez Aseptic si…
- Kubernetes est votre façon de déployer, pas votre façon de développer. Le cluster ajoute un build et un push à chaque changement, et il n'est pas nécessaire pour tester un flux.
- Vous voulez démarrer trois services sur douze et pointer le reste vers l'environnement cloud partagé, en le décidant par dépendance et non par environnement.
- Vous voulez vos services attachés au débogueur comme des processus locaux normaux, avec le rechargement à chaud que leur framework fournit déjà.
- Vous ne voulez ni ajouter ni maintenir de fichiers dans chaque dépôt pour que l'environnement local fonctionne.
Là où Aseptic est insuffisant
Si ce que vous testez est la partie Kubernetes —un ingress, une network policy, un sidecar, des limites de ressources, une readiness probe sous charge— Aseptic ne vous sert à rien. Il n'exécute pas de cluster, donc rien de tout cela n'existe. Tilt est le bon outil là, et un cluster local nu aussi.
Aseptic est par ailleurs plus jeune : il est en bêta publique, publié pour Windows, macOS et Linux, et il n'est pas open source. Tilt a des années d'usage derrière lui et vous pouvez en lire chaque ligne.
Ce qui finit généralement par arriver
Ils ne s'excluent pas, et les équipes qui utilisent les deux le font selon une couture nette : Aseptic pour la boucle quotidienne —écrire du code, exécuter le flux, lire les logs— et un cluster, piloté par Tilt ou par la CI, pour ce que seul un cluster peut démontrer. L'erreur est d'utiliser le cluster pour les deux et de payer le cycle de déploiement à chaque changement.
Si vous pesiez aussi Docker Compose et un Kubernetes local, le comparatif général couvre ces trois-là. Il y a également une page sur Skaffold, proche de Tilt.
Questions fréquentes
Ai-je besoin de Kubernetes pour utiliser Aseptic ?
Non. Aseptic exécute vos services comme des processus de votre machine et démarre l'infrastructure commune dans Docker ; il n'y a ni cluster, ni images à construire, ni manifestes à maintenir.
Puis-je utiliser Tilt et Aseptic ensemble ?
Oui, et c'est ce que font les équipes qui utilisent les deux : Aseptic pour la boucle quotidienne, et un cluster piloté par Tilt pour ce que seul un cluster démontre —un ingress, une network policy, une limite de ressources—.
Et si ce que je teste EST la partie Kubernetes ?
Alors Aseptic ne vous sert à rien, et il vaut mieux le dire clairement : il n'exécute pas de cluster, donc un sidecar ou une readiness probe sous charge n'existent tout simplement pas. Tilt est le bon outil pour cela.
Aseptic a-t-il besoin de fichiers dans mes dépôts ?
Non. Le Tiltfile vit avec le code ; le catalogue d'Aseptic vit dans son propre dossier .aseptic/ et la configuration est injectée au démarrage, donc vos dépôts ne sont pas touchés.