Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

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

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 68 Publicité

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

Télécharger pour lire hors ligne

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

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

Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

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

Publicité

Plus par Publicis Sapient Engineering (20)

Plus récents (20)

Publicité

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

  1. 1. Choisissez votre style avec Docker & Amazon Web Services Alexis Kinsella / Gérôme Egron @ContainerDay16
  2. 2. Qu’est-ce que le studio ?
  3. 3. Usage du cloud au studio
  4. 4. #ContainerdayFR
  5. 5. Usage de Docker au studio
  6. 6. Docker pour : #ContainerdayFR Le développement L’usine logicielle L’infrastructure
  7. 7. Docker pour le développeur
  8. 8. Éviter les installations manuelles et laborieuses #ContainerdayFR Clusteriser simplement Utiliser plusieurs versions d’un outil POCer facilement !
  9. 9. Fournir des mocks de services développés par d’autres équipes Mocks #ContainerdayFR
  10. 10. Docker pour l’usine logicielle
  11. 11. #ContainerdayFR Développeur git push
  12. 12. Docker pour l’infrastructure
  13. 13. Le Mode Historique
  14. 14. #ContainerdayFR Gestion directe des instances Responsabilités du provisioning & du monitoring Instances EC2
  15. 15. 3 Solutions simples #ContainerdayFR Utiliser l’AMI Amazon Linux officielle 2016.03 Installer manuellement Docker Utiliser Docker Machine
  16. 16. Pet vs Cattle
  17. 17. Le Mode Orchestré
  18. 18. Automatiser les déploiements Uniformiser les déploiements Optimiser l’usage des ressources Répond aux Besoins modernes
  19. 19. Docker & Orchestrateurs Une solution ?
  20. 20. Distributions spécialisées #ContainerdayFR
  21. 21. Les orchestrateurs #ContainerdayFR
  22. 22. Setup de ces solutions à votre charge ! Problème #ContainerdayFR
  23. 23. Elastic Beanstalk avec Docker Elastic Container Service 2 alternatives #ContainerdayFR
  24. 24. Elastic Beanstalk
  25. 25. #ContainerdayFR Mono application
  26. 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
  27. 27. Mono & Multi container 2 modes #ContainerdayFR
  28. 28. 3 possibilités de déploiement : ● Dockerfile ● Dockerrun.aws.json ● Un Bundle de déploiement Single-Container-Docker #ContainerdayFR
  29. 29. Authentification Référence de l’image à déployer Configuration complémentaire: ● Ports ● Volumes ● Logging Dockerrun.aws.json #ContainerdayFR
  30. 30. { "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
  31. 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
  32. 32. 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
  33. 33. La v2 supporte des instances multi-containers Les images doivent être pré-construites Dockerrun.aws.json v2 #ContainerdayFR
  34. 34. AMI optimisée pour ECS Agent ECS pré-installé Multi-container-Docker #ContainerdayFR
  35. 35. Blue-Green Deployment Multi Environment Management Rolling Update Easy Rollback Pourquoi utiliser Elastic Beanstalk avec Docker ? #ContainerdayFR
  36. 36. Un mot sur CloudFormation
  37. 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
  38. 38. Demo Time
  39. 39. Elastic Container Service
  40. 40. Gérer soi-même un cluster est une tâche complexe
  41. 41. Load-Balancing Auto-Scaling CloudWatch Elastic Container Registry Cloud Formation ... Intégration avec les services AWS #ContainerdayFR
  42. 42. Elastic Container Service #ContainerdayFR Virginie Oregon Californie Irlande Frankfort Tokyo Singapour Sydney
  43. 43. Elastic Container Registry
  44. 44. Intégration End-to-End Stockage sécurisé des images Accès fiables aux images Elastic Container Registry #ContainerdayFR
  45. 45. Elastic Container Registry #ContainerdayFR Virginie Oregon Irlande
  46. 46. Elastic Container Service
  47. 47. Clusters, Task Definitions, Repositories Elastic Container Service #ContainerdayFR
  48. 48. Pas de Cluster / Orchestrateur à faire fonctionner Contrôle & Monitoring via des API et la console Scaling Avantages #ContainerdayFR
  49. 49. C’est avant tout un pool de resources Clusters #ContainerdayFR
  50. 50. Unités de travail Regroupent des containers liés Tournent sur des instances Tasks #ContainerdayFR
  51. 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. 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. 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. 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. 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. 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. 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. 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
  59. 59. 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
  60. 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. 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
  62. 62. 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
  63. 63. Cloud Hybride
  64. 64. Direct Connect VPN Virtual Private Cloud Intégrer un DataCenter avec AWS
  65. 65. Conclusion
  66. 66. Une solution pour chaque besoin #ContainerdayFR EC2 Beanstalk ECS
  67. 67. Questions
  68. 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

×