Réflexions
Articles techniques et réflexions sur l'ingénierie pragmatique, l'IA appliquée et l'architecture logicielle.
Infrastructure as code ne veut pas dire Terraform. CDK, Pulumi, et la question qui décide vraiment
Vers 2019, « infrastructure as code » est devenu synonyme de Terraform dans la plupart des conversations, comme « recherche » veut dire Google. C'est un défa...
Des files sans Kafka : SQS, EventBridge, et le seul endroit où nous avons vraiment eu besoin d'un stream
Chaque plateforme atteint le moment où une requête en fait trop. Le handler de checkout envoie un email, met à jour l'index de recherche, notifie l'entrepôt,...
Limitation de débit : à la bordure, dans la passerelle ou dans l'application ? Trois couches, trois rôles
« Ajouter de la limitation de débit » est un ticket d'une ligne qui cache trois problèmes différents. Quelqu'un martèle la route de connexion depuis une seul...
Les health checks qui mentent : six façons pour votre service de dire « prêt » quand il ne l'est pas
Un health check est un contrat entre votre application et la chose qui lui route le trafic. Le routeur demande « peux-tu prendre une requête ? » et l'applica...
Des sauvegardes que vous n'avez jamais restaurées ne sont pas des sauvegardes. Un exercice de restauration, chronométré.
Chaque magasin de données AWS a des sauvegardes activées par défaut ou par une case à cocher. Aurora conserve des sauvegardes automatiques. DynamoDB a la réc...
Un runbook d'incident pour une équipe sans astreinte
Les grandes entreprises ont des rotations d'astreinte, des commandants d'incident, des matrices de sévérité et un budget d'outillage à la hauteur. Une équipe...
Faire tourner le mot de passe de la base de données sans interruption : ce que vous repoussez depuis longtemps
Tout le monde est d'accord pour dire que le mot de passe de la base de données devrait tourner. Presque personne ne le fait, et la raison n'est pas la paress...
WAF pour une application Next.js : les règles managées qui bloquent du trafic légitime, et ce que nous en avons fait
Activer AWS WAF devant une application web, c'est un construct CDK et quelques cases à cocher de groupes de règles managées. C'est aussi, d'après notre expér...
Les secrets en CDK : Secrets Manager, Parameter Store, et jamais rien dans le template
Un template CloudFormation est un fichier texte. Il est stocké par CloudFormation, il est dans cdk.out sur le disque de chaque développeur, il est dans les l...
Réservé, Savings Plans, ou rien : quand un engagement d'un an vaut vraiment le coup à petite échelle
AWS vous accorde jusqu'à 72 % de remise sur le calcul si vous promettez de continuer à payer pendant trois ans. Le chiffre est réel et il figure dans toutes ...
La NAT Gateway est la ligne la plus chère que vous ne voyez pas
Elle n'est pas sur la facture. Pas en tant que « NAT Gateway », en tout cas. Elle est sous EC2-Other, un type d'usage appelé NatGateway-Hours à côté d'un aut...
Les déploiements sans interruption ne sont pas une fonctionnalité de la plateforme. C'est une discipline de migration de schéma.
Toute plateforme de conteneurs vous dira qu'elle fait des déploiements sans interruption. App Runner, Fargate, Cloud Run, Kubernetes : toutes démarrent de no...
Dev, staging et prod dès le premier jour : pourquoi une équipe de trois ne devrait pas attendre
« On séparera les environnements plus tard, quand on aura des utilisateurs. » Nous avons entendu cette phrase de chaque petite équipe avec laquelle nous avon...
Vous n'avez pas besoin de Kubernetes. Vous avez besoin d'un bon Dockerfile et d'un endroit pour le faire tourner.
Tous les quelques mois, une équipe de trois à cinq ingénieurs nous demande si elle devrait passer à Kubernetes. L'application, c'est un front-end web, une AP...
Ce que coûte vraiment l'observabilité managée à 100 Go par jour : Datadog, Grafana Cloud, auto-hébergé
La facture d'observabilité est celle qui surprend deux fois. La première, quand elle arrive et qu'elle représente un tiers de la facture de calcul. La second...
Des alertes qui ne savent pas dans quel cloud elles tournent
Chaque cloud vous vend des alarmes. CloudWatch Alarms, règles d'alerte Azure Monitor, politiques d'alerte Cloud Monitoring : chacune est préconfigurée, chacu...
Vos traces non plus ne devraient pas savoir dans quel cloud elles tournent
Nous avons défendu l'idée que les logs applicatifs ne devraient pas appartenir au cloud : l'application émet, un agent y estampille le cloud, un backend neut...
Même tag, aucun déploiement : pourquoi cdk deploy avec une image inchangée ne fait rien, et le script de 300 lignes que nous avons écrit autour
Deux histoires sur le même pipeline de déploiement, racontées ensemble parce que la seconde existe à cause de la première. La première est un bug qui n'en es...
Politiques de protection des données CloudWatch : masquer les PII avant qu'elles n'atterrissent dans vos logs
Un ingénieur support a demandé un log de debug sur une route d'API, « juste pour une semaine », pour traquer un bug dans la validation d'adresse. La ligne de...
Aurora Serverless v2 après six mois : le plancher de 0,5 ACU et le mythe de l'auto-pause
Aurora Serverless v2 se vend en une phrase : payez la capacité de base de données que vous utilisez, ajustée en fractions de seconde. Six mois d'exploitation...
La limite de 500 ressources de CloudFormation, et comment nous avons découpé un stack sans perdre de données
cdk deploy a échoué avec un message que nous n'avions jamais vu : Template format error: Number of resources, 503, is greater than maximum allowed, 500. Rien...
GitHub OIDC à la place des access keys : un rôle de déploiement par compte AWS, zéro secret dans la CI
Il y a une clé d'accès AWS à longue durée de vie dans les secrets de votre dépôt GitHub. Elle a été créée par la personne qui a monté le premier pipeline, el...
Des environnements de preview par pull request sur AWS, sans Vercel
La revue de code a un plafond. Un relecteur peut lire un diff et raisonner dessus, mais il ne peut pas cliquer dessus. Pour un produit avec une interface, le...
La facture AWS d'une startup de trois personnes, ligne par ligne
Tout le monde publie des diagrammes d'architecture. Personne ne publie la facture. C'est dommage, parce que la facture est l'endroit où l'architecture devien...
Vos logs ne devraient pas savoir dans quel cloud ils tournent
Il est 02 h 40 et le pipeline de commandes perd des événements. L'API tourne sur EKS. Le worker qui enrichit les commandes a migré vers GKE le trimestre dern...
AWS App Runner après six mois en production : un bilan honnête
Nous faisons tourner trois applications Next.js sur AWS App Runner depuis mars 2026, réparties sur des comptes de dev, de staging et de production, pour une ...
Le jour où CloudFormation a supprimé nos services App Runner : un post-mortem et les quatre filets de sécurité que nous avons ajoutés
Le 30 avril 2026, une simple exécution de cdk deploy depuis un ordinateur portable a supprimé tous les services App Runner de notre environnement de dev. Auc...
Trois comptes AWS, une seule base de code CDK : comment nous empêchons dev, staging et prod de se contaminer mutuellement
La plupart des articles AWS de ce blog ont jusqu'ici été des guides : ce que fait un service, comment le mettre en place, ce qu'il coûte. Celui-ci est différ...
Comment nous construisons le Cloud & DevOps — une infrastructure fiable qui évolue
AWS, Azure, Docker, pipelines CI/CD. Nous configurons votre infrastructure pour la fiabilité, la sécurité et l'auto-scaling.
Deployer des applications conteneurisees sur AWS ECS Fargate : Guide pratique
L'exploitation de conteneurs en production exige une orchestration fiable, une mise a l'echelle fluide et un minimum de charge operationnelle. AWS Elastic Co...