Contenu connexe Similaire à Afterwork Devops : vision et pratiques (20) Plus de OCTO Technology Suisse (20) Afterwork Devops : vision et pratiques1. Devops : vision et pratiques
AVENUE DU THEATRE 7 > 1005 LAUSANNE > SUISSE > WWW.OCTO.COM
2 mai 2018 - Genève
@OCTOSuisse
#Afterwork
#DevOps
2. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 2
Simon
DENEL
Consultant
@OCTOSuisse
+41 79 756 36 63
sdenel@octo.com
Joseph
GLORIEUX
CEO
@OCTOSuisse
+41 79 846 83 16
jglorieux@octo.com
@jglorieux
2OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
3. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
OCTO, ACCÉLÉRATEUR DE VOTRE TRANSFORMATION
3OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
DIGITAL
TRANSFORMATION
Faciliter et
Accélérer l’adoption
de la culture digitale
Business, IT,
People
Open
Tech Trends
Lean & Agile
Core
renaissance
Data Driven
Company
Customer
Centric
Amplified
Human
potential
Product
Innovation
3
4. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 4
Pourquoi cet évènement?
« Je suis DevOps, j’ai déployé Jenkins»
« Je suis DevOps, j’ai remplacé mes développeurs et mes Ops par des profils DevOps»
« Je suis DevOps, j’ai une infrastructure virtualisée»
« Je suis déjà DevOps, les développeurs déploient directement en production»
« Je suis DevOps, j’ai déployé l’outil XYZ»
5. T H E R E I S A B E T T E R W A Y
Pourquoi DevOps ?
Les douleurs
6. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Un Time to Market en mois
Bill : le BIZ
7. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Le développement même en Agile reste frustrant
Agile development Operations
Design
architecture
Provision
infrastructure
Deploy
application
Operate
Code
Build
Test
DEV
Package
8. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Les déploiements sont fastidieux et risqués
47% du temps total des activités Ops est consacré au
déploiement / à la gestion des incidents
9. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Organisation : des objectifs différents pour un même projet !
John : l’OPS
Bill : le BIZ
Dave : le DEV
Fournir le plus rapidement possible des services de qualité au client
final
Obtenir une qualité de service sans faille
Contrôler les budgets IT
Livrer de nouvelles
fonctionnalités
Chercher à innover
Culture du changement
Garantir la stabilité et la sécurité
Chercher à rationaliser
Culture du service (SLA)
Rapidité Stabilité Qualité Coûts
Rapidité Qualité Stabilité Coût
Le mur de l’incompréhension
11. T H E R E I S A B E T T E R W A Y
Définition
11
12. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Définition #1 : extension de l’agile jusqu’à la production
Agilité des Développements
Agilité des Opérations
Convergence des processus : DEVOPS
èDurée : 2 - 3 semaines
12
13. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 13
Définition #2 : reconcilier Dev et ops
14. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 14
Définition #3 : notre vision – Time to Market, excellence opérationnelle et Coopération
DevOps est un ensemble de pratiques
qui visent à réduire le Time to Market et
améliorer la Qualité en optimisant la
Coopération* entre les Développeurs et
la Production
* Coopération :
« Le comportement de chacun augmente la performance de l'autre… »
Y. Morieux (Senior Partner au BCG ) @ USI 2010
15. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 15
Les 4 piliers des pratiques DevOps
Culture, méthode et organisationConstruction et déploiement continu
Architecture & patterns Infrastructure as code
Des architectures et patterns répondant
aux préoccupations des Devs et des Ops
Des outils d’automatisation pour
construire et maintenir l’infrastructure par
du code
Des outils et processus de construction et
déploiement continu
Une culture, des modèles d’organisation et des
méthodes favorisant le dialogue
Un ensemble de pratiques qui visent à réduire le TTM/TTR et améliorer
la qualité en optimisant la coopération
16. T H E R E I S A B E T T E R W A Y
Patterns et
Architectures
17. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Livrer à moindre risque : découplage applicatif
Mettre en production
18. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Ne pas faire stocker d’informations en mémoire volatile
Livrer à moindre risque : applications stateless, services tiers de persistance
LoadBalancer
LoadBalancer
19. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Livrer à moindre risque : culte de la mesure et du monitoring
Monitoring Création d’un
Dashboard
Instrumentation
Du code
10011
Agrégation
Des logs
20. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Livrer à moindre risque : déploiement progressif
FEATURE FLIPPING
CANARY RELEASE
BLUE/GREEN DEPLOYMENT
21. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Un pattern peut en cacher un autre !
Architecture share nothingShared
Variabilisation des paramètres
par environnement
Externalisation de la configuration
Dark launch
Système de trace
distribué
Pet vs Cattle
DESIGN FOR FAILURE
Composants scalables
22. T H E R E I S A B E T T E R W A Y
Continuous
deployment
23. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Construction et déploiement continus – C’est quoi?
Build Test Release Deploy OperateCodePlan
Continuous integration
Continuous delivery
Continuous deployment
L’automatisation du processus logiciel doit emmener le produit jusqu’à son
environnement de production
24. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Construction et déploiement continus – Pourquoi?
Plus il est difficile de déployer,
plus il faut le faire souvent
Source : http://www.slideshare.net/jallspaw/ops-metametrics-the-currency-you-pay-for-change-4608108
24
25. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 25
Construction et déploiement continus – Comment?
Pousser jusqu’au bout la logique de la software factory et de l’automatisation
Orchestrateur de Release
(ex: Jenkins)
Dépôt binaires
applications
(Nexus)
Code source
applications
(SVN ou GIT)
Descripteur d’état de
conf. désiré (DSC)
(Rôles Ansible dans
Git)
Dépôts binaires
socle
(Nexus, RPM repo)
Infrastructure as a Service
System Configuration
(ex : Ansible, Puppet)
Tests
Unitaires
(ex: jUnit)
Qualité
(SonarQube,
Cobertura...)
Build
(Maven)
Cloud
privé
Cloud
Public
1Commit code
et tests
Commit infra as code
et binaires socle
DEV
OPS
Archivage
des artefacts
applicatifs
Déploiement des
environnements
Provisionnement des
infrastructures
Déploiement
des socles
middlewares
Déploiement
applicatif
Déploiement
infrastructures
Tests
automatisés
Environnements
Env.
PRODUCTION
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
INTEGRATION
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
RECETTE
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
PREPROD
èIntégration Continue
26. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
¤ Les pratiques DevOps s’appuient
sur l’approche Software
Craftsmanship visant l’amélioration
de la qualité logicielle notamment
avec la pratiques des tests mais
pas seulement***
¤ Le harnais de test est capital pour
construire la relation de confiance
entre Dev et Ops
¤ Qui dit test, dit tests automatisés
*** code review, collective code ownership,
pair programming, dojo, boy scout rule, clean
code, TDD, amélioration continue, feedback,
mesure…
26
Construction et déploiement continus – Construire la confiance?
Des pratiques des développeurs à l’état de l’art
27. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
¤ Les changements en production ne sont pas tous fonctionnels
¤ Ces « changements » doivent aussi être éprouvés et de nombreux tests complémentaires peuvent être
ajoutés dans le processus logiciel pour accroître la confiance
27
Construction et déploiement continus – Tests complémentaires
Un exercice à réaliser ensemble
Changement d’architecture
Changement de briques
technologiques ou
simplement de version
Accroissement de la charge
(plus d’utilisateurs ou
évènements ponctuels et
saisonniers)
Défaillance d’un ou plusieurs
composants
Tests d’endurance en charge sur la
durée (de plusieurs heures à plusieurs
jours)
Tests de robustesse
• Mise en défaut de composants
• Remise en service de composants
Tests de charge
• Scénarios d’injection de
comportements utilisateur
représentatifs
• Aux limites
Tests de scalabilité
Fuzz Testing
Penetration Testing
STABILITE ET FIABILITE PERFORMANCE SECURITE
28. T H E R E I S A B E T T E R W A Y
Infra as
Code
29. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Infrastructure as Code (IaC) - Définition
Orchestrateur de
déploiement
d’infrastructure
Code décrivant
l’infrastructure
Infrastructure as a service
Private
Cloud
Public
Cloud
Décrire sous forme de code exécutable et testable la
configuration de l’architecture technique
d’infrastructure
¤ Le code contient la description de l’infrastructure attendue
¤ L’orchestrateur de déploiement d’infrastructure convertit le code en actions techniques et les
exécute sur un fournisseur d’infrastructure
30. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Viser l’excellence opérationnelle en automatisant la construction des environnements
pour fiabiliser le déploiement et gagner du temps
Infrastructure as Code – Objectifs & Paradigmes
Etat désiré
Seul l’état desiré est décrit,
l’outil calcule comment
faire pour atteindre l’état
Le code est descriptif
Idempotence
Demander plusieurs fois le
même état n’affecte pas
le système
Répétabilité et
reproductibilité
Assurer la
conformité
Audit de la conformité à
l’état desire
Correction automatique
des écarts
Software
craftsmanship
Qualité du code
Gestion de version
Test unitaire & Code
review
31. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
¤ Déploiement Applicatif
< Déploie les packages applicatifs (EAR, fichiers de config applicatif…)
< Câble les ressources applicatives (accès base de données...) pour
réaliser un assemblage fonctionnel
¤ Gestion de Configuration
< Assure la configuration homogène des ressources issues du IaaS / IaaS++
dans l’optique de construire un système donné
< Cable les ressources techniques (VM, routeurs, Proxys…) pour réaliser un
assemblage « système »
¤ Infrastructure Agile
< Une infrastructure virtualisée qui offre des services de haut niveau
capables de livrer en self-service des VM avec OS, des middlewares pré-
packagés, des conteneurs
31
Infrastructure as Code – Architecture (1/2)
Application
Service
Build / Deployment
System configuration
Agile infrastructure
(IaaS/PaaS/CaaS)
32. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 32
Infrastructure as Code – Architecture (2/2)
Usine de
Développement
et de
Déploiement
(UDD)
Infrastructure as
code (IaC)
Infrastructure as
a Service (IaaS)
Dépôt binaires
applications
(Nexus)
Code source
applications
(SVN ou GIT)
Descripteur d’état de conf.
désiré (DSC)
(Recettes Chef dans Git)
Inventaire ou
CMDB
Dépôts binaires
socle
(Nexus, RPM repo)
Catalogue de
services d’infra
Catalogue de services
d’environnements
Orchestrateur de Release
Cloud
privé
Cloud
Public
Cloud Management Platform
System Configuration
Tests
(Fitnesse,
jUnit, ...)
Qualité
(SonarQube,
Cobertura...)
Build
(Maven)
API
API
API API API API
33. T H E R E I S A B E T T E R W A Y
Méthodes
Culture
Organisation
34. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 34
D’une organisation orientée projet…
¤ Des équipes projet dissoutes au moment de la MEP
¤ Des équipes production organisées par centre de compétences multi-projets
35. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 35
A une organisation orientée produit
¤ Des compétences d’exploitation qui remontent dans les équipes produits
¤ Une équipe qui garantit les SLA niveau « infrastructure>
36. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Zoom sur une équipe produit
¤ A une mission centrée sur un unique produit
¤ Idéalement 5-12 personnes colocalisées,
dédiées
¤ Gère son produit (son backlog) de bout en
bout :
< Idée
< Design
< Développement
< Déploiement
< Maintenance
< Support
¤ Adapte son processus de réalisation
¤ Intègre la mesure dans chacune de ses
réalisations
¤ Livre fréquemment un logiciel opérationnel
Coach Agile
Ergonome
Product Owner
Tech Lead
Devs
Testeur
Equipe
Stakeholders
Product
Manager
Designer
Ops
Equipe étendue
Mobilisée à temps
partiel
Securité
37. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Objectif : redistribution des rôles
Exploitable
Deployable
Application
Infrastructure
Infrastructure operation
Développement applicative
Déploiement
Standardized
Infrastructure
Capacité / SLA
Self-service
Elasticité
Pay as you Go
Déploiement
Infrastructure as code
« You build it, you run it »
Culture Agile
Application
DevOps
Infra
DevOps
Interface unifiée : API
38. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 38
Sécurité et qualité intégrés dans le processus de développement
OCTO TECHNOLOGY > THERE IS A BETTER WAY 38
¤ Consulting qualité et sécurité au plus tôt pour sensibiliser les développeurs
¤ Sécurité et qualité ne se prouvent pas par des rapports mais par des tests automatisés
39. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 39
Culture : en continuité avec l’Agile
¤ Amélioration continue
¤ Confiance
¤ Sécurité psychologique
¤ Remise en valeur du Craftsmanship
¤ Rituels :
¤ Standups
¤ Vis ma vie
¤ Rétrospective
¤ Pair programming
40. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Méthodes : collaboration Dev vers Ops et Ops vers Dev
• Référentiel d’artifacts
• Outils d’intégration continue
• Faciliter / Automatiser les déploiements
• Autonomiser les équipes de « dev » (notamment,
déploiements anté-prod)
• Faciliter le diagnostic
• Intéresser les « dev » aux problèmes des « ops »
• Accès aux logs et reporting
de production
• Outils de supervision
Dev Ops
41. T H E R E I S A B E T T E R W A Y
Conclusion
42. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 42
Les 4 piliers des pratiques DevOps
Culture, méthode et organisationConstruction et déploiement continu
Architecture & patterns Infrastructure as code
Des architectures et patterns répondant
aux préoccupations des Devs et des Ops
Des outils d’automatisation pour
construire et maintenir l’infrastructure par
du code
Des outils et processus de construction et
déploiement continu
Une culture, des modèles d’organisation et des
méthodes favorisant le dialogue
Un ensemble de pratiques qui visent à réduire le TTM/TTR et améliorer
la qualité logicielle en optimisant la coopération
43. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 43
Retour d’expérience
44. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
DevOps fait partie d’un plus grand tout – l’orientation produit
¤ Ou en êtes-vous concernant :
< L’agilité
< Les pratiques de software craftsmanship
< Le management produit
< La culture managériale et d’entreprise
è Pour vraiment profiter des promesses
de DevOps, certains de ces sujets
peuvent être considérés comme des
pré-requis
44
45. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 45
Comment y aller ?
46. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
NOUS CONTACTER
info@octo.ch
46
Coaching DevOps
Etat des lieux DevOps
Training DevOps Tooling
& practices
Bootstrapping
+ + + +
+ + + +
+
+
+ +
+
+
+ + + +
“The two most important assets of a company cannot be seen in its balance sheet:
its reputation and its people” Henry Ford
46OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
47. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Ø DevOps : fondamentaux et retours d’expérience
Ø Docker au service du CaaS et du PaaS : découverte et prise en main
Ø Kubernetes : utiliser, architecturer et administrer une plateforme de
conteneurs
Ø Automatiser la gestion de serveurs avec Ansible
Ø Déployer une infrastructure IaaS Open Source avec Terraform
Ø Découvrir un IaaS Open Source et manipuler ces APIs avec
OpenStack
Ø Software craftsmanship pour les Ops
Ø Nos formations AWS…
Consulting
& Transformation
Training Program myUSI
Conferences
47OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
48. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
En juin : Notre prochain afterwork DevOps et microservice
¤ Le terme microservice est célèbre depuis longtemps maintenant. Si beaucoup de compagnies
se sont lancées, peu ont réussi à obtenir un bon retour sur investissement.
¤ Cet afterwork vous aidera à évaluer les contextes dans lesquels ce changement d'architecture
peut être pertinent.
¤ Nous exposerons aussi les ingrédients nécessaires à la réussite d'une telle transition.
Save the date!!
49. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
DevOps
8 présentations
Des retours
d’expérience
C’EST ARRIVÉ
PRÈS DE CHEZ VOUS
Un après-midi pour apprendre et partager
Genève, le 9 octobre 2018, de 13h à 19h
Des solutions
pratiques
LES PLACES
SONT LIMITÉES,
INSCRIVEZ-VOUS !
50. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
LA CONFÉRENCE VOUS A PLU ?
Nos équipes sont là pour récupérer votre questionnaire de satisfaction à la sortie !
OCTO TECHNOLOGY > THERE IS A BETTER WAY 5050OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable