16. • Déploiement automatisé
• Déploiement complet (applicatif, système, infra, monitoring)
• Déploiement multi cloud
• Déploiement rapide
16
17. Outils
• Chef
• Capistrano
• Fog
• Jenkins
• …
17
18. Serveur vide
Mysql
Chef
Apache2
PHP 5
Clés SSH Serveur
configuré
Recettes chefs
18
19. Capistrano
#1 : Parallèle SSH
Mon Mac
SSH
Nœud 11
Nœud 1 X
Capistrano Nœud
Nœud 1
Nœud
/etc/init.d/apache2 restart
$ cap apache2:restart
19
20. Capistrano
#2 : Déploiement applicatif
Mon Mac
SSH
Nœud 11
Nœud 1 Repository
Capistrano Nœud 1
Nœud X
Nœud Application
(github)
$ cap deploy
20
21. Capistrano
#3 : Scripting externe
Mon Mac
HTTPS Amazon
Capistrano Web
Services
$ cap node:create
21
22. Démonstration
• Voir le contenu d’un environnement
• Passer chef sur la plateforme
• Déployer le code applicatif
• Créer un nœud
• Activer le nœud
22
23. Voir le contenu d’un environnement
$ cap integration show
Mon Mac Rackspace (> 10 nœuds)
SSH
Capistrano Nœud 11
Nœud 1 X
Nœud
Nœud 1
Nœud
• Etat monitoring Monit
• Version chef
• Version applicative
Topologie
23
24. Passer chef sur la plateforme
$ cap integration chef
Mon Mac Rackspace (> 10 nœuds)
Recettes Chef
Capistrano Nœud 11
Nœud 1 X
Nœud
Nœud 1
Nœud (github)
Chef
Topologie
24
25. Deployer du code applicatif
$ cap Web-integration apps:deploy:web
Mon Mac Rackspace
SSH Application
Capistrano Nœud web01 Rails
(github)
Topologie
25
26. Créer un noeud
$ cap front01-integration manager:new
Mon Mac 1 Rackspace
Capistrano Nouveau Nœud : Front 03
Recettes Chef
3 Chef
(github)
2
Lecture
et écriture Topologie
27. Architecture fronts
Load balancer Rackspace
Front 01 Front 02 Front 03
Cache01 Cache02
27
28. Activer un noeud
$ cap front03-integration manager:enable
Mon Mac Rackspace
3
Capistrano Load balancer
1
Front 03
2 Monit
Lecture
et écriture Topologie
28