notebook/IT/devOps.md
vincent 945b046d0c
Some checks failed
continuous-integration/drone/push Build is failing
add devops notes
2022-10-05 22:59:48 +02:00

497 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# DevOps notes
## intro
pourquoi
demarche:
- culture
- valeur
- croyances
principes: 3 Ways
process: methode
outils:
## explorer devops
**time to market**: période entre les premières idées concernant un produit et
sa disponibilité éventuelle sur les marchés de consommation répondre au besoin marché
**time to value**: Mesure du temps nécessaire pour que l'entreprise recouvre
la valeur d'une fonctionnalité ou d'un service. crée u ne nouvelle valeur
**agile**: mise en prod par petite itération
**mur de la confution**: les devs et la prod n'on pas les même objectif changement/stabilité
### objectif
- version plus petite et plus fréquente
- limitation de l'impact (effet blast)
- communication inter équipe
- gain de temps -> automatisation
- Vision global et systémique
- casser les Silo
**CALMS**:
- Culture:Valeurs et comportements qui contribuent à instaurer l'environnement
social et psychologique
- Automatisation
- Lean: amélioration continue, horizontalité, standardisé
- Mesure: monitoring, KPI
- solidarité: feedback
Minimum value product: objectif minimum du client
### le cercle d'or
Why: But Cause Croyance
How: ce qui nous distingue
What: produit
L IT na plus besoin de saligner ou de sintégrer au business, elle est le business
## principe fondamentaux
### les 3 voies
#### flux: dev vers Ops
comprendre le flux fluidifier ,
outils:lean automatisation
- ne pas transmettre de default
- une optimisation local ne doit pas dégrader de dégradation global
**Value Stream Mapping**:décrit le flux dinformations, de matériaux et de
travail entre silos fonctionnels, en mettant l'accent sur DevOps la
quantification et l'élimination du gaspillage,
théorie des contraintes
- au moins toujour une contrainte
- limiter au maillons le plus failble (like rando)
- l'amélioration passe par l'optimisation des contraintes
- identifier la contraintes
- exploiter
- subordonner et synchroniser
- élever la performance
- répéter le process
#### feedback: des ops vers les dev , ITSM
rapide
améliorer les pratiques
- monitoring
- automatisation des tests
- post mortem
- donnée de changement, incident
#### experimentation et apprentissage coninue
- allouer du temps
- droit a l'erreur
neccessite:
- 3p: Protection, Permission, Puissance
- **assertivité**: voir la valeur de l'autre oposé de la domination
chaos Engineering
- généré des problématique sur une instance de production: permet d'évaluer
encourger une culture d'apprentisasge: voir chatops
**maitrise** répétition et entrainnement
## Principal pratiques de DevOps
### tests en continue
décalage a gauche: meilleure qualité lors de dev évute les proléme de mise en prod
test fonctionnelle: unitaire
test non fonctionelle: capacité, securité, performance
test-driven development: création des tests avant le dev
### intégration continue
commit régulier: lancement des test..
### continous delivery
s'assurer que le logiciel est toujour dans un étét livrable (s'arréte a la QA)
### continous deploiement
continue delivery jusqu'en Prod
### Site Reliability Engineering
mettre en place la resilience,
capacité du systéme a s'adapter
### ChatOps
partage entre les équipee
### KanBan
- notion importante de la capacité pour chaque "colonne"
- je vais cherché l'activité (Pul)
- lead time: entré de backlog et fin de process
- cycle time: entré dans le process et fin de process
- temps de backog= lead time - cycle time
- visualiser les contraintes
## Frameworks business et technologique
### Agile
valeur sur kes individu plutot que les pocesss
manifase agile
| valorisé | plutot que |
|---|---|
|individus|Processus et Outils|
|logiciel opé|doc exhaustive|
|collaboration avec les clients| Négociation contractuelle|
|adapatation au changement|suivre un plan|
- truc qui fonctionne plutot que la doc
#### SCRUM
- livrer pendant une période définie (sprint)
- itération fonctionnelle
- User stories: demandes rédigée du point de vue client
- Epics; grandes stories découper eb yser story
Product Backlog -> sprint Backlog -> itération
roles:
- équipe de dev
- product owner
- scrum master
#### Safe
agilité a grande échelle
### ITSM
- mise en oeuvre des services
- fournit des conseils et une structure aux processus
Agile Service Management: adapter les processus.
### lean
suivre le produit
chasse au mouda: gaspillage:
**DOWNTIME**:
- Default: ne pas respecter le besoin client
- Overproduction:
- waiting: attente de tests
- No use: outils non utilisé car probléme d'adhesion
- Transport: ping pong ticket
- Inventaire: Stock
- Mouvement:
- Excessive traitemnt: doc d'explication général trouvable sur internet
#### VSM
**Value Stream Mapping**: chaine de valeur sequence activité requise pour
concevoir prosuire et livrer
Demande client -> chaine de valueur -> produit
voir sur le terrain
#### Improvment Kata
répétition d'une pratique jusqu'elle devienne une habitude
roue de demming
2 existant -> 4 PDCA -> 3 objectif d'amélioration -> 1 Vision (long terme)
premiére étape: **Vision**
#### Cultutre de la sécurité
- valeur que partage les employé en matiére de sécurité
- post mortem **sans reproche**
- évaluer les incident
- SPOF
- cordon d'andon (remercier d'avoir tirer la sonnette d'alarme)
#### crée une organisation apprennante
- **engagement de la direction essentiel**
- ne pas apprendre est une dette culturel
#### Finacement en continu
- traditionnellement annuelle
- en mode agile: **révisé frequemmen** (trimestre)
- mesure du retour
- finacement a risque
## Culture, Comportement et modéle d'opération
**On ne peur pas changer la culture mais on peu changer les comportement.**
Dette culturel: Considération ignorée par rapport de la croissance et de l'innovation
caracterisque:
- valeur aligné sur le comportement
- collaboration
- fierté dans le travail
- Confiance
- amélioration continue
- Sûr
- Reconnaissance
- mesurable
confiance élevé > confiance faible
MVB: Most Valuable Bureacratie
### type de culture
| pathologique | Bureautratique | Génératrice |
| ----------------------------- | --------------------------------------- | --------------------------------- |
| inforation non dispo | information pe ignoré | information activement recherché |
| messager fusillé | messager isolé | messager encourager |
| responsabilité évitées | responsabilité sont compartimentalisées | les responsabilité sont partagées |
| les lien direct sont découagé | lien direct non encourager | lien direct sont récompensé |
| echec couvert | organisation juste est pardonne | echec entraine une investigation |
| originamité bridée | originaité crée des problémes | originalité mise en avant |
- les gens n'offrent pas de résistance a leur propres idées,
**il ne peuvent que ce changer eux même**
- implication des partie prenante impérative
- une personne impliquer dans les décisions est plus suceptible d'acepter le changement
### étape de l'aceptation du changement: courbe de kubler ross
- choc
- denie
- frustration
- depression
- experiment
- decision
- Integration
communication rapide est effice neccessaire #ChatOps
### Encourager la collaboration
- volontaire
- partagé
- fournir des feedback
- partage des connaissances
- partage des responsabilité
- engagement réalilste
### s'attendre au conflit
inventaire des conflits de Thomas-Kilmann (erreur dans le tableau?)
### Eviter la fatigue aux changement
> Le degré de fatigue face aux changements ressentie par les personnes est directement
> liée à la façon dont le changement est géré.
- génére de l'**apathie**
- elle est normal
- expliquer les raisons
- montrer les interconnection
- avoir un feedback
- célébrer les succée
### Valorisé les nouveux changements
- expérience d'immerssion
- Team Building
- Hackaton
- communité (guilde)
## Automatisation
un outils par servce
avantage de l'Automatisation:
- indepotent
- environement maitrisé
- moins d'incidents
**artefact**: tout objet compris dans objet (documentation,plan de test , images
, fichier de donnée...)
**API**: interface entre des module ou des applications
**Microservices**: logicielle composée de modules plus petits qui interagissent
via des API
**Virtualisation**: VM ou conteneurs isolation de l'environnement
**Open Source** : logiciel distribué avec le code sources
**Machine Learning**: analyse de données utilisanr des données.
### Cloud, conteneurs et Microservices
IAS: délégation de la partie Infra
PAS: gestion de l'os, database déléger on ne gére uniquement l'applications
SAS: office 365
### IA & Machine Learning
Analyse de données qui utilise des algorithmes pour apprendre des données.
- analyse de log ...
### Infrastructure as code
un grand pouvoir implique de grande responsabilité
### Automatisation de la communication
- alarmes
- améliorer la réponse
- collaboration virtuelle
### premiére étapes de l'Automatisation
- définir l'architecture
- évaluer l'existant
- automatier le travail a haute valeur ajoutée, répétitif et sujet aux erreurs
- Optimiser les goulots d'étrangleemnt
- **pouvoir évoluer avec le temps**
- modéliser
- automaitiser les process de déploiement et de versions Build
- automatiser les test unitaire
- automatiser les tests d'acceptation (UAT)
- automatiser la mise en prod
### Toolchains
- chaque élément sert un objectif particulier
- les interfaces sont assuré par des API
- elle ne doivent pas tous être fournit par le même fournissuer
- neccessite une conception architectural
- **elle doit être évolutif**
example d'élément:
- Gestion des exigences
- Orchestration et visualisation
- Gestion des versions
- Intégration continue et versions
- Gestion des artefacts
- Virtualisation de conteneurs et de systèmes
- d'exploitation
- Automatisation des tests et de l'environnement
- Configuration et déploiement du serveur
- Gestion de la configuration du système
- Alertes et alarmes
- Monitoring
modéliser la chane de valueur -> automatiser les release -> automatiser les test
unitaire et le coverage -> automatiser les test d'acceptation -> automatiser la
mise en prod -> amélioration continue
## Mesures, indicateurs et reporting
si on ne peut pas mesurer on ne peu pas améliorer
- mesurer la vitesse: fréquence, vitesse de déploiement
- qualité: Taux d'echec des changement
- stabilité: MTTD délai moyen de detection des incident, MTTR délai de
réparation, MTRS Délai moyen de rétablisement du service
- Culture: Engagement et moral, partage de connaissances.
1er voies: Les mesures nous permettent de trouver des contraintes
2 éme voies: Les preuves créent la confiance et permettent de faire plus
3 éme voies: Les hypothèses nécessitent des résultats quantifiables
pour déterminer la prochaine expérience
4 types de travail (IT) :?
- Projets business
- Projets IT
- Travail planifié
- Travail non planifié
## Partage, observeation, évolution
Devops Days internes
### Developpement
- turn over
- dificulté a monté en compétence
- autoformation
### Compétence
- priorité de l'entreprie
- culture G IT
- intéret pour le code
- adaptable
T-shaped: une spécialiter
pi-shaped: deux spécialiter
comb-shaped: multi spécialiter
leadership transformationnel
**Enps** employes promotter stat
- on part de ou on ai
- transparence
- se concentrer sur les comportement critique
- Expérimenter et apprendre
- Eviter l'inertie
### Facteur determinant de réussite
- engagement de la direction
- création d'une culture d'apprentissage collaboratibe
- Valeur et vocabulaire Commun
- **casser les silos**
- Indicateur
- Application de methode Agile et lean
- Communication ouverte et frequente
### Défis & Risque
- manque d'engagement
- transformer le eux en nous
- Manque d'éducation
- Mauvaise communication