SlideShare uma empresa Scribd logo
1 de 59
Baixar para ler offline
#DevoxxFR
Test driven infrastructure
avec Docker
Séven Le Mesle @slemesle
1
#DevoxxFR
A propos de moi
2
@slemesle
#DevoxxFR
A propos de moi
2
@slemesle
#DevoxxFR 3#DevoxxFR
@yeswescale
http://blog.wescale.fr
#DevoxxFR
Dropship+ @ Canal+
4
#DevoxxFR
Dropship+ @ Canal+
5
#DevoxxFR
Dropship+ @ Canal+
5
Dropship+
#DevoxxFR
Dropship+ @ Canal+
5
Dropship+
#DevoxxFR
Dropship+ @ Canal+
5
Dropship+
#DevoxxFR
Dropship+ @ Canal+
5
Dropship+
#DevoxxFR
Provisioning basé sur le rôle
6
#DevoxxFR
Quelques stats
7
Infrastructure:
~ 200 instances AWS
~ 50 instances VmWare
~ 50 serveurs physiques
Salt:
~ 30 rôles d’infrastructure
~ 300 fichiers source
#DevoxxFR
Tests ?
8
#DevoxxFR
Tests ?
8
#DevoxxFR
Déploiement continu
9
#DevoxxFR
Déploiement continu
9
#DevoxxFR
Déploiement continu
9
#DevoxxFR
En développement
10
#DevoxxFR
En développement
10
#DevoxxFR
Solution
11
#DevoxxFR
Tester la gestion de conf
12
#DevoxxFR
Périmètre
13
#DevoxxFR
Périmètre
14
#DevoxxFR
Inception
15
#DevoxxFR
Inception
15
Provisioning
#DevoxxFR
Inception
15
Provisioning Assertions
#DevoxxFR
Quelle infrastructure ?
16
#DevoxxFR
Quelle infrastructure ?
16
#DevoxxFR
Tester avec Docker
17
#DevoxxFR
Containers
18
FROM centos:7.0.1406
salt-minion
salt-master
#DevoxxFR
Framework de test
19
grainsasserts
role
#DevoxxFR
Framework de test
19
grainsasserts
role
#DevoxxFR
Framework de test
19
salt-minion
salt config
salt grains
salt sources
run
grainsasserts
role
#DevoxxFR
exec state.highstate
Framework de test
19
salt-minion
grainsasserts
role
#DevoxxFR
exec state.highstate
exec state.sls asserts
Framework de test
19
salt-minion
grainsasserts
role
#DevoxxFR
Migration Python
20
#DevoxxFR
Framework de test
21
grainsasserts
role
#DevoxxFR
Framework de test
21
grainsasserts
role
#DevoxxFR
exec state.highstate
exec state.sls asserts
Framework de test
21
salt-minion
salt config
salt grains
salt sources
grainsasserts
role
#DevoxxFR
Framework de test
21
grainsasserts
role
unittest report
#DevoxxFR
Trop éloigné de la réalité
22
#DevoxxFR
Master / Minion
23
unittest
#DevoxxFR
Master / Minion
23
unittest
docker run
salt sources
salt-master
#DevoxxFR
Master / Minion
23
unittest
docker run
salt sources
salt-master
grainsasserts
role
#DevoxxFR
Master / Minion
23
unittest
docker run
salt sources
salt-master
salt-minion
salt config
salt grains
docker run
grainsasserts
role
#DevoxxFR
Master / Minion
23
unittest
docker run
salt sources
salt-master
salt-minion
salt config
salt grains
grainsasserts
role
exec state.highstate
#DevoxxFR
Master / Minion
23
unittest
salt sources
salt-master
salt-minion
salt config
salt grains
grainsasserts
role
exec state.highstate
exec state.sls asserts
#DevoxxFR
Master / Minion
23
unittest
grainsasserts
role
unittest report
#DevoxxFR
TDD
24
#DevoxxFR
TDD
24
grainsasserts
role XXX
Test
#DevoxxFR
TDD
24
grainsasserts
role XXX
Test
#DevoxxFR
TDD
24
grainsasserts
role XXX
Test
…states
role XXX
sources
#DevoxxFR
Live Demo
25
https://github.com/WeScale/salt-docker-integration
#DevoxxFR
Limites
26
#DevoxxFR
Limites
26
#DevoxxFR
Limites
26
#DevoxxFR
Limites
26
#DevoxxFR
Limites
26
#DevoxxFR
Merci
@slemesle
@yeswescale
https://github.com/WeScale/salt-docker-integration
27

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Алексей Петров "Dockerize Me: Distributed PHP applications with Symfony, Dock...
Алексей Петров "Dockerize Me: Distributed PHP applications with Symfony, Dock...Алексей Петров "Dockerize Me: Distributed PHP applications with Symfony, Dock...
Алексей Петров "Dockerize Me: Distributed PHP applications with Symfony, Dock...
 
Drone your Ansible
Drone your AnsibleDrone your Ansible
Drone your Ansible
 
Ansible 實戰:top down 觀點
Ansible 實戰:top down 觀點Ansible 實戰:top down 觀點
Ansible 實戰:top down 觀點
 
Ansible not only for Dummies
Ansible not only for DummiesAnsible not only for Dummies
Ansible not only for Dummies
 
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
 
Ansible Network Automation session1
Ansible Network Automation session1Ansible Network Automation session1
Ansible Network Automation session1
 
Dockerizing a Symfony2 application
Dockerizing a Symfony2 applicationDockerizing a Symfony2 application
Dockerizing a Symfony2 application
 
Dockerize Me: Distributed PHP applications with Symfony, Docker, Consul and A...
Dockerize Me: Distributed PHP applications with Symfony, Docker, Consul and A...Dockerize Me: Distributed PHP applications with Symfony, Docker, Consul and A...
Dockerize Me: Distributed PHP applications with Symfony, Docker, Consul and A...
 
Ansible Oxford - Cows & Containers
Ansible Oxford - Cows & ContainersAnsible Oxford - Cows & Containers
Ansible Oxford - Cows & Containers
 
Ex407
Ex407Ex407
Ex407
 
CI/CD Using Ansible and Jenkins for Infrastructure
CI/CD Using Ansible and Jenkins for InfrastructureCI/CD Using Ansible and Jenkins for Infrastructure
CI/CD Using Ansible and Jenkins for Infrastructure
 
Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014
 
Test-Driven Infrastructure with Puppet, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Puppet, Test Kitchen, Serverspec and RSpecTest-Driven Infrastructure with Puppet, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Puppet, Test Kitchen, Serverspec and RSpec
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
 
Getting started with Ansible
Getting started with AnsibleGetting started with Ansible
Getting started with Ansible
 
Testing for Ops: Going Beyond the Manifest - PuppetConf 2013
Testing for Ops: Going Beyond the Manifest - PuppetConf 2013Testing for Ops: Going Beyond the Manifest - PuppetConf 2013
Testing for Ops: Going Beyond the Manifest - PuppetConf 2013
 
Introduction to Ansible (Pycon7 2016)
Introduction to Ansible (Pycon7 2016)Introduction to Ansible (Pycon7 2016)
Introduction to Ansible (Pycon7 2016)
 
Bootstrapping Puppet and Application Deployment - PuppetConf 2013
Bootstrapping Puppet and Application Deployment - PuppetConf 2013Bootstrapping Puppet and Application Deployment - PuppetConf 2013
Bootstrapping Puppet and Application Deployment - PuppetConf 2013
 
Ansible Best Practices - July 30
Ansible Best Practices - July 30Ansible Best Practices - July 30
Ansible Best Practices - July 30
 
Install openstack
Install openstackInstall openstack
Install openstack
 

Destaque

Getting started with salt stack
Getting started with salt stackGetting started with salt stack
Getting started with salt stack
Suresh Paulraj
 
Salty OPS – Saltstack Introduction
Salty OPS – Saltstack IntroductionSalty OPS – Saltstack Introduction
Salty OPS – Saltstack Introduction
Walter Liu
 

Destaque (9)

TestingAR VII - Siete Magníficos - Matias Lespiau - Introducción a docker pa...
TestingAR VII - Siete Magníficos - Matias Lespiau - Introducción a docker pa...TestingAR VII - Siete Magníficos - Matias Lespiau - Introducción a docker pa...
TestingAR VII - Siete Magníficos - Matias Lespiau - Introducción a docker pa...
 
Introduction to Systems Management with SaltStack
Introduction to Systems Management with SaltStackIntroduction to Systems Management with SaltStack
Introduction to Systems Management with SaltStack
 
Understanding salt modular sub-systems and customization
Understanding salt   modular sub-systems and customizationUnderstanding salt   modular sub-systems and customization
Understanding salt modular sub-systems and customization
 
Using SaltStack to orchestrate microservices in application containers at Sal...
Using SaltStack to orchestrate microservices in application containers at Sal...Using SaltStack to orchestrate microservices in application containers at Sal...
Using SaltStack to orchestrate microservices in application containers at Sal...
 
Getting started with salt stack
Getting started with salt stackGetting started with salt stack
Getting started with salt stack
 
Salt stack
Salt stackSalt stack
Salt stack
 
Salty OPS – Saltstack Introduction
Salty OPS – Saltstack IntroductionSalty OPS – Saltstack Introduction
Salty OPS – Saltstack Introduction
 
Integration testing for salt states using aws ec2 container service
Integration testing for salt states using aws ec2 container serviceIntegration testing for salt states using aws ec2 container service
Integration testing for salt states using aws ec2 container service
 
Docker at Deview 2013
Docker at Deview 2013Docker at Deview 2013
Docker at Deview 2013
 

Semelhante a Test driven infrastructure avec Docker

Semelhante a Test driven infrastructure avec Docker (20)

Boîte à outils d'investigation des soucis de mémoire
Boîte à outils d'investigation des soucis de mémoireBoîte à outils d'investigation des soucis de mémoire
Boîte à outils d'investigation des soucis de mémoire
 
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationThe Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
 
Devoxx France 2018 GraphQL vs Traditional REST API
Devoxx France 2018 GraphQL vs Traditional REST APIDevoxx France 2018 GraphQL vs Traditional REST API
Devoxx France 2018 GraphQL vs Traditional REST API
 
DNS hijacking using cloud providers – No verification needed
DNS hijacking using cloud providers – No verification neededDNS hijacking using cloud providers – No verification needed
DNS hijacking using cloud providers – No verification needed
 
On demand-block-storage-for-docker
On demand-block-storage-for-dockerOn demand-block-storage-for-docker
On demand-block-storage-for-docker
 
DevOps in PHP environment
DevOps in PHP environment DevOps in PHP environment
DevOps in PHP environment
 
Pulsar 101 at devoxx
Pulsar 101 at devoxxPulsar 101 at devoxx
Pulsar 101 at devoxx
 
Construire son JDK en 10 étapes
Construire son JDK en 10 étapesConstruire son JDK en 10 étapes
Construire son JDK en 10 étapes
 
Voxxed Banff 2018 : Containers & Integration tests
Voxxed Banff 2018 : Containers & Integration testsVoxxed Banff 2018 : Containers & Integration tests
Voxxed Banff 2018 : Containers & Integration tests
 
Docker for Fun and Profit, Devoxx 2014
Docker for Fun and Profit, Devoxx 2014Docker for Fun and Profit, Devoxx 2014
Docker for Fun and Profit, Devoxx 2014
 
Corwin on Containers
Corwin on ContainersCorwin on Containers
Corwin on Containers
 
Docker Tooling for Java EE Developers
Docker Tooling for Java EE  DevelopersDocker Tooling for Java EE  Developers
Docker Tooling for Java EE Developers
 
Patterns & Antipatterns in Docker Image Lifecycle
Patterns & Antipatterns in Docker Image LifecyclePatterns & Antipatterns in Docker Image Lifecycle
Patterns & Antipatterns in Docker Image Lifecycle
 
The new DeVoxxEd websites with JHipster, Angular & Kubernetes
The new DeVoxxEd websites with JHipster, Angular & KubernetesThe new DeVoxxEd websites with JHipster, Angular & Kubernetes
The new DeVoxxEd websites with JHipster, Angular & Kubernetes
 
Le Streaming d'API : pourquoi et comment transformer vos APIs statiques en do...
Le Streaming d'API : pourquoi et comment transformer vos APIs statiques en do...Le Streaming d'API : pourquoi et comment transformer vos APIs statiques en do...
Le Streaming d'API : pourquoi et comment transformer vos APIs statiques en do...
 
Docker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server ContainersDocker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server Containers
 
Next Generation DevOps in Drupal: DrupalCamp London 2014
Next Generation DevOps in Drupal: DrupalCamp London 2014Next Generation DevOps in Drupal: DrupalCamp London 2014
Next Generation DevOps in Drupal: DrupalCamp London 2014
 
DevOps In Action
DevOps In ActionDevOps In Action
DevOps In Action
 
How to deploy PHP projects with docker
How to deploy PHP projects with dockerHow to deploy PHP projects with docker
How to deploy PHP projects with docker
 
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
 

Último

Último (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Test driven infrastructure avec Docker