44
Le 03/02/2021 Dev Ops Introduction 1

Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Le 03/02/2021

DevOps

Introduction

1

Page 2: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Qui suis-je ?

CommercialChef de projet

Infra, Réseau (~Ops)Fan de scripting,

CTF et autres challenges

Ingénieur Chimiste Développeur puis Expert technique

Java, .net, Js, …

Architecte SOA

Architecte Logiciel

Architecte Cloud & DevOps enthousiaste

SCHMITT SébastienArchitecte Cloud

2

Page 3: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Plan du document

• La Stratégie DevOps

• Organisation

• Architecture

• Outillage

• Gouvernance

• REX

3

Page 4: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

La stratégie DevOps

4

Page 5: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Définition• DevOps est la concaténation du mot anglais « development » (développement) et « operations »

(exploitation).

• DevOps est issu de conférences professionnelles (devopsdays.org)

• « DevOps est un ensemble de pratiques (une philosophie) multi-disciplinaires consacrées à l’étude dela construction, de la maintenance évolutive et de l’exploitation de systèmes informatiques qui doiventpouvoir être modifiés rapidement. » - Jez HUMBLE.

• Objectif : diminuer la durée comprise entre la demande de modification d’un service IT et sa mise enligne tout en améliorant la qualité des applications et en diminuant le coût.

5

Page 6: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Constat: fonctionnement en SILO

Développer une culture collaborative et améliorer la communication

Développement Agile DevOps

6

Page 7: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Préconisations• Plus petit, plus vite et plus souvent

• Modifier l’organisation autour d’équipes autonomes, multi compétentes en charge de l’ensemble ducycle de vie (modèle « build & run »)

• Architecture agile (modulaire)

NETFLIX (chiffres plus très à jours mais l’idée demeure) :

• 100 déploiements / jour

• Equipe co-localisée par application

• La plateforme démarre et arrête des instances en fonction de la charge ou pour compenser des incidents

• Les développeurs sont responsables du fonctionnement et peuvent être appelés à toute heure

7

Page 8: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

1. Culture et organisation

8

Page 9: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Initialisation de la transformationculturelle et organisationnelle.Mise en place de l’agilité surl’équipe étendue

1- Fluidification

Équipes virtuelles responsable dubuild et de la gestion des incidentsen production. Compétences infra.et dev. délocalisées

2- Hybridation

Equipe pluridisciplinaire etresponsable« you build it, you run it »

3- Unification

DevOps Evangelist

Change Manager

Release manager

Architecte Automatisation

Ingénieur Sécurité

Nouveaux rôles

Change Management

9

Page 10: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Exemple d’organisation

Spotify a su créer une culture ouverte et flexible, basée sur l’autonomie,

source de motivation et propice à l’innovation.

10

Page 11: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

• Les squads sont des équipes de 5 à 7 ingénieurs et d’un Product Owner

totalement autonomes comme si ensemble ils créaient une startup. On fait

en sorte que cette Squad soit pluridisciplinaire.

• Chaque Squad est autonome et peut utiliser la méthodologie agile ou

apparentée agile de son choix voire celle qui est la plus adaptée au besoin :

Scrum, kanban, Lean startup…..

Organisation en Squad

La Pizza team

11

Page 12: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

• Dans chaque Squad, nous avons des compétences

équivalentes.

Rassembler 1 personne de chaque squad pour

créer un chapitre permet de s’aligner sur une

même vision/pratique commune.

• 1h / semaine entre chaque chapitre suffit souvent

pour avoir une meilleure vision globale et de ne pas

voir chaque Squad partir chacune dans leur coin …

Synchroniser les pratiques

Les chapitres

12

Page 13: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

• Les tribus représentent plusieurs Squads (de

5 à 8) qui travaillent ensemble sur un même

thème global.

• Il est conseillé de ne pas dépasser des tribus

de 80 personnes afin de garder un

dimensionnement raisonnable.

Transversalité

Les tribus

13

Page 14: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

• Les guildes rassemblent des personnes dans

l’ensemble de l’entreprise pour qu’elles puissent

régulièrement partager sur des sujets similaires afin

de s’aligner sur une même vision.

• Le participation est libre et ouverte.

Communautés d’intérêt spécifiques

Les guildes

14

Page 15: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

• Formation : former les équipes grâce à des formations classiques, des workshop de partage…

• Hack day ou hack week : sessions pour développer quelque chose de différent qui pourrait apporter

un jour à l’entreprise.

• Adds-on : 20% du temps de chacun est consacré à s’améliorer soit 1 journée chaque semaine.

• Post-mortem : on se rassemble 1 journée complète pour partager sur un incident passé. Ce principe

se rapproche des 5 pourquoi qui permet d’aller chercher plus loin la source du problème.

Les pratiques recommandées

Amélioration continue

15

Page 16: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

2. Design & Architecture modulaire

16

Page 17: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Web stg

Service

Browser app or embedded in native

JSONEvents & notifications

HTTP &Websockets

Service Service Business / Domain services

Service Service Service

SQL NoSQL Other

API

HTML & JS Engine

DOM Controllers

Client-side model

• L'architecture microservices est une approche de conception qui

consiste à diviser une application en un ensemble de petits services.

• Les microservices sont conçus autour de capacités métier, et dédiés à

une seule fonction.

• Vous pouvez utiliser différents frameworks ou langages de

programmation pour les écrire et les déployer indépendamment, en

tant que service unique ou en tant que groupe de services.

HTML & JS Engine

DOM Controllers

Client-side model Web stg

Service Layer

Channels Repositories RDBMS

Browser app or embedded in native

JSONEvents & notifications

HTTP &Websockets

CRUD

Architecture modulaire

17

Page 18: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Les architectures « cloud »Des services managés

permettent d’accélérer la mise

en place.

La containerisation garantit la

portabilité des solutions (cloud

privée, public, on-premise…)

Les approches « server-less »

prennent en charge de manière

performante des conteneurs.

CognitoUser Management

API GatewayRESTful API

CloudWatch LogsMicroservices Logging

Trust Advisorroles and policies

Database

Identity Token

1

2

3

4

56

docker containerMicroservices

BackOfficeFrontOffice

18

Page 19: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Stratégies de développement• Il existe de nombreux workflow de développement « Gitflow », « Simple Branching », …

• Il faut choisir celui qui correspond le mieux à votre équipe / votre besoin !

Gitflow le code de la branche master est le code qui est prêt pour passer en production.

Très intéressant quand on utilise toujours la dernière version du logiciel, mais qu’est-ce qui se passe quand on doit supporter plusieurs versions ?

19

Page 20: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

• Simple branching est une pratique de développement dans laquelle tous

les développeurs « commit » leurs changements sur une seule branche

qui est « delivery-ready ».

• Cette pratique nécessite d’avoir une couverture complète de tests

unitaires automatisés et de les jouer à chaque commit. Dans cette

organisation, chaque version livrée en production est tagguée afin de

pouvoir au besoin la « patcher » sans avoir à intégrer les développements

de la branche principale.

• Le simple branching permet de limiter au maximum les « merge », et

oblige à utiliser la plupart des bonnes pratiques de développement, dont

le « feature flipping » en particulier.

« Simple Branching »

Stratégies de développement

20

Page 21: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Blue/green deployment- Permet à minima, d’effectuer des mises en

production de manière transparente

Stratégies de déploiement

Canary release- Tester de nouvelles fonctionnalités sur une petite

population cible avant ouverture complète

Feature toggle- Activation très rapide de nouvelles fonctionnalités

en Production

21

Page 22: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

La notion de « test » s’invite

dès l’analyse du besoin et la

conception.

Le test ne sert plus

seulement à vérifier

l’absence d’anomalie mais

également à guider la

conception et les

développements de la

solution logicielle.

Stratégies de tests

22

Page 23: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Automatisation des tests

TU TU

Recette Recette

Cycle en V Mode DevOps

23

Page 24: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

3. Outillage

24

Page 25: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

La chaîne d’outils DevOps

25

Page 26: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Tableau périodique des outils DevOps

26

Page 27: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Intégration / Livraison / Déploiement continue

• Intégration continue : Build et TU automatisés pour détecter les erreurs au plus tôt

• Livraison continue : Déploiement pour recette, tests et validation manuels avant la prod

• Déploiement continue : Mise en production automatique

27

Page 28: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Monitoring

• Suivre les métriques et les logs permet de découvrir l'impact des performances de

l'application et de l'infrastructure sur l'expérience de l'utilisateur final.

• La supervision active et automatisée est de plus en plus importante, car les services doivent

aujourd'hui être disponibles 24h / 24 et la fréquence des mises à jour augmente sans cesse.

Watch

28

Page 29: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

4. Gouvernance des équipes

29

Page 30: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Gouvernance• Choix stratégiques d’une entreprise

• Permet de coordonner l’ensemble des services pour être en accord avec la vision de l’entreprise.

Mesurer

Expérimenter PrioriserOn ne peut améliorer

que ce qu’on mesure !

30

Page 31: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

REx

31

Page 32: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Retour d’expérienceTransformation DevOps d’une grand fabriquant de pneus Français

• 2012 : Première expérience Agile/DevOps Arrêt en 2013 car les managers n’étaient pas impliqués/moteurs

• Lancement en 2013 d’un plan de transformation sur 5 ans

• Découpage en 4 chantiers :

• Expérimentation sur une équipe avec un périmètre complet.

• Définition d’un catalogue standard et gestion en auto-provisionnement

• Reprise à leur charge de toute l’infra existante en 2 ans

• Refonte des équipes internes en Delivery Squads

Réussite de la transformation en 2018/2019

32

Page 33: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Expérimentation

From a continuous integration toolset to a continuous delivery platform with: release automation, infra provisioning,…

• One Integrated Team (People + process + tools)

• NFR = A function of the application

• Std catalog & Self provisonning

• Adaptive project life cycle

• Validation Based on risk Mngmt

• Release Train to go-live

33

Page 34: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Refonte des équipes

MODÈLE D’ORGANISATION DU TRAVAIL

SCRUM WATERFALL KANBAN

Attributs

STABLE DANS LE TEMPS AUTO-ORGANISÉE PLURIDISCIPLINAIRE MEMBRE DE L’ÉQUIPE DÉDIÉ CO-LOCALISÉ (AUTANT QUE

POSSIBLE)

34

Page 35: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Quizz DevOpsVoyons si vous avez suivi

Source : https://www.rudder.io/fr/blog/2015/08/25/quiz-expert-devops/

https://app.klaxoon.com/join/ZC8M6XZ

35

Page 36: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

DevOps, c’est quoi ?

1. Une philosophie de travail pour les équipes IT.

2. Des outils pour les équipes dev et ops.

3. Une personne qui fait le lien entre les devs et les sysadmins.

36

Page 37: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Comment se former sur le sujet ?

1. Embaucher des consultants expert DevOps.

2. Appliquer des conseils d’internet au pied de la lettre sans se polluer l'esprit avec le contexte existant, les experts de la toile ont forcément raison !

3. Aller dans des conférences, partager son expérience, l’apprentissage et la communication c’est la base.

37

Page 38: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Pour faire passer les équipes au DevOps il faut

1. Enlever les barrières entre les équipes, faciliter la discussion et le partage de compétence transverses.

2. Solliciter un architecte DevOps permettant de mieux faire coopérer les équipes.

3. Constituer une équipe DevOps séparée des équipes actuelles, afin que chacun puisse faire son travail sans gêner les autres.

38

Page 39: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

A quoi ça sert ?

1. Réduire les effectifs, les devs peuvent remplacer les ops et inversement, et donc réduire les coûts.

2. Suivre les tendances hype c'est important pour rester à la page, et dans un an on change.

3. Favoriser le partage de points de vue et de compétences entre les équipes permet de réduire les tensions, et de fournir des livrables plus proche des besoins, plus tôt.

39

Page 40: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Des serveurs sauvages apparaissent !

1. Pas de soucis, on a une image d'une ancienne machine, on la clone et on fait les modifs restantes avec le script à Didier.

2. Ils sont intégrés dans les process d’automatisation (provisioning, gestion de configuration, etc.) et... c'est tout c'est fini !

3. Il faut tout configurer à la main afin de mieux maîtriser les paramètres.

40

Page 41: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Il faut mettre en prod, comment ça se passe ?

1. Thierry push son commit, ça marche sur son poste, même si c’est pas à lui de s’occuper de la mise en prod, en plus on est Vendredi.

2. Thierry push son commit, les membres de l'équipe collaborent afin de valider correctement cette version avant qu'elle soit effectivement mise en prod.

3. Thierry push son commit dans Git, il y a tout un pipeline d’outils ContinuousDelivery, le Jenkins générera une nouvelle image Docker à publier direct dans le cloud...

41

Page 42: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Les principes DevOps sont "C.A.M.S.", ce qui signifie :

1. Create, Anticipate, Migrate, Simplify

2. Cloud, Ambition, Manual, Servers

3. Culture, Automation, Measurement, Sharing

42

Page 43: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

DevOps : Key points

• C’est une culture d’entreprise

• Les managers doivent être moteurs

• Mais tout le monde est impliqué

• Il faut revoir la façon de concevoir/développer

• Les outils peuvent vous aider

• Tester le TDD, la conteneurisation (docker), le Cloud

43

Page 44: Introduction · 2021. 2. 3. · la charge ou pour compenser des incidents ... source de motivation et propice à l’innovation. 10 • Les squads sont des équipes de 5 à 7 ingénieurs

Merci