Choisissez votre style avec
Docker & Amazon Web Services
Alexis Kinsella / Gérôme Egron
@ContainerDay16
Qu’est-ce que le studio ?
Usage du cloud au studio
#ContainerdayFR
Usage de Docker au studio
Docker pour :
#ContainerdayFR
Le développement
L’usine logicielle
L’infrastructure
Docker pour le développeur
Éviter les installations manuelles et
laborieuses
#ContainerdayFR
Clusteriser simplement
Utiliser plusieurs versions d’un outil
POCer facilement !
Fournir des mocks de services développés par
d’autres équipes
Mocks
#ContainerdayFR
Docker pour l’usine logicielle
#ContainerdayFR
Développeur
git push
Docker pour l’infrastructure
Le Mode Historique
#ContainerdayFR
Gestion directe des instances
Responsabilités du provisioning & du
monitoring
Instances EC2
3 Solutions simples
#ContainerdayFR
Utiliser l’AMI Amazon Linux officielle 2016.03
Installer manuellement Docker
Utiliser Docker Machine
Pet vs Cattle
Le Mode Orchestré
Automatiser les déploiements
Uniformiser les déploiements
Optimiser l’usage des ressources
Répond aux Besoins modernes
Docker
&
Orchestrateurs
Une solution ?
Distributions spécialisées
#ContainerdayFR
Les orchestrateurs
#ContainerdayFR
Setup de ces solutions à votre charge !
Problème
#ContainerdayFR
Elastic Beanstalk avec Docker
Elastic Container Service
2 alternatives
#ContainerdayFR
Elastic Beanstalk
#ContainerdayFR
Mono application
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
Mono & Multi container
2 modes
#ContainerdayFR
3 possibilités de déploiement :
● Dockerfile
● Dockerrun.aws.json
● Un Bundle de déploiement
Single-Container-Docker
#ContainerdayFR
Authentification
Référence de l’image à déployer
Configuration complémentaire:
● Ports
● Volumes
● Logging
Dockerrun.aws.json
#ContainerdayFR
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "janedoe/image",
"Update": "true"
},
"Ports": [
{
"ContainerPort": "1234"
}
],
"Volumes": [
{
"HostDirectory": "/var/app/mydb",
"ContainerDirectory": "/etc/mysql"
}
],
"Logging": "/var/log/nginx"
}
Dockerrun.aws.json
#ContainerdayFR
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
app1.elasticbeanstalk.com:80
app2.elasticbeanstalk.com:80
Instance 1 Instance 2
80
9000
Auto Scaling Group / ECS Cluster
Elastic Beanstalk Environment
Task 1-1 Task 1-2
Container 1 Container 2
Container 3
Container 1 Container 2
Container 3
La v2 supporte des instances multi-containers
Les images doivent être pré-construites
Dockerrun.aws.json v2
#ContainerdayFR
AMI optimisée pour ECS
Agent ECS pré-installé
Multi-container-Docker
#ContainerdayFR
Blue-Green Deployment
Multi Environment Management
Rolling Update
Easy Rollback
Pourquoi utiliser Elastic Beanstalk
avec Docker ?
#ContainerdayFR
Un mot sur CloudFormation
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
Demo Time
Elastic Container Service
Gérer soi-même un cluster est une tâche
complexe
Load-Balancing
Auto-Scaling
CloudWatch
Elastic Container Registry
Cloud Formation ...
Intégration avec les services AWS
#ContainerdayFR
Elastic Container Service
#ContainerdayFR
Virginie
Oregon
Californie
Irlande
Frankfort
Tokyo
Singapour
Sydney
Elastic Container Registry
Intégration End-to-End
Stockage sécurisé des images
Accès fiables aux images
Elastic Container Registry
#ContainerdayFR
Elastic Container Registry
#ContainerdayFR
Virginie
Oregon
Irlande
Elastic Container Service
Clusters, Task Definitions, Repositories
Elastic Container Service
#ContainerdayFR
Pas de Cluster / Orchestrateur à faire fonctionner
Contrôle & Monitoring via des API et la console
Scaling
Avantages
#ContainerdayFR
C’est avant tout un pool de resources
Clusters
#ContainerdayFR
Unités de travail
Regroupent des containers liés
Tournent sur des instances
Tasks
#ContainerdayFR
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
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
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
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
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
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
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
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
Rolling Update - Jobs à durée de vie longue (min: 50%, max: 100%)
#ContainerdayFR
Instance 1 Instance 2 Instance 3 Instance 4Step 1
Task 2Task 1 Task 4Task 3
Instance 1 Instance 2 Instance 3 Instance 4Step 2
Task 2Task 1 Task 4Task 3
Instance 1 Instance 2 Instance 3 Instance 4Step 3
Task 4Task 3Task 2Task 1
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
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
Gestion des logs avec ELK
#ContainerdayFR
Elastic Search Cluster
Container 1 Container 2
Container 3
ECS Instance
Container 4
Container 1 Container 2
Container 3
ECS Instance
Container 4
Gelf
Plugin
Logstash
Cloud Hybride
Direct Connect
VPN
Virtual Private Cloud
Intégrer un DataCenter avec AWS
Conclusion
Une solution pour chaque besoin
#ContainerdayFR
EC2
Beanstalk
ECS
Questions
@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

Contenu connexe

PDF
Paris Container Day 2016 : Architecture microservices hautement disponible au...
PDF
Paris Container Day 2016 : De la construction au déploiement d’applications...
PDF
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
PDF
Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...
PDF
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
PDF
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
PDF
12-Factor
PDF
Devoxx France - Où sont passés mes serveurs ?
Paris Container Day 2016 : Architecture microservices hautement disponible au...
Paris Container Day 2016 : De la construction au déploiement d’applications...
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
12-Factor
Devoxx France - Où sont passés mes serveurs ?

Tendances (20)

PDF
Kubernetes Meetup Paris #5 - Metriques applicatives k8s
PDF
Chroniques de formation : Scaling Code Labs avec Swarm et Compose
PDF
XebiCon'17 : Rex Akka dans une architecture microservice - Joachim Rousseau
PDF
XebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme Egron
PDF
Devoxx France : GruntJs In Action
PDF
OpenShift en production - Akram Ben Assi & Eloïse Faure
PPTX
Docker Geneva Meetup - Swarm
PPTX
REX Openshift à la Poste
PDF
Présentation docker et kubernetes
PDF
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
PPTX
Prometheus et kubernetes | AIOS SH
PDF
XebiCon'17 : Construire des applications résilientes en multi-cloud - Bastien...
PDF
kubernetes, pourquoi et comment
PDF
Déploiement et gestion d'un site web avec Rancher
PPTX
Petit-déjeuner OCTO - L'Infra au service de ses projets
PDF
Paris container day rex younited credit
PDF
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
PPTX
Docker le buzz est il justifié ?
PDF
20171026 Meetup devops aix marseille - Rancher 2.0
PDF
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
Kubernetes Meetup Paris #5 - Metriques applicatives k8s
Chroniques de formation : Scaling Code Labs avec Swarm et Compose
XebiCon'17 : Rex Akka dans une architecture microservice - Joachim Rousseau
XebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme Egron
Devoxx France : GruntJs In Action
OpenShift en production - Akram Ben Assi & Eloïse Faure
Docker Geneva Meetup - Swarm
REX Openshift à la Poste
Présentation docker et kubernetes
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Prometheus et kubernetes | AIOS SH
XebiCon'17 : Construire des applications résilientes en multi-cloud - Bastien...
kubernetes, pourquoi et comment
Déploiement et gestion d'un site web avec Rancher
Petit-déjeuner OCTO - L'Infra au service de ses projets
Paris container day rex younited credit
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker le buzz est il justifié ?
20171026 Meetup devops aix marseille - Rancher 2.0
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
Publicité

Similaire à Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Services (Rex studio Xebia) (20)

PDF
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...
PDF
Orchestrating Docker in production - TIAD Camp Docker
PDF
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
PPTX
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
PDF
Spring Boot & Containers - Do's & Don'ts
PDF
Être productif avec JHipster - Devoxx France 2017
PDF
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
PDF
Tadx - Présentation Conteneurisation
PDF
Déploiement, orchestration & sécurisation d’APIs
PPT
20090615 - Ch'ti JUG - Apache Maven
PPTX
Quoi de neuf à Devoxx France 2017 ?
PPTX
Docker, Pierre angulaire du continuous delivery ?
PDF
Kuberbetes 101: Unlocking containerisation’s full potential
PDF
What’s Next Replay! Lyon 2011 - G. Darmont
PDF
Infrastructure agile avec Cloudformation - AWS Summit 2016
PPTX
Industrialisation des développements logiciels
PPTX
Au coeur du framework .net 4.5.1
PPTX
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
PDF
Industrialisation PHP - Canal+
DOC
my_resume(fre)
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...
Orchestrating Docker in production - TIAD Camp Docker
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
Spring Boot & Containers - Do's & Don'ts
Être productif avec JHipster - Devoxx France 2017
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Tadx - Présentation Conteneurisation
Déploiement, orchestration & sécurisation d’APIs
20090615 - Ch'ti JUG - Apache Maven
Quoi de neuf à Devoxx France 2017 ?
Docker, Pierre angulaire du continuous delivery ?
Kuberbetes 101: Unlocking containerisation’s full potential
What’s Next Replay! Lyon 2011 - G. Darmont
Infrastructure agile avec Cloudformation - AWS Summit 2016
Industrialisation des développements logiciels
Au coeur du framework .net 4.5.1
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Industrialisation PHP - Canal+
my_resume(fre)
Publicité

Plus de Publicis Sapient Engineering (20)

PDF
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
PDF
Xebicon'18 - IoT: From Edge to Cloud
PDF
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
PDF
XebiCon'18 - Modern Infrastructure
PDF
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
PDF
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
PDF
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
PDF
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
PDF
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
PDF
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
PDF
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
PDF
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
PDF
XebiCon'18 - Le développeur dans la Pop Culture
PDF
XebiCon'18 - Architecturer son application mobile pour la durabilité
PDF
XebiCon'18 - Sécuriser son API avec OpenID Connect
PDF
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
PDF
XebiCon'18 - Spark NLP, un an après
PDF
XebiCon'18 - La sécurité, douce illusion même en 2018
PDF
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
PDF
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
Xebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
XebiCon'18 - Modern Infrastructure
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Spark NLP, un an après
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...

Dernier (7)

PPTX
Cours Electrotechnique L2 - Séance 6.pptx
PDF
Architecture logicielle et Modeles de Conception
PDF
COURS GCDs Chap 9.pdf tous les éléments.
PDF
Analyse technique approfondie pour la gestion des transports dans SAP S/4HANA...
PDF
IPTV Meilleur - Le Meilleur Abonnement IPTV en France pour 2025
PPTX
test pour la présentation foire de Chalôns V1
PDF
Frais et décompte dans SAP S/4HANA Transportation Management, S4TM3 Col26
Cours Electrotechnique L2 - Séance 6.pptx
Architecture logicielle et Modeles de Conception
COURS GCDs Chap 9.pdf tous les éléments.
Analyse technique approfondie pour la gestion des transports dans SAP S/4HANA...
IPTV Meilleur - Le Meilleur Abonnement IPTV en France pour 2025
test pour la présentation foire de Chalôns V1
Frais et décompte dans SAP S/4HANA Transportation Management, S4TM3 Col26

Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Services (Rex studio Xebia)