Par Alexis Kinsella (CTO @Xebia) @ Gérome Egron (Consultant développeur & Scrum Master @ Xebia)
Toutes les vidéos des conférences seront disponibles sur Xebia.tv
26. Historiquement utilisé avec des stacks
préconfigurées Node.js ou Java
Grand succès historique au studio
#ContainerdayFR
Utilisation de Jenkins et l’Elastic Beanstalk
Command Line Interface (EB CLI) pour
construire & déployer les livrables
31. Supporte le déploiement d’applications multi-container
Utilise Elastic Container Service
Se charge de la gestion du cluster ECS, des définitions de
tâches et des exécutions
Multi-container-Docker
#ContainerdayFR
37. Fichiers de configuration au format JSON
Rendre répétable la création de vos infrastructures
Garder les définitions dans un gestionnaire de source
Donner la capacité de tester les déploiements
Pourquoi utiliser CloudFormation ?
#ContainerdayFR
51. Adapté pour les tâches à durée de vie longue
Load balance le traffic entre les instances
Rétablit les instances défaillantes
Services
#ContainerdayFR
52. Métriques enregistrées chaque minute pour une durée de
2 semaines
Métriques: CPUReservation, MemoryReservation,
CPUUtilization, MemoryUtilization
Dimensions: ClusterName, ServiceName
Possibilité d’envoyer des métriques customisées
Métriques & Cloud Watch
#ContainerdayFR
53. CloudFormation pour lier les services entre eux
Route53 avec une zone privée
Outils tiers de service discovery (Consul)
Overlay Networks (Weave)
Service Discovery
#ContainerdayFR
54. Service Discovery avec Route53
#ContainerdayFR
Task
Task
Task
Task
Task
Task
Task
Task
Task
Task
Task
Task
Application
router, e.g.
nginx
Route 53 private
zone, e.g.
example.com
ECS
Service
Internal ELB with
CNAME, e.g.
api.example.com
55. Scheduler de tâches ECS
Exécute les tâches une unique fois
Lancement de jobs batchés (Jusqu’à 10)
Permet de lancer les jobs en random (RunTask) ou placés
(StartTask)
Scheduling - Jobs de type Batch
#ContainerdayFR
56. Scheduler de services ECS
Gestion de la santé des tâches (Les relancent au besoin)
Scale Up & Scale Down
Availability Zone awareness
Scheduling - Jobs à durée de vie longue
#ContainerdayFR
57. Support des Elastic Load Balancing pour les services
Permet d’associer un port de l’ELB avec un port d’un
container
Si un healthcheck de LoadBalancer est en erreur, la tâche est
killée puis redémarrée
Load Balancing - Jobs à durée de vie longue
#ContainerdayFR
58. Lors de la mise à jour des tâches, il est possible de jouer avec
les paramètres de minimumHealthyPercent et
maximumPercent pour assurer des déploiements sans
coupure
Rolling Update - Jobs à durée de vie longue
#ContainerdayFR
60. Rolling Update - Jobs à durée de vie longue (min: 100%, max: 200%)
Instance 1 Instance 2 Instance 3 Instance 4Step 1
Task 2Task 1 Task 4Task 3
Instance 5 Instance 6 Instance 7 Instance 8
Instance 1 Instance 2 Instance 3 Instance 4Step 2
Task 2Task 1 Task 4Task 3
Instance 5 Instance 6 Instance 7 Instance 8
Task 6Task 5 Task 8Task 7
Instance 1 Instance 2 Instance 3 Instance 4Step 3 Instance 5 Instance 6 Instance 7 Instance 8
Task 8Task 7Task 6Task 5
Intéressant si le nombre d’instances ne peut être réduit
61. Blue-Green Deployments
Définir 2 services
Chaque service est associé
à un ELB
Chaque service est associé
à une même entrée Route53
avec une policy par poids
(Primaire: 100%, Secondaire: 0%)
Switcher les poids pour changer le routage DNS d’un service à l’autre
Task
Task
Task
Task
Task
Task
Route 53
record set
with
weighted
routing
policy
68. @ContainerDay16
Une belle journée s’achève !
Nous remercions tous les participants, speakers et
sponsors.
Retrouvez prochainement toutes les vidéos sur xebia.tv