SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
DEVFEST NANTES 16
Continuous Deployment with Spinnaker
Automate all your deployments!
Stéphane Lagraulet - Ippon Technologies
2DEVFEST NANTES 16
Vous allez voir...
● Les origines de Spinnaker
● L’architecture de Spinnaker
● Spinnaker en action
● Les challenges à relever
● Le projet et le contexte
● Le déploiement old school
● Les concepts décryptés
● De l’intégration continue au
déploiement en continu
Projet & Contexte
4DEVFEST NANTES 16
Who am I ?
Stéphane Lagraulet
Architecte SI
Ippon depuis 2013
@stephlag
Code depuis...
5DEVFEST NANTES 16
6DEVFEST NANTES 16
Le projet
Component Team en charge du moteur de recherche
d’un site de e-commerce
● 2015
○ microservices pour alimenter, interroger et superviser les
composants du moteur
○ plateforme d’intégration continue
● 2016
○ consolidation de l’architecture avec Spring Cloud
○ utilisation des microservices dans d’autres équipes
○ cluster Mesos / Marathon
● 2017
○ généralisation de l’architecture de micro-services
○ plateforme de déploiement en continu
Déploiements old school
8DEVFEST NANTES 16
Un long chemin vers la production
● Développement
● Recette des développements
● Merge des développements
● Construction du package
● Livraison en préproduction
● Tests de non régression
● Livraison en production
9DEVFEST NANTES 16
Les difficultés de ce modèle
● Cycle long
● Opérations manuelles
● Equipe dédiée
● Partage de responsabilités
● Beaucoup de changements
● Fort risque de régression
● Tests de non régression coûteux
Concepts
11DEVFEST NANTES 16
● Integration
● Delivery
● Deployment
Continuous *
12DEVFEST NANTES 16
● Infrastructure
○ standardisée
○ automatisée
○ à la demande
○ immutable
● Gestionnaire de cloud / de containers
○ Tolérance aux pannes
○ Scalabilité
IAAS / IAC
13DEVFEST NANTES 16
DevOps - équipes autonomes
14DEVFEST NANTES 16
● Autonomes et indépendants
● Des produits et non des projets
● Smart endpoints and dumb pipes (Unix way)
● Gouvernance décentralisée
● Persistance polyglotte et décentralisée
● Tolérance à la panne (design for failure)
● Cloud-ready apps
● Infrastructure automatisée
Caractéristiques des microservices
15DEVFEST NANTES 16
Le cycle de vie d’un microservice
Code Repository
Continuous
Integration
Image repository
Continuous
Delivery
BuildsGets
Tags
Gets
Running Cluster
(all envs)
Monitoring tool
Supervises
Delivers
16DEVFEST NANTES 16
Le déploiement en continu, c’est quoi?
● Logiciel / Service construit avec un cycle de vie défini
● Déployabilité >> nouvelles fonctionnalités
● Retour rapide et automatisé sur le système en production
● Déploiement en une seule action de n’importe quelle
version du logiciel sur n’importe quel environnement
17DEVFEST NANTES 16
Le déploiement en continu, prérequis
● Proche relation de collaboration avec tous les
acteurs impliqués dans la livraison (DevOps)
● Qualité intégrée dans le produit dès la
conception (TU, TI, Benchs)
● Automatisation poussée des processus
permettant d’effectuer une livraison
(Deployment Pipeline)
18DEVFEST NANTES 16
Le déploiement en continu, les gains!
● Déploiements à faible risque
● Des fonctionnalités vraiment “terminées”
● Feedback utilisateur rapide
● Time to market réduit
● Meilleure qualité
● Coûts réduits
● Équipes plus satisfaites
Intégration continue
20DEVFEST NANTES 16
Intégration continue
Releases
Config
Sources
Versioning
Releases
Documentation
Docker
Images
21DEVFEST NANTES 16
Intégration continue = déploiement en continu ?
Releases
Config
Sources
Versioning
Releases
Documentation
Docker
Images
22DEVFEST NANTES 16
Intégration continue - les limites
● Fait pour construire des artefacts
● Pas de gestion
○ du provisionning de machines
○ des répartiteurs de charges
○ des réseaux
○ déploiement multi-datacenter
○ des stratégies de déploiement
23DEVFEST NANTES 16
Le choix de Spinnaker
● Outil complet de déploiement en continu
● Objectifs
○ Rendre les déploiements sûrs et vérifiables
○ Devenir le standard des outils de déploiement
○ Pas de lien avec un seul fournisseur de cloud
○ Accélérer les déploiements pour les rendres plus “atomiques”
○ Proposer plusieurs stratégies de déploiement
○ Retour rapide sur une version précédente
○ Aucune interruption de service
○ Automatisation de la gestion des ressources
● Utilisé par Netflix pour déployer plus de 3000 fois par jour
Spinnaker - les origines
25DEVFEST NANTES 16
Netflix (pre 2014) - Jenkins + Asgard + Mimir
26DEVFEST NANTES 16
Netflix (2015) - Spinnaker
● Reprise des concepts existants
● Initiative full OSS
● Réécriture complète en architecture micro services
○ Services spring boot en Groovy
● Gestion du multi cloud
● Partenariats
○ Google
○ Microsoft
○ Pivotal
27DEVFEST NANTES 16
Netflix (2015) - Spinnaker rise
28DEVFEST NANTES 16
Spinnaker.io (2016)
● Open source depuis novembre 2015
● Support complet
○ AWS
○ Google Cloud Platform
○ Kubernetes
○ Titus (Netflix)
● En développement / test
○ Azure
○ OpenStack
○ CloudFoundry
Spinnaker - architecture
30DEVFEST NANTES 16
Spinnaker
31DEVFEST NANTES 16
Spinnaker - pipelines
● Pipeline
○ Configuration
○ Triggers
■ Jenkins
■ Git commit
■ Docker push
○ Etapes (stages)
■ auto ou manuelles
● Enchaînement des pipelines
○ workflow complet de déploiement
32DEVFEST NANTES 16
Spinnaker - concepts
● Server group
○ Load Balancer
○ Security Group
○ Machine type
○ Capacity
● Cluster
○ Vue logique d’un groupe de serveurs
● Application
○ Vue logique d’un ensemble de clusters
associés à une application
33DEVFEST NANTES 16
Spinnaker - vue globale (sur GCE)
https://github.com/GoogleCloudPlatform/spinnaker-deploymentmanager
Web Interface
Load Balancer
JenkinsSpinnaker
RedisCloud Storage
34DEVFEST NANTES 16
Spinnaker - vue détaillée
35DEVFEST NANTES 16
Spinnaker - intégration Netflix
36DEVFEST NANTES 16
Spinnaker - extensions
● Halyard
○ Simplifie le déploiement de Spinnaker
● Foremast
○ Automatisation de la création de pipelines
● ChaosMonkey
○ Destruction au hasard d’instances en production...
Spinnaker - demo
38DEVFEST NANTES 16
Spinnaker - demo
39DEVFEST NANTES 16
Spinnaker - static demo
40DEVFEST NANTES 16
Spinnaker - static demo 2
41DEVFEST NANTES 16
Spinnaker - challenges
42DEVFEST NANTES 16
Spinnaker - challenges
● Documentation peu mise à jour et incomplète
● Complexe à mettre en place
● Peu adapté aux petites structures
● On the edge - bugs UI
● Solution hostée (GCP en bêta)
● Slack is your friend
43DEVFEST NANTES 16
Spinnaker - nos attentes
● Authentification - en cours de dev avec le module fiat
○ pas d’Active Directory
● Construction clouddriver pour Mesos
● Configuration plus simple avec docker compose
Merci! Questions ?
@stephlag
@ippontech
github.com/stephlag

Mais conteúdo relacionado

Mais procurados

[Agile Testing Day] Introduction
[Agile Testing Day] Introduction[Agile Testing Day] Introduction
[Agile Testing Day] IntroductionCellenza
 
[Agile Testing Day] Tests de charge
[Agile Testing Day] Tests de charge [Agile Testing Day] Tests de charge
[Agile Testing Day] Tests de charge Cellenza
 
[Agile Testing Day] Test & Métiers
[Agile Testing Day] Test & Métiers[Agile Testing Day] Test & Métiers
[Agile Testing Day] Test & MétiersCellenza
 
MS365 Developer Bootcamp 2020 à Montréal - Trucs & Astuces SharePoint Framework
MS365 Developer Bootcamp 2020 à Montréal - Trucs & Astuces SharePoint FrameworkMS365 Developer Bootcamp 2020 à Montréal - Trucs & Astuces SharePoint Framework
MS365 Developer Bootcamp 2020 à Montréal - Trucs & Astuces SharePoint FrameworkLaurent Sittler
 
Integration continue et déploiement automatisé
Integration continue et déploiement automatiséIntegration continue et déploiement automatisé
Integration continue et déploiement automatiséJérémie Campari
 
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...Samuel Metias
 
Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continueOmnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continueXavier Callens
 
La qualité logicielle pour les petites PME (et sans langue de bois)
La qualité logicielle pour les petites PME (et sans langue de bois)La qualité logicielle pour les petites PME (et sans langue de bois)
La qualité logicielle pour les petites PME (et sans langue de bois)Lucas CORBEAUX
 
Qu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualitéQu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualitéSylvain Leroy
 
[devops REX 2016] Les impacts techniques et organisationnels liés à devops
 [devops REX 2016] Les impacts techniques et organisationnels liés à devops [devops REX 2016] Les impacts techniques et organisationnels liés à devops
[devops REX 2016] Les impacts techniques et organisationnels liés à devopsdevops REX
 
Microsoft DevOps Day 2015 02122015 - Introduction
Microsoft DevOps Day 2015 02122015 - IntroductionMicrosoft DevOps Day 2015 02122015 - Introduction
Microsoft DevOps Day 2015 02122015 - IntroductionSamuel Metias
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOpsMicrosoft
 
Principes de L'intégration Continue
Principes de L'intégration ContinuePrincipes de L'intégration Continue
Principes de L'intégration ContinueXavier Warzee
 
Devoxx 2016 - L'odyssée du Continuous Delivery
Devoxx 2016 - L'odyssée du Continuous DeliveryDevoxx 2016 - L'odyssée du Continuous Delivery
Devoxx 2016 - L'odyssée du Continuous DeliveryDiego Lemos
 
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 AzureThe Incredible Automation Day
 
20141113 devoxx2014 jochim van dorpe testing in agile
20141113 devoxx2014 jochim van dorpe testing in agile20141113 devoxx2014 jochim van dorpe testing in agile
20141113 devoxx2014 jochim van dorpe testing in agileSmals
 
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs XebiaLabs
 
Load test & performance profiling
Load test & performance profilingLoad test & performance profiling
Load test & performance profilingMSDEVMTL
 
Mise en oeuvre de lab management avec team foundation server 2010 et microsof...
Mise en oeuvre de lab management avec team foundation server 2010 et microsof...Mise en oeuvre de lab management avec team foundation server 2010 et microsof...
Mise en oeuvre de lab management avec team foundation server 2010 et microsof...Guillaume Brout
 

Mais procurados (20)

[Agile Testing Day] Introduction
[Agile Testing Day] Introduction[Agile Testing Day] Introduction
[Agile Testing Day] Introduction
 
[Agile Testing Day] Tests de charge
[Agile Testing Day] Tests de charge [Agile Testing Day] Tests de charge
[Agile Testing Day] Tests de charge
 
[Agile Testing Day] Test & Métiers
[Agile Testing Day] Test & Métiers[Agile Testing Day] Test & Métiers
[Agile Testing Day] Test & Métiers
 
MS365 Developer Bootcamp 2020 à Montréal - Trucs & Astuces SharePoint Framework
MS365 Developer Bootcamp 2020 à Montréal - Trucs & Astuces SharePoint FrameworkMS365 Developer Bootcamp 2020 à Montréal - Trucs & Astuces SharePoint Framework
MS365 Developer Bootcamp 2020 à Montréal - Trucs & Astuces SharePoint Framework
 
Integration continue et déploiement automatisé
Integration continue et déploiement automatiséIntegration continue et déploiement automatisé
Integration continue et déploiement automatisé
 
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...
 
Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continueOmnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue
 
La qualité logicielle pour les petites PME (et sans langue de bois)
La qualité logicielle pour les petites PME (et sans langue de bois)La qualité logicielle pour les petites PME (et sans langue de bois)
La qualité logicielle pour les petites PME (et sans langue de bois)
 
Qu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualitéQu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualité
 
[devops REX 2016] Les impacts techniques et organisationnels liés à devops
 [devops REX 2016] Les impacts techniques et organisationnels liés à devops [devops REX 2016] Les impacts techniques et organisationnels liés à devops
[devops REX 2016] Les impacts techniques et organisationnels liés à devops
 
Microsoft DevOps Day 2015 02122015 - Introduction
Microsoft DevOps Day 2015 02122015 - IntroductionMicrosoft DevOps Day 2015 02122015 - Introduction
Microsoft DevOps Day 2015 02122015 - Introduction
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
Principes de L'intégration Continue
Principes de L'intégration ContinuePrincipes de L'intégration Continue
Principes de L'intégration Continue
 
Devoxx 2016 - L'odyssée du Continuous Delivery
Devoxx 2016 - L'odyssée du Continuous DeliveryDevoxx 2016 - L'odyssée du Continuous Delivery
Devoxx 2016 - L'odyssée du Continuous Delivery
 
Power shell quality-pt2
Power shell quality-pt2Power shell quality-pt2
Power shell quality-pt2
 
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
 
20141113 devoxx2014 jochim van dorpe testing in agile
20141113 devoxx2014 jochim van dorpe testing in agile20141113 devoxx2014 jochim van dorpe testing in agile
20141113 devoxx2014 jochim van dorpe testing in agile
 
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs
 
Load test & performance profiling
Load test & performance profilingLoad test & performance profiling
Load test & performance profiling
 
Mise en oeuvre de lab management avec team foundation server 2010 et microsof...
Mise en oeuvre de lab management avec team foundation server 2010 et microsof...Mise en oeuvre de lab management avec team foundation server 2010 et microsof...
Mise en oeuvre de lab management avec team foundation server 2010 et microsof...
 

Destaque

Continuous integration, delivery & deployment
Continuous integration,  delivery & deploymentContinuous integration,  delivery & deployment
Continuous integration, delivery & deploymentMartijn van der Kamp
 
NetflixOSS meetup lightning talks and roadmap
NetflixOSS meetup lightning talks and roadmapNetflixOSS meetup lightning talks and roadmap
NetflixOSS meetup lightning talks and roadmapRuslan Meshenberg
 
Malakocktail 72 (été 2013)
Malakocktail 72 (été 2013)Malakocktail 72 (été 2013)
Malakocktail 72 (été 2013)Malakocktail
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéJulien Dubois
 
Accessibilité & e-recrutement
Accessibilité & e-recrutementAccessibilité & e-recrutement
Accessibilité & e-recrutementSébastien Delorme
 
20100225 Ippon Osgi Are You Ready
20100225 Ippon Osgi Are You Ready20100225 Ippon Osgi Are You Ready
20100225 Ippon Osgi Are You ReadyGeoffray Gruel
 
Intégration Continue PHP avec Jenkins CI
Intégration Continue PHP avec Jenkins CIIntégration Continue PHP avec Jenkins CI
Intégration Continue PHP avec Jenkins CIHugo Hamon
 
Nouveau look pour une nouvelle vie, version spéciale Ippon
Nouveau look pour une nouvelle vie, version spéciale IpponNouveau look pour une nouvelle vie, version spéciale Ippon
Nouveau look pour une nouvelle vie, version spéciale IpponJulien Dubois
 
Introduction à Cassandra
Introduction à CassandraIntroduction à Cassandra
Introduction à CassandraVMware Tanzu
 
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Mike McGarr
 
HTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilitéHTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilitéJulien Dubois
 
Spark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclairSpark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclairAlexis Seigneurin
 
Migrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global CassandraMigrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global CassandraAdrian Cockcroft
 
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesYow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesAdrian Cockcroft
 
Automatiser les tests d’acceptation : comment s’y prendre ? - Vincent Tencé
Automatiser les tests d’acceptation : comment s’y prendre ? - Vincent TencéAutomatiser les tests d’acceptation : comment s’y prendre ? - Vincent Tencé
Automatiser les tests d’acceptation : comment s’y prendre ? - Vincent TencéAgile Montréal
 
REX déploiement Ansible et Utilisation avec Docker
REX déploiement Ansible et Utilisation avec DockerREX déploiement Ansible et Utilisation avec Docker
REX déploiement Ansible et Utilisation avec DockerYannig Perre
 

Destaque (20)

Continuous integration, delivery & deployment
Continuous integration,  delivery & deploymentContinuous integration,  delivery & deployment
Continuous integration, delivery & deployment
 
Pierre et Alexandre
Pierre et AlexandrePierre et Alexandre
Pierre et Alexandre
 
NetflixOSS meetup lightning talks and roadmap
NetflixOSS meetup lightning talks and roadmapNetflixOSS meetup lightning talks and roadmap
NetflixOSS meetup lightning talks and roadmap
 
Malakocktail 72 (été 2013)
Malakocktail 72 (été 2013)Malakocktail 72 (été 2013)
Malakocktail 72 (été 2013)
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
 
Accessibilité & e-recrutement
Accessibilité & e-recrutementAccessibilité & e-recrutement
Accessibilité & e-recrutement
 
20100225 Ippon Osgi Are You Ready
20100225 Ippon Osgi Are You Ready20100225 Ippon Osgi Are You Ready
20100225 Ippon Osgi Are You Ready
 
Intégration Continue PHP avec Jenkins CI
Intégration Continue PHP avec Jenkins CIIntégration Continue PHP avec Jenkins CI
Intégration Continue PHP avec Jenkins CI
 
Nouveau look pour une nouvelle vie, version spéciale Ippon
Nouveau look pour une nouvelle vie, version spéciale IpponNouveau look pour une nouvelle vie, version spéciale Ippon
Nouveau look pour une nouvelle vie, version spéciale Ippon
 
Introduction à Cassandra
Introduction à CassandraIntroduction à Cassandra
Introduction à Cassandra
 
Tests de performances
Tests de performancesTests de performances
Tests de performances
 
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
 
De Devoxx au CAC40
De Devoxx au CAC40De Devoxx au CAC40
De Devoxx au CAC40
 
HTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilitéHTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilité
 
Spark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclairSpark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclair
 
Global Netflix Platform
Global Netflix PlatformGlobal Netflix Platform
Global Netflix Platform
 
Migrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global CassandraMigrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global Cassandra
 
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesYow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
 
Automatiser les tests d’acceptation : comment s’y prendre ? - Vincent Tencé
Automatiser les tests d’acceptation : comment s’y prendre ? - Vincent TencéAutomatiser les tests d’acceptation : comment s’y prendre ? - Vincent Tencé
Automatiser les tests d’acceptation : comment s’y prendre ? - Vincent Tencé
 
REX déploiement Ansible et Utilisation avec Docker
REX déploiement Ansible et Utilisation avec DockerREX déploiement Ansible et Utilisation avec Docker
REX déploiement Ansible et Utilisation avec Docker
 

Semelhante a DevFest Nantes 2016 - Spinnaker

L'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOpsL'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOpsGeorgeot Cédric
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfboulonvert
 
20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez EngieLeClubQualiteLogicielle
 
Plateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de MontréallPlateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de MontréallCloudOps2005
 
Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Adrien Blind
 
8 Rex : Mise en place de DevOps sur Azure
8   Rex : Mise en place de DevOps sur Azure8   Rex : Mise en place de DevOps sur Azure
8 Rex : Mise en place de DevOps sur AzureaOS Community
 
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)Publicis Sapient Engineering
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...MSDEVMTL
 
Microservices IRL - Devoxx-fr 2016
Microservices IRL - Devoxx-fr 2016Microservices IRL - Devoxx-fr 2016
Microservices IRL - Devoxx-fr 2016Stephan Lagraulet
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6Microsoft
 
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...Publicis Sapient Engineering
 
OpenStack - open source au service du Cloud
OpenStack - open source au service du CloudOpenStack - open source au service du Cloud
OpenStack - open source au service du CloudLINAGORA
 
Devoxx 17 - Orchestration de conteneurs : le choix des armes !
Devoxx 17 - Orchestration de conteneurs : le choix des armes !Devoxx 17 - Orchestration de conteneurs : le choix des armes !
Devoxx 17 - Orchestration de conteneurs : le choix des armes !Publicis Sapient Engineering
 
OpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudMichel-Marie Maudet
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec dockergcatt
 
Méthodes agiles, frameworks javascript: optimisez votre time to market
Méthodes agiles, frameworks javascript: optimisez votre time to marketMéthodes agiles, frameworks javascript: optimisez votre time to market
Méthodes agiles, frameworks javascript: optimisez votre time to marketmichael_bailly
 
La Duck Conf - Continuous Security : Secure a DevOps World!
La Duck Conf - Continuous Security : Secure a DevOps World!La Duck Conf - Continuous Security : Secure a DevOps World!
La Duck Conf - Continuous Security : Secure a DevOps World!OCTO Technology
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE
 
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...Publicis Sapient Engineering
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapresLaurent Tardif
 

Semelhante a DevFest Nantes 2016 - Spinnaker (20)

L'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOpsL'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOps
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie
 
Plateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de MontréallPlateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de Montréall
 
Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?
 
8 Rex : Mise en place de DevOps sur Azure
8   Rex : Mise en place de DevOps sur Azure8   Rex : Mise en place de DevOps sur Azure
8 Rex : Mise en place de DevOps sur Azure
 
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
Microservices IRL - Devoxx-fr 2016
Microservices IRL - Devoxx-fr 2016Microservices IRL - Devoxx-fr 2016
Microservices IRL - Devoxx-fr 2016
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6
 
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
 
OpenStack - open source au service du Cloud
OpenStack - open source au service du CloudOpenStack - open source au service du Cloud
OpenStack - open source au service du Cloud
 
Devoxx 17 - Orchestration de conteneurs : le choix des armes !
Devoxx 17 - Orchestration de conteneurs : le choix des armes !Devoxx 17 - Orchestration de conteneurs : le choix des armes !
Devoxx 17 - Orchestration de conteneurs : le choix des armes !
 
OpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du Cloud
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec docker
 
Méthodes agiles, frameworks javascript: optimisez votre time to market
Méthodes agiles, frameworks javascript: optimisez votre time to marketMéthodes agiles, frameworks javascript: optimisez votre time to market
Méthodes agiles, frameworks javascript: optimisez votre time to market
 
La Duck Conf - Continuous Security : Secure a DevOps World!
La Duck Conf - Continuous Security : Secure a DevOps World!La Duck Conf - Continuous Security : Secure a DevOps World!
La Duck Conf - Continuous Security : Secure a DevOps World!
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSP
 
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapres
 

DevFest Nantes 2016 - Spinnaker

  • 1. DEVFEST NANTES 16 Continuous Deployment with Spinnaker Automate all your deployments! Stéphane Lagraulet - Ippon Technologies
  • 2. 2DEVFEST NANTES 16 Vous allez voir... ● Les origines de Spinnaker ● L’architecture de Spinnaker ● Spinnaker en action ● Les challenges à relever ● Le projet et le contexte ● Le déploiement old school ● Les concepts décryptés ● De l’intégration continue au déploiement en continu
  • 4. 4DEVFEST NANTES 16 Who am I ? Stéphane Lagraulet Architecte SI Ippon depuis 2013 @stephlag Code depuis...
  • 6. 6DEVFEST NANTES 16 Le projet Component Team en charge du moteur de recherche d’un site de e-commerce ● 2015 ○ microservices pour alimenter, interroger et superviser les composants du moteur ○ plateforme d’intégration continue ● 2016 ○ consolidation de l’architecture avec Spring Cloud ○ utilisation des microservices dans d’autres équipes ○ cluster Mesos / Marathon ● 2017 ○ généralisation de l’architecture de micro-services ○ plateforme de déploiement en continu
  • 8. 8DEVFEST NANTES 16 Un long chemin vers la production ● Développement ● Recette des développements ● Merge des développements ● Construction du package ● Livraison en préproduction ● Tests de non régression ● Livraison en production
  • 9. 9DEVFEST NANTES 16 Les difficultés de ce modèle ● Cycle long ● Opérations manuelles ● Equipe dédiée ● Partage de responsabilités ● Beaucoup de changements ● Fort risque de régression ● Tests de non régression coûteux
  • 11. 11DEVFEST NANTES 16 ● Integration ● Delivery ● Deployment Continuous *
  • 12. 12DEVFEST NANTES 16 ● Infrastructure ○ standardisée ○ automatisée ○ à la demande ○ immutable ● Gestionnaire de cloud / de containers ○ Tolérance aux pannes ○ Scalabilité IAAS / IAC
  • 13. 13DEVFEST NANTES 16 DevOps - équipes autonomes
  • 14. 14DEVFEST NANTES 16 ● Autonomes et indépendants ● Des produits et non des projets ● Smart endpoints and dumb pipes (Unix way) ● Gouvernance décentralisée ● Persistance polyglotte et décentralisée ● Tolérance à la panne (design for failure) ● Cloud-ready apps ● Infrastructure automatisée Caractéristiques des microservices
  • 15. 15DEVFEST NANTES 16 Le cycle de vie d’un microservice Code Repository Continuous Integration Image repository Continuous Delivery BuildsGets Tags Gets Running Cluster (all envs) Monitoring tool Supervises Delivers
  • 16. 16DEVFEST NANTES 16 Le déploiement en continu, c’est quoi? ● Logiciel / Service construit avec un cycle de vie défini ● Déployabilité >> nouvelles fonctionnalités ● Retour rapide et automatisé sur le système en production ● Déploiement en une seule action de n’importe quelle version du logiciel sur n’importe quel environnement
  • 17. 17DEVFEST NANTES 16 Le déploiement en continu, prérequis ● Proche relation de collaboration avec tous les acteurs impliqués dans la livraison (DevOps) ● Qualité intégrée dans le produit dès la conception (TU, TI, Benchs) ● Automatisation poussée des processus permettant d’effectuer une livraison (Deployment Pipeline)
  • 18. 18DEVFEST NANTES 16 Le déploiement en continu, les gains! ● Déploiements à faible risque ● Des fonctionnalités vraiment “terminées” ● Feedback utilisateur rapide ● Time to market réduit ● Meilleure qualité ● Coûts réduits ● Équipes plus satisfaites
  • 20. 20DEVFEST NANTES 16 Intégration continue Releases Config Sources Versioning Releases Documentation Docker Images
  • 21. 21DEVFEST NANTES 16 Intégration continue = déploiement en continu ? Releases Config Sources Versioning Releases Documentation Docker Images
  • 22. 22DEVFEST NANTES 16 Intégration continue - les limites ● Fait pour construire des artefacts ● Pas de gestion ○ du provisionning de machines ○ des répartiteurs de charges ○ des réseaux ○ déploiement multi-datacenter ○ des stratégies de déploiement
  • 23. 23DEVFEST NANTES 16 Le choix de Spinnaker ● Outil complet de déploiement en continu ● Objectifs ○ Rendre les déploiements sûrs et vérifiables ○ Devenir le standard des outils de déploiement ○ Pas de lien avec un seul fournisseur de cloud ○ Accélérer les déploiements pour les rendres plus “atomiques” ○ Proposer plusieurs stratégies de déploiement ○ Retour rapide sur une version précédente ○ Aucune interruption de service ○ Automatisation de la gestion des ressources ● Utilisé par Netflix pour déployer plus de 3000 fois par jour
  • 24. Spinnaker - les origines
  • 25. 25DEVFEST NANTES 16 Netflix (pre 2014) - Jenkins + Asgard + Mimir
  • 26. 26DEVFEST NANTES 16 Netflix (2015) - Spinnaker ● Reprise des concepts existants ● Initiative full OSS ● Réécriture complète en architecture micro services ○ Services spring boot en Groovy ● Gestion du multi cloud ● Partenariats ○ Google ○ Microsoft ○ Pivotal
  • 27. 27DEVFEST NANTES 16 Netflix (2015) - Spinnaker rise
  • 28. 28DEVFEST NANTES 16 Spinnaker.io (2016) ● Open source depuis novembre 2015 ● Support complet ○ AWS ○ Google Cloud Platform ○ Kubernetes ○ Titus (Netflix) ● En développement / test ○ Azure ○ OpenStack ○ CloudFoundry
  • 31. 31DEVFEST NANTES 16 Spinnaker - pipelines ● Pipeline ○ Configuration ○ Triggers ■ Jenkins ■ Git commit ■ Docker push ○ Etapes (stages) ■ auto ou manuelles ● Enchaînement des pipelines ○ workflow complet de déploiement
  • 32. 32DEVFEST NANTES 16 Spinnaker - concepts ● Server group ○ Load Balancer ○ Security Group ○ Machine type ○ Capacity ● Cluster ○ Vue logique d’un groupe de serveurs ● Application ○ Vue logique d’un ensemble de clusters associés à une application
  • 33. 33DEVFEST NANTES 16 Spinnaker - vue globale (sur GCE) https://github.com/GoogleCloudPlatform/spinnaker-deploymentmanager Web Interface Load Balancer JenkinsSpinnaker RedisCloud Storage
  • 34. 34DEVFEST NANTES 16 Spinnaker - vue détaillée
  • 35. 35DEVFEST NANTES 16 Spinnaker - intégration Netflix
  • 36. 36DEVFEST NANTES 16 Spinnaker - extensions ● Halyard ○ Simplifie le déploiement de Spinnaker ● Foremast ○ Automatisation de la création de pipelines ● ChaosMonkey ○ Destruction au hasard d’instances en production...
  • 40. 40DEVFEST NANTES 16 Spinnaker - static demo 2
  • 42. 42DEVFEST NANTES 16 Spinnaker - challenges ● Documentation peu mise à jour et incomplète ● Complexe à mettre en place ● Peu adapté aux petites structures ● On the edge - bugs UI ● Solution hostée (GCP en bêta) ● Slack is your friend
  • 43. 43DEVFEST NANTES 16 Spinnaker - nos attentes ● Authentification - en cours de dev avec le module fiat ○ pas d’Active Directory ● Construction clouddriver pour Mesos ● Configuration plus simple avec docker compose