Académique Documents
Professionnel Documents
Culture Documents
Introduction à DevOps
1
Plan
●
Cycle de vie DevOps
●
Les équipes Dev et Ops
●
Définition de DevOps
●
Les pratiques DevOps
2
Cycle de vie DevOps
Etapes
3
Cycle de vie DevOps
Etapes
●
Définition du besoin : Les besoins du client/utilisateur de l’application.
●
Architecture : Conception et planification des changement à réaliser
●
Développement : Ecriture du code source avec le langage de
programmation.
●
Compilation : Compilation du code source si c’est un langage compilé
(Java, C/C++, etc …)
●
Phase de tests : réalisation d’un ensemble de tests fonctionnels (tests
unitaires, test d’intégration, etc …)
●
Assurance Qualité (QA) : vérifier la qualité de l’application (respect des
bonnes pratiques de développement, sécurité, performance, etc …)
●
Déploiement : Installation et configuration de l’application sur
l’infrastructure de production.
●
Autres étapes : utilisation et monitoring de l’application
4
Cycle de vie DevOps
Pipeline
5
Cycle de vie DevOps
Pipeline
●
Le pipeline sert à automatiser le cycle de vie
DevOps
– Partiellement : automatiser une partie
– Totalement : automatiser tout le processus depuis
compilation jusqu’au déploiement
●
Objectifs de l’automatisation :
– Accélérer le cycle de vie
– Avoir plus de qualité
●
Utilisation des outils DevOps : Git, Maven, Junit,
Docker, Jenkins, Kubernetes, etc ...
6
Les équipes Dev et Ops
Perspective Business
●
La valeur commerciale de DevOps :
– Profit
– Productivité
– Nombre de clients
– Qualité et Quantité de produits et de services
– Efficience opérationnelle
– Satisfaction des clients
7
Les équipes Dev et Ops
Perspective IT
●
Les challenges internes de l’IT :
– Accélérer le rythme de travail sans compromettre la
qualité.
– Les investissements pré-production ne génèrent
pas de la valeur, de bout en bout.
– La culture du cloisonnement dans l’IT ralentit le flux
de la valeur.
●
DevOps doit continuellement livrer des apports
en facilitant les interactions et en améliorant
chaque aspect de l’IT.
8
Les équipes Dev et Ops
Perspective IT
9
Les équipes Dev et Ops
Perspective IT
●
Les développeurs ont parfois une tendance à
se focaliser sur les changements, parfois trop.
Conséquences ?
●
Les opérationnels ont une tendance à se
focaliser sur la stabilité des services, parfois
trop. Conséquences ?
●
L’objectif ultime du business est d’avoir des
produits riches stables et de qualité à bas prix.
10
Définition de DevOps
Les stéréotypes Dev et Ops
●
DevOps n’est pas :
– Combinaison entre le Dev et le Ops
– Une équipe distincte des autres
– Un outil
– Un bâton magique
– L’automatisation
– Une culture
– L’anarchie
11
Définition de DevOps
Définition de DevOps
●
Aucune définition standard de DevOps.
●
Un mouvement visant à l'alignement de
l'ensemble des équipes du système
d'information sur un objectif commun, à
commencer par les équipes dev chargés de faire
évoluer le système d'information et les ops
responsables des infrastructures.
12
Définition de DevOps
Origines de DevOps
●
Inventé par Patrick Debois durant les DevOpsDays à
Gand en Belgique, en Octobre 2009.
●
Lancé avant une année sur le terrain par les équipes.
●
Elles ont relevé des inconvénients dans le modèle de
développement traditionnel, qui inclut une séparation
organisationnelle et fonctionnelle entre les équipes
de programmation, de déploiement et de support.
●
Pour pallier à ce problème, les deux communautés
se sont donc réunies pour échanger et chercher des
approches de solutions.
13
Définition de DevOps
Objectifs de DevOps
●
Augmenter l’empathie et la cohésion entre les
membres de l’équipe.
●
Plus de satisfaction des employés et des clients.
●
Réduction du délai de production, commercialisation
et rétablissement.
●
Réduction du taux de pannes et de problèmes de
déploiement.
●
Amélioration de la sécurité, l’évolutivité, la fiabilité et
des performances des livrables.
●
Réduction des risques de défaillance.
14
Les pratiques DevOps
Test continu
●
Exécuter de manière automatisée les tests afin
d’obtenir un feed-back immédiat à propos des
risques métier associés à une release candidate
●
Catégories de Tests:
– Tests fonctionnels : – Tests non fonctionnels :
●
Unitaires ●
Performance
●
API ●
Sécurité
●
Intégration ●
Conformité
●
Système ●
Capacité
15
Les pratiques DevOps
Intégration continue
●
Pratique de développement qui consiste à faire un
commit de code dans un répertoire de code au moins
une fois par jour.
●
La validation se fait via :
– Une construction automatisée
– Tests unitaires, intégration et acceptation automatisés
●
Dépend de standards de codage
●
Requiert des serveurs de CI
●
Opère sur des environnements similaires aux
environnements de production
16
Les pratiques DevOps
Livraison continue
●
Elle s’intéresse à rendre le logiciel dans un état livrable
tout le temps durant son cycle de vie.
●
Boost pour l’intégration continue
●
Favorise le maintien de l’état livrable d’un logiciel par
rapport au développement de nouvelles fonctionnalités
●
Repose sur un pipeline de déploiement qui rend
possible le déploiement selon la demande à n’importe
quel moment du développement
●
Réduit considérablement le coût, le temps et les
risques de livraison des changements incrémentaux
17
Les pratiques DevOps
Déploiement continu
18
Les pratiques DevOps
DevSecOps
●
La sécurité est une responsabilité partagée.
●
Intégrer la sécurité aux projets DevOps
– réfléchir à la sécurité de l'application et de
l'infrastructure dès le départ.
– automatiser certaines passerelles de sécurité afin
d'éviter tout ralentissement des workflows DevOps.
●
Sélectionner les outils capables d'assurer
l'intégration continue de la sécurité,
– Environnement de développement intégré commun
qui offre des fonctions de sécurité.
19
Les pratiques DevOps
Outils DevOps
20