Aller au contenu principal

AWS : EKS

· 14 minutes de lecture

EKS est Kubernetes hébergé sur AWS. Le plan de contrôle (etcd, kube-apiserver, kube-controller-manager, kube-scheduler) est géré par AWS dans un compte isolé, non accessible. Ce qui reste à la charge de l'utilisateur : les nœuds workers, le réseau, le stockage, et les intégrations IAM.

EKS Auto Mode, disponible depuis fin 2024, étend ce périmètre géré. En plus du control plane, AWS prend en charge le provisionnement des nœuds (via Karpenter intégré), le driver de stockage EBS, et le contrôleur de load balancing. Pour quelqu'un qui vient de kubeadm on-premise, c'est l'équivalent d'avoir Karpenter, le EBS CSI Driver et le AWS Load Balancer Controller préconfigurés et maintenus par AWS.

Terraform : data sources

· 4 minutes de lecture

Terraform ne gère pas toujours l'intégralité d'une infrastructure. En pratique, une configuration s'appuie sur des ressources qui existent en dehors de son périmètre : une région cloud avec ses availability zones, un compte AWS avec son identifiant, des AMIs publiées par des tiers. Les data sources permettent d'interroger ces valeurs sans en prendre la gestion.

Terraform

· 10 minutes de lecture

Terraform est un outil d'Infrastructure as Code qui permet de décrire des ressources cloud sous forme de fichiers de configuration texte, puis de les créer, modifier et supprimer via une séquence de commandes. La configuration décrit un état désiré — quelles ressources doivent exister, avec quels attributs — et Terraform calcule les opérations nécessaires pour atteindre cet état depuis la situation actuelle.

Python : FastAPI — CRUD et authentification

· 9 minutes de lecture

Une API REST expose des ressources que des clients peuvent créer, lire, modifier et supprimer. La structuration de ces opérations — les codes HTTP à retourner, la forme des corps de requête et de réponse, la gestion des erreurs — détermine la qualité et la prévisibilité de l'interface. FastAPI fournit les outils pour formaliser cette structure, et son système de dépendances permet d'y adjoindre une couche d'authentification de manière composable.

Cet article suppose une connaissance de base de FastAPI. Pour une introduction au framework, voir l'article précédent sur FastAPI.

Python : SQLAlchemy

· 6 minutes de lecture

Écrire du SQL dans une application Python pose un problème récurrent : le code SQL est du texte, alors que les données manipulées sont des objets. À chaque lecture, il faut convertir une ligne de résultat en dictionnaire ou en objet. À chaque écriture, il faut construire une chaîne SQL en s'assurant de ne pas introduire d'injection. SQLAlchemy résout ce problème en faisant correspondre des classes Python à des tables de base de données, et des instances de ces classes à des lignes.

AWS : Docker sur EC2 et ECR

· 9 minutes de lecture

Déployer une application conteneurisée sur AWS implique de connecter plusieurs services : une instance EC2 qui fait tourner les conteneurs, ECR comme registre privé d'images, et RDS pour la base de données. Chacun de ces services a ses propres règles réseau, son modèle d'authentification, et ses bonnes pratiques. Cet article couvre l'ensemble du pipeline — de l'installation de Docker sur l'instance jusqu'au déploiement depuis un registre privé, en passant par l'authentification sans credentials en clair.

Kubernetes : déploiements sans interruption et optimisation des ressources

· 4 minutes de lecture

Mettre à jour une application en production sans interruption de service repose sur deux conditions : une stratégie de déploiement progressive qui maintient des pods sains pendant la transition, et des probes de santé correctement configurées pour que Kubernetes sache quand un pod est prêt à recevoir du trafic. À cela s'ajoutent les contraintes de ressources et de sécurité qui complètent une configuration production-ready.

Kubernetes : PodDisruptionBudget et haute disponibilité

· 5 minutes de lecture

Une application Kubernetes avec une seule réplica a une disponibilité structurellement limitée. Un crash de nœud, une maintenance planifiée ou une mise à jour du cluster suffit à provoquer une interruption totale. Trois mécanismes combinés permettent de construire une infrastructure résiliente : la réplication multi-nœud via TopologySpreadConstraints, la protection contre les disruptions planifiées via PodDisruptionBudget, et l'adaptation dynamique à la charge via HorizontalPodAutoscaler.

AWS : VPC

· 11 minutes de lecture

Un Virtual Private Cloud (VPC) résout un problème simple : isoler un ensemble de ressources AWS dans un réseau privé.

Sans VPC, toutes les ressources d'un compte AWS partagent le même réseau - pas d'isolation, pas de contrôle. Avec un VPC, chaque application obtient son propre espace réseau, contrôlé de A à Z.

La progression logique est :

  1. Créer un VPC → Bloc d'adressage isolé
  2. Diviser en subnets → Résilience multi-AZ et isolation logique
  3. Router le trafic → Contrôler où va chaque paquet (Internet, NAT, local)
  4. Sécuriser avec pare-feu → Refuser par défaut, autoriser explicitement
  5. Architecturer en tiers → Isoler web/app/db en couches distinctes

AWS : RDS, S3 et EBS

· 14 minutes de lecture

Le stockage est un élément critique de toute infrastructure cloud. AWS propose trois services de stockage avec des caractéristiques radicalement différentes : Amazon RDS pour les bases de données relationnelles managées, Amazon S3 pour le stockage d'objets hautement scalable, et Amazon EBS pour le stockage en bloc persistant.