- Fonctionnalités
- Pricing

Les plateformes cloud sont conçues pour faciliter la livraison de logiciels. Pourtant, avant même que la première fonctionnalité ne soit écrite, de nombreuses équipes perdent des jours, voire des sprints entiers, à assembler les primitives du cloud : pipelines CI, autorisations, règles de mise en réseau, versions d'exécution, câblage de l'environnement, etc. Ce travail est généralement considéré comme une « configuration », une étape à franchir avant que le développement réel ne commence.
Le problème, c'est qu'il ne disparaît jamais vraiment. Ce qui commence comme un effort ponctuel devient peu à peu un frein récurrent à la vitesse de livraison, à la concentration et à la confiance.
Avant même qu'une seule ligne de code ne soit écrite, la plupart des équipes consacrent un sprint entier à la mise en place de l'infrastructure. Ce « sprint 0 », parfois explicite, parfois informel, mobilise en moyenne une dizaine de jours de travail de toute l'équipe : fichiers Jenkins, pipelines CI/CD, règles de mise en réseau, provisionnement de l'environnement, avant que le travail sur le produit puisse commencer.
Ce temps apparaît rarement dans les indicateurs de livraison. Il est considéré comme une charge nécessaire, et non comme quelque chose à remettre en question ou à optimiser.
Ce qui le rend particulièrement coûteux, c'est que cet effort n'est pas cumulatif. Il ne facilite pas significativement le travail futur. Au contraire, il établit une base de configuration qui doit désormais être comprise, maintenue et ajustée à mesure que l'application évolue.
À partir de là, chaque sprint s'accompagne d'un travail d'infrastructure caché :
Aucune de ces fonctionnalités n'est livrée.
Les primitives cloud créent un type de travail spécifique : un travail qui semble temporaire, mais qui devient permanent.
Les pipelines de compilation doivent être ajustés. Les variables d'environnement dérivent. Une nouvelle dépendance nécessite une modification du runtime. Un environnement de test se comporte différemment de l'environnement de production. Un correctif fonctionne à un endroit, mais pas à un autre.
Aucune de ces tâches n'est particulièrement complexe en soi. Mais elles réapparaissent fréquemment, souvent de manière inattendue, et généralement au pire moment possible : lors d'une mise en production, d'une démonstration ou d'un incident.
C'est pourquoi les tâches d'infrastructure ralentissent de manière disproportionnée la livraison des fonctionnalités. Le coût ne se limite pas au temps passé à effectuer le travail. Il s'agit également de l'interruption. Chaque tâche oblige les développeurs à changer de contexte, à reconstruire des modèles mentaux et à rétablir leur confiance avant de pouvoir revenir à la logique du produit.
Au fil du temps, les équipes finissent par maintenir un système parallèle de connaissances sur l'infrastructure qui se trouve en partie dans les fichiers de configuration et en partie dans la tête des gens. Ces connaissances deviennent fragiles à mesure que les équipes s'agrandissent, changent ou font tourner les responsabilités.
Terraform et Kubernetes sont des outils puissants conçus pour les ingénieurs en infrastructure, dont le travail consiste à réfléchir toute la journée à la gestion de l'état, aux graphiques de ressources déclaratifs et aux boucles de réconciliation. Les développeurs d'applications ont des priorités et des modèles mentaux différents. Kubernetes est un cadre, pas une plateforme. Demander aux développeurs de construire eux-mêmes la plateforme a un coût élevé
Le plus difficile n'est pas la syntaxe, mais la réflexion sur l'impact. Pour utiliser ces outils en toute sécurité, les développeurs doivent comprendre :
Une compréhension partielle est dangereuse. De nombreuses pannes proviennent de changements « presque corrects » :
La question n'est pas de savoir si l'infrastructure est importante. Elle l'est. La question est de savoir qui doit être responsable de quoi :
Les développeurs d'applications ne devraient pas avoir à réfléchir manuellement au nombre d'instances à exécuter ou à la politique IAM qui permet un simple appel de service, etc. Ce sont là des préoccupations propres à la plateforme. Les plateformes modernes devraient les gérer automatiquement et de manière transparente, avec des garde-fous plutôt que des choix. Les garde-fous réduisent les erreurs en supprimant les décisions qui n'ajoutent pas de valeur au produit.
Le processus idéal est presque ennuyeux. Écrivez du code. Envoyez-le à Git. Obtenez un environnement de travail qui correspond à la production. Ne déboguez pas l'indentation YAML à 16 heures un vendredi.
Le point commun entre ces problèmes n'est pas le choix des outils. C'est la manière dont les environnements sont construits.
Lorsque les environnements sont assemblés à partir de primitives de bas niveau, chaque changement devient une décision sur mesure. Chaque nouveau service, chaque nouvelle branche ou chaque nouveau réglage de configuration ajoute une variable supplémentaire que les développeurs doivent prendre en compte, analyser et mémoriser.
Au fil du temps, l'infrastructure cesse d'être une base et devient une charge constante pour la livraison. Les équipes passent plus de temps à maintenir les conditions de développement qu'à développer réellement.
Les équipes qui avancent plus rapidement n'utilisent pas nécessairement moins d'outils ou des stacks plus simples. Elles travaillent avec des environnements qui se comportent de manière prévisible, sont créés de la même manière à chaque fois et ne nécessitent pas que les développeurs réfléchissent aux mécanismes de l'infrastructure simplement pour livrer du code.
Lorsque les environnements sont standardisés, une grande partie de ce travail ne disparaît pas uniquement grâce à l'automatisation. Il disparaît parce qu'il cesse d'être une décision que les développeurs doivent prendre en premier lieu.
Et c'est là que le temps réel des développeurs est discrètement récupéré.
Upsun repose sur une idée simple : l'infrastructure doit suivre votre code, et non l'inverse. Au lieu de gérer des modules Terraform, des manifestes Kubernetes et des consoles de fournisseurs de cloud, vous définissez tout dans un seul fichier de configuration qui se trouve dans votre référentiel Git.
Upsun lie directement l'infrastructure à Git. Chaque branche devient un environnement complet et isolé : la base de données, les services et la configuration sont créés automatiquement lorsque vous effectuez un push et supprimés lorsque vous fusionnez ou supprimez.
Ce modèle simple élimine les problèmes qui affectent les configurations traditionnelles :
Clones de production instantanés avec des données réelles
Lorsque vous créez une branche d'un environnement, Upsun crée en quelques minutes un clone au niveau octet de tout : bases de données, fichiers, services, stockage et configuration. Votre environnement de test n'est pas une approximation. Il s'agit d'une production avec une URL différente.
Cela change la façon dont les équipes travaillent :
Boucles de livraison plus rapides grâce aux processus CLI et API
L'une des principales causes de ralentissement des processus cloud est l'attente. Attendre les pipelines, les environnements, les approbations ou simplement les résultats. Les processus basés sur CLI et API réduisent cette friction. Les actions qui devraient prendre quelques secondes prennent souvent des heures, car elles dépendent d'étapes manuelles ou de flux d'interface utilisateur.
Avec Upsun, les développeurs peuvent :
Les retours rapides modifient les comportements. Les développeurs livrent des modifications plus modestes, effectuent des tests plus fréquents et prennent moins de risques, car la récupération est simple.
Services gérés sans gestion
Dans les configurations cloud traditionnelles, l'ajout d'une base de données implique la configuration de rôles IAM, la mise en place de groupes de sécurité, la création de points de terminaison VPC et la gestion des identifiants de connexion. Chaque service multiplie la complexité.
Upsun rend les services déclaratifs. Ajoutez PostgreSQL, MariaDB, Redis, Elasticsearch, MongoDB, RabbitMQ, Kafka ou tout autre service pris en charge à votre fichier de configuration, et Upsun le provisionne automatiquement. Pas de politiques IAM. Pas de règles de réseau. Pas de chaînes de connexion à copier-coller : les identifiants sont injectés sous forme de variables d'environnement au moment de l'exécution.
Une évolutivité flexible sans approximations
Le trafic n'arrive pas à heure fixe. La mise à l'échelle manuelle nécessite de prévoir les tendances et d'ajuster les ressources à l'avance, ce qui conduit souvent à un surprovisionnement pendant les périodes creuses ou à une course effrénée pendant les pics.
La mise à l'échelle Upsun gère cela automatiquement :
Définissez vos seuils, et Upsun s'occupe du reste.
Stabilité de la configuration
Les configurations Terraform et Kubernetes nécessitent une maintenance constante. Les mises à niveau de version modifient la syntaxe. Les dépréciations obligent à réécrire le code. Les équipes passent des jours à mettre à jour le code d'infrastructure qui fonctionne déjà. Upsun adopte une approche différente : la stabilité de la configuration est un principe de conception, et non une réflexion après coup.
Les fichiers de configuration écrits il y a des années sont toujours déployés aujourd'hui. Les mises à niveau de la plateforme n'introduisent pas de changements radicaux. Le YAML que vous écrivez aujourd'hui fonctionnera de la même manière l'année prochaine et l'année suivante.
Migrer sans tout réécrire
La peur de la migration est normale. Les équipes imaginent des mois de refactorisation, de réécriture de pipelines et de déploiements interrompus. La réalité est plus simple qu'il n'y paraît.
Avec Upsun, le code de votre application reste le même. Votre langage, votre framework et vos dépendances ne changent pas. Vos outils CI continuent de fonctionner. Les changements concernent la définition de l'infrastructure, un fichier de configuration unique remplaçant les modules Terraform dispersés et les paramètres de la console cloud.
Si les primitives cloud font déjà partie de votre processus quotidien, la prochaine étape n'est pas d'apprendre à utiliser de nouveaux outils. Il s'agit plutôt de repérer les sources de perte de temps dans le processus de livraison : attente des environnements, réajustement des pipelines, remise en question de la configuration ou évitement des changements jugés risqués.
Les équipes qui réduisent ces frictions n'éliminent pas l'infrastructure. Elles standardisent le comportement des environnements, afin que les développeurs puissent se concentrer sur la livraison du code plutôt que sur la gestion des conditions.
Si vous cherchez à savoir comment des environnements standardisés et prévisibles s'intègrent dans votre processus, commencez par examiner comment vos environnements sont créés, révisés et réutilisés aujourd'hui, et où ils obligent les développeurs à prendre des décisions qu'ils ne devraient plus avoir à prendre.
Join our monthly newsletter
Compliant and validated