SlideShare una empresa de Scribd logo
1 de 80
Descargar para leer sin conexión
Codons notre Infrastructure
Qui suis-je
● Oswald De Riemaecker

● CEO / Co-Founder de Continuous S.A.
o Agile Delivery
o Editeur PaaS continuousphp

● Agiliste, Architecte Cloud
Culture Agile
● Amélioration au niveau de l’équipe de développement
o Meilleure collaboration
o Amélioration continue
o Toutes les compétences/Pas de silos
o Framework de tests et intégration continue

● Amélioration au niveau gestion de produit Agile
o Développement itératifs
o Découpage en fonctionnalités
o Maximisation de la valeur
o MVP/Lean Startup
Culture DevOps
● Agilité + Opération

● 3 piliers principaux:
o Infrastructure as Code (IaC)
o Livraisons/Déploiement Continue
o Culture de la coopération
Infrastructure as Code
● Coder les ressources des machines de l'infrastructure

● Coder et versioner l’infrastructure

● Tester les ressources et l’infrastructure

● Reconstruire les machines et l’infrastructure à la demande
Organisation
Mon Infrastructure Votre Infrastructure Leur Infrastructure
Locale
Environnements
Development Testing Staging Production
Roles
Load Balancer
Serveurs Application
Serveurs Indexes
Serveurs de base de données
Ressources
● Une ressource représente une partie du système et sa configuration

Apache MySql Solr
Complexité
● Maintenir une infrastructure est complexe
● Elle vit et évolue

o Ajouts de ressources
o Mise à jour ressources
o Patches de Sécurité
o Changer/Mise à jour d’OS
o ...
Outils
● Répondre à cette problématique
Chef
● Chef est un outil open-source
● Gestion l’automatisation de systèmes et d’infrastructure.
● Chef est basé sur Ruby
Chef
● Les nodes représentes les serveurs dans votre infrastructure

● Les nodes peuvent être:
o serveurs physique
o serveurs virtuel
o instances dans le cloud

● Chaque nodes appartient à:
o une organisation
o un environnement
o a un ou plusieurs rôles
Node
NodeNodeNode
Node Node
Chef Client / Serveur
Node
NodeNodeNode
Node Node
Chef
Serveur
chef-client
Ressources
Cookbooks Chef
● Les cookbooks contiennent les artefacts de nos ressources
Recipes
Templates
Files
Attributs Etats des ressources
Cookbooks Chef
● Les cookbooks contiennent les artefacts de nos ressources
Recipes
Templates
Files
Attributs Etats des ressources
Installation/configuration des ressources
Cookbooks Chef
● Les cookbooks contiennent les artefacts de nos ressources
Recipes
Templates
Files
Attributs Etats des ressources
Installation/configuration des ressources
Templates de configuration
Cookbooks Chef
● Les cookbooks contiennent les artefacts de nos ressources
Recipes
Templates
Files
Attributs Etats des ressources
Installation/configuration des ressources
Templates de configuration
Fichiers de configuration/script
L’approvisionnement
(provisioning)
Approvisionnement de Role


Node
Role: Base de
données
Chef
Serveur
Hey, je suis du rôle “Base de données”
et mon environnement “Development”
Chef clientRecipes
Templates
Attributs
Files
Cookbook Recipes
Templates
Attributs
Files
Cookbook
Exemple d’infrastructure
● Serveur Web - Apache 2.4/PHP-5.5
● Serveur de base de donnée - MySql
● Serveur d’index - Solr Web
Serveur
Solr
mysql
La communauté Chef
Analyse du Cookbook Apache
● Support plusieurs plates-formes
● Support version d’apache
● Attributs:
o dir, docroot_dir
o log_dir, error_log, access_log
o default_modules
o version
o ...
Support et dépendances Cookbook
Recipes
Templates
Attributs
Files
Metadata
Dépendance(s)
Les attributs
Recipes
Templates
Attributs
Files
Metadata
Les recettes
Recipes
Templates
Attributs
Files
Metadata
cd recipes
ls -l
default.rb
iptables.rb
logrotate.rb
mpm_prefork.rb
mpm_worker.rb
mod_php5.rb
mod_*.rb
Les templates
Recipes
Templates
Attributs
Files
Metadata
Les fichiers
Recipes
Templates
Attributs
Files
Metadata
cd files/default/
ls -l
apache2_module_conf_generate.pl
Codons nos cookbooks
Rôle: Serveur Web / Env: Production
Apache / php-5.5
Recipes
Templates
Attributs
Files
Metadata
Apache2
Recipes
Templates
Attributs
Files
Metadata
iptables
Recipes
Templates
Attributs
Files
Metadata
logrotate
PRODUCTION: Attributs de remplacement
Node Rôle: WebServer
R
O
L
E
Chef Développement Kit
● Installation de chef-dk

o Berkself
o Knife
o ChefSpec
o Test-Kitchen
o Serverspec
o Foodcritic
● knife cookbook create mon_org-webserver
Création de notre cookbook webserver
Ajout des dépendances
Dépendance(s)
● berks init
Initialisation avec Berkshelf
● berks install
Téléchargement des dépendances
● vi attributes/defaults.rb
Les attributs
Les recettes
Testons notre cookbook
● kitchen list
Testons notre cookbook
● kitchen verify default-ubuntu-1404
● knife cookbook upload mon_org-webserver
Versioner et uploader nos cookbook
Répétons l’exercice pour les roles base
de donnée et d’indexes
Approvisionnement de notre Sandbox
Development
Rôle: Sandbox / Environnement: Dev
mon_org-webserver
mon_org-index
mon_org-database
Composer NodeJs
Recipes
Templates
Attributs
Files
Metadata
Recipes
Templates
Attributs
Files
Metadata
Recipes
Templates
Attributs
Files
Metadata
Recipes
Templates
Attributs
Files
Metadata
Recipes
Templates
Attributs
Files
Metadata
mon_org-webserver mon_org-Index mon_org-database composer nodejs
DEVELOPPMENT: Attributs de remplacement
Node Rôle: Sandbox
R
O
L
E
Création de notre cookbook
● knife cookbook create mon_org-sanbox
Ajout des dépendances
Dépendances
Téléchargement des dépendances
Les recettes
● vi recipes/default.rb
● vi attributes/default.rb
Les attributs
Attributs
Testons notre cookbook
● Cookbooks par rôle de l’infrastructure
● Cookbook spécifique à l’environment de développement
o utilise les cookbooks des rôles de l’infrastructure

● Reproduction fiable de l’approvisionnement des rôles de l’infrastructure:

o Codé
o Versionné
o Testé
o Déployé
Approvisionnement Résumé
Créons nos environnements
Locale
Créons notre environnement de development
Development
Vagrant
● Créer et configurer des environnements de développement

● Providers (Drivers)
o Virtualbox/VMWare
o Docker
o Instance EC2

● Approvisionnement avec:
o Chef Client/Solo
o Docker
o Puppet Agent
o …
Vagrantfile
Vagrant up
Infrastructure Immuable
Infrastructure Immuable
● Avantages:
o Economie du temps perdu lors de l’approvisionnement
o Plus de maintenance de serveurs => Remplacement
o Image machine statique pré-construites et testées
o Retour aisé à une version précédente
V1
V2
V3
Data
Packer
● Packer

o Builders (Amazon AMI, Microsoft Azure, DigitalOcean, Docker,
Google Compute Engine, …)
o Provisioners (Shell script, Chef client, Ansible, Puppet, Salt, …)
o Post-processor (Docker-push, Vagrant, Atlas, …)
Packer Config
Builders
Packer Config
Provisioners
● packer build packer.json
Créons nos image
Créons nos image
Répétons l’exercice pour le rôle index
Créons notre environnement de Production/Staging
AWS CloudFormation
● Manière simple de créer et gérer un regroupement de ressources AWS

● CloudFormation s’occupe des dépendances

● Une fois les ressources déployées, vous pouvez les modifier et les mettre à jour de
manière prévisible et contrôlée

● AWS CloudFormation prend en charge les ressources suivants :

o Auto Scaling/Elastic Load Balancing
o VPC
o EC2
o RDS
o IAM
o …
VPC
Subnet Privé
Subnet Public
JSON
Autoscale
Web Web Web
Autoscale
Index Index Index
Structure d’un CF
Structure d’un CF
Structure d’un CF
Structure d’un CF
Structure d’un CF
Structure d’un CF
Créons notre pile web serveur
Créons notre pile web serveur
Créons notre pile web serveur
Créons notre pile web serveur
● Approvisionnement de nos machines
● Infrastructure Immuable
o Images statiques
● Utilisation Images dans Cloud Formation AWS

● Paramètre d’environnement Cloud Formation

● Nous pouvons maintenant utiliser nos artefacts pour construire nos
différents environments
Infrastructure Résumé
Orchestration de l’infrastructure
Testing
Development
Vagrant
Feature branch
develop branch
revision branch
Staging
Production
CI/CD
prepare test package
prepare test package
prepare test package
Questions ?
Thank you
oswald_odr
oswald@continuousphp.com

Más contenido relacionado

La actualidad más candente

La actualidad más candente (16)

[DevTestday] Azure service fabric - Radoine Douhou
[DevTestday] Azure service fabric -  Radoine Douhou[DevTestday] Azure service fabric -  Radoine Douhou
[DevTestday] Azure service fabric - Radoine Douhou
 
Windows HPC server sur Windows Azure (100
Windows HPC server sur Windows Azure (100Windows HPC server sur Windows Azure (100
Windows HPC server sur Windows Azure (100
 
Sql saturday 323 paris 2014 azure migration iaas et paas
Sql saturday 323 paris 2014   azure migration iaas et paasSql saturday 323 paris 2014   azure migration iaas et paas
Sql saturday 323 paris 2014 azure migration iaas et paas
 
[DevTestday] Azure devtestlab - Mikael Krief
[DevTestday] Azure devtestlab - Mikael Krief[DevTestday] Azure devtestlab - Mikael Krief
[DevTestday] Azure devtestlab - Mikael Krief
 
SQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
SQLSaturday Paris 2014 - Et hop, ma base migre dans AzureSQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
SQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
 
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)
 
Comment réussir son projet en Angular 1.5 ?
Comment réussir son projet en Angular 1.5 ?Comment réussir son projet en Angular 1.5 ?
Comment réussir son projet en Angular 1.5 ?
 
DevOps Day - Infrastructure As A Code
DevOps Day - Infrastructure As A CodeDevOps Day - Infrastructure As A Code
DevOps Day - Infrastructure As A Code
 
Aperçu de RequireJS
Aperçu de RequireJSAperçu de RequireJS
Aperçu de RequireJS
 
[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte
[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte
[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte
 
Play Framework - Toulouse JUG - nov 2011
Play Framework - Toulouse JUG - nov 2011Play Framework - Toulouse JUG - nov 2011
Play Framework - Toulouse JUG - nov 2011
 
Journées SQL Server - Optimisation SQL Server pour SharePoint
Journées SQL Server - Optimisation SQL Server pour SharePointJournées SQL Server - Optimisation SQL Server pour SharePoint
Journées SQL Server - Optimisation SQL Server pour SharePoint
 
SQL in the Azure World
SQL in the Azure WorldSQL in the Azure World
SQL in the Azure World
 
Déploiement dans Azure depuis Visual Studio Team Services
Déploiement dans Azure depuis Visual Studio Team ServicesDéploiement dans Azure depuis Visual Studio Team Services
Déploiement dans Azure depuis Visual Studio Team Services
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation Conteneurisation
 
Ez18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellEz18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshell
 

Destacado

Estudio del contenido laboral del Real Decreto-Ley 8/2014 de 4 de julio.
Estudio del contenido laboral del Real Decreto-Ley 8/2014 de 4 de julio. Estudio del contenido laboral del Real Decreto-Ley 8/2014 de 4 de julio.
Estudio del contenido laboral del Real Decreto-Ley 8/2014 de 4 de julio.
Universidad Autónoma de Barcelona
 
Sambre - La mer du purgatoire
Sambre - La mer du purgatoireSambre - La mer du purgatoire
Sambre - La mer du purgatoire
Le Point
 
Comparación normativa 1998 y 2012. Contrato para la formación y el aprendizaje.
Comparación normativa 1998 y 2012. Contrato para la formación y el aprendizaje.Comparación normativa 1998 y 2012. Contrato para la formación y el aprendizaje.
Comparación normativa 1998 y 2012. Contrato para la formación y el aprendizaje.
Universidad Autónoma de Barcelona
 
Vincent Van Gogh
Vincent Van GoghVincent Van Gogh
Vincent Van Gogh
Sarah Cole
 
Sin título 1
Sin título 1Sin título 1
Sin título 1
Becca
 
Teoría U - Centro Maryknoll
Teoría U - Centro MaryknollTeoría U - Centro Maryknoll
Teoría U - Centro Maryknoll
Gobernabilidad
 
EDTC 5203: Module 7 Process
EDTC 5203: Module 7 ProcessEDTC 5203: Module 7 Process
EDTC 5203: Module 7 Process
Susan Stansberry
 
Participación e incidencia de la sociedad civil
Participación e incidencia de la sociedad civilParticipación e incidencia de la sociedad civil
Participación e incidencia de la sociedad civil
sgorigoiti
 
Máster de Derechos Sociolaborales. UAB. 7 y 14 de octubre de 2010. Texto final.
Máster de Derechos Sociolaborales. UAB. 7 y 14 de octubre de 2010. Texto final.Máster de Derechos Sociolaborales. UAB. 7 y 14 de octubre de 2010. Texto final.
Máster de Derechos Sociolaborales. UAB. 7 y 14 de octubre de 2010. Texto final.
Universidad Autónoma de Barcelona
 

Destacado (20)

Nice
NiceNice
Nice
 
Estudio del contenido laboral del Real Decreto-Ley 8/2014 de 4 de julio.
Estudio del contenido laboral del Real Decreto-Ley 8/2014 de 4 de julio. Estudio del contenido laboral del Real Decreto-Ley 8/2014 de 4 de julio.
Estudio del contenido laboral del Real Decreto-Ley 8/2014 de 4 de julio.
 
Sidys camargo
Sidys camargoSidys camargo
Sidys camargo
 
Géranium
GéraniumGéranium
Géranium
 
Le Portage salarial : AD Partners
Le Portage salarial : AD PartnersLe Portage salarial : AD Partners
Le Portage salarial : AD Partners
 
Sambre - La mer du purgatoire
Sambre - La mer du purgatoireSambre - La mer du purgatoire
Sambre - La mer du purgatoire
 
vocabulario de francés
vocabulario de francésvocabulario de francés
vocabulario de francés
 
Comparación normativa 1998 y 2012. Contrato para la formación y el aprendizaje.
Comparación normativa 1998 y 2012. Contrato para la formación y el aprendizaje.Comparación normativa 1998 y 2012. Contrato para la formación y el aprendizaje.
Comparación normativa 1998 y 2012. Contrato para la formación y el aprendizaje.
 
Vincent Van Gogh
Vincent Van GoghVincent Van Gogh
Vincent Van Gogh
 
Celis
CelisCelis
Celis
 
Pnud y fmdb santa cruz
Pnud y fmdb santa cruzPnud y fmdb santa cruz
Pnud y fmdb santa cruz
 
Enquête PwC France sur l'état de la profession audit interne (2014)
Enquête PwC France sur l'état de la profession audit interne (2014)Enquête PwC France sur l'état de la profession audit interne (2014)
Enquête PwC France sur l'état de la profession audit interne (2014)
 
Sin título 1
Sin título 1Sin título 1
Sin título 1
 
Teoría U - Centro Maryknoll
Teoría U - Centro MaryknollTeoría U - Centro Maryknoll
Teoría U - Centro Maryknoll
 
EDTC 5203: Module 7 Process
EDTC 5203: Module 7 ProcessEDTC 5203: Module 7 Process
EDTC 5203: Module 7 Process
 
Horario12 13
Horario12 13Horario12 13
Horario12 13
 
Derecho del trabajo i. curso 2010 2011.
Derecho del trabajo i. curso 2010 2011.Derecho del trabajo i. curso 2010 2011.
Derecho del trabajo i. curso 2010 2011.
 
Base partenariats
Base partenariatsBase partenariats
Base partenariats
 
Participación e incidencia de la sociedad civil
Participación e incidencia de la sociedad civilParticipación e incidencia de la sociedad civil
Participación e incidencia de la sociedad civil
 
Máster de Derechos Sociolaborales. UAB. 7 y 14 de octubre de 2010. Texto final.
Máster de Derechos Sociolaborales. UAB. 7 y 14 de octubre de 2010. Texto final.Máster de Derechos Sociolaborales. UAB. 7 y 14 de octubre de 2010. Texto final.
Máster de Derechos Sociolaborales. UAB. 7 y 14 de octubre de 2010. Texto final.
 

Similar a Codons notre infrastructure

Monter des environnements dev test efficaces avec Windows Azure
Monter des environnements dev test efficaces avec Windows AzureMonter des environnements dev test efficaces avec Windows Azure
Monter des environnements dev test efficaces avec Windows Azure
Microsoft Technet France
 

Similar a Codons notre infrastructure (20)

La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
Monter des environnements dev test efficaces avec Windows Azure
Monter des environnements dev test efficaces avec Windows AzureMonter des environnements dev test efficaces avec Windows Azure
Monter des environnements dev test efficaces avec Windows Azure
 
Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
 
Un Voyage dans le Cloud - Dev & Test
Un Voyage dans le Cloud - Dev & Test Un Voyage dans le Cloud - Dev & Test
Un Voyage dans le Cloud - Dev & Test
 
Ce que tout dba doit savoir sur la configuration et l'optimisation de SQL Ser...
Ce que tout dba doit savoir sur la configuration et l'optimisation de SQL Ser...Ce que tout dba doit savoir sur la configuration et l'optimisation de SQL Ser...
Ce que tout dba doit savoir sur la configuration et l'optimisation de SQL Ser...
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
 
Octo Maven.pdf
Octo Maven.pdfOcto Maven.pdf
Octo Maven.pdf
 
Présentation1
Présentation1Présentation1
Présentation1
 
Modèles d'Azure Resource Manager: Améliorer vos déploiements sur Azure
Modèles d'Azure Resource Manager: Améliorer vos déploiements sur AzureModèles d'Azure Resource Manager: Améliorer vos déploiements sur Azure
Modèles d'Azure Resource Manager: Améliorer vos déploiements sur Azure
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
 
Maven
MavenMaven
Maven
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
22462A_01.pptx
22462A_01.pptx22462A_01.pptx
22462A_01.pptx
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure Devops
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure Devops
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017
 
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft AzureTIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
 
Migrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds JavaMigrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds Java
 

Codons notre infrastructure