Devops

INSSET - Master 2 Cloud Computing

Novembre 2016 - Bertrand Tornil

Définition

DevOps

Où ? Qui ?

Les grands du Web... et d'autres

Facebook

Google

Amazon

LinkedIn

Flickr

Etsy

Github

37 Signals

...

Pourquoi ?



On a un problème

Le développeur


Je dois ajouter / améliorer des fonctionnalités.

Changements

L'administrateur système


Je dois faire en sorte que le service soit stable.

Stabilité

Incompréhension

"Merci de mettre ce code en prod. Bon WeekEnd !"

"Heu... ?"

"J'ai un fix qui marche sur mon laptop"

"ok, on met ton portable en prod, alors"

DevOps

Pas de dogme

Pas manifeste

Des valeurs

Culture

Automation

Measure

Sharing

Culture

Communication

Bonnes pratiques

Communication

À bas les silos !

Parler est gratuit

Bonnes pratiques

Versionning du code

The twelve factors apps

Object Calisthenics

Extremly Defensive Code

KISS principle

Intégration continue

Release continue

Case Study

By automating deploys, a brand-new GitHubber can (...) deploy changes on their first day without needing to read up on how our deploy script delivers code updates to 60+ servers.

Zach Holman - GitHub

Examples

IMVU :50 déploiements par jour, 9 minutes par build sur 40 serveurs de builds

Flickr :10 déploiements par jour

Etsy :25 / jours, 7000 tests sur 10 jenkins en parallèle

Wordpress.com : 16 par jour, 30 secondes pour déployer sur 400 serveurs

Facebook : 1 à 2 push par jour, 1 large par semaine. Le binaire à déployer pèse + 1Go à déployer sur 30000 machines... en moins d'une heure



Chez Etsy et Github, les nouveaux DOIVENT pousser en prod dès leur premier jour

Automation

Les machines sont vraiment douées pour faire la même tâche

encore et encore


Pensez à ça :

5 minutes par jour

=

2.6 jours par an !

Que peut-on automatiser ?

Builds

Déploiements

Tests

Monitoring

Gestion de configuration

...

Metriques

Récolter

Apprendre

Améliorer

Exemple de métriques peu communes

  • Mean Time Beween Failure
  • Mean Time To Diagnose
  • Mean Time To Repair
  • Changes per Week
  • Change sucess rate

Et métriques qui ne devraient pas être à mesurer

  • Surcharge due aux changementx d'avis du management
  • Nombre de personnes pour provisionner une machine /instance
  • Nombre de personnes pour déployer en production
  • Nombre de personnes ayant accès aux logs de prod
  • Nombre d'étapes manuelles pour provisionner une machine /instance
  • Nombre d'étapes manuelles pour accéder aux logs de prod
  • Combien de temps pour faire chacune de ces précédentes tâches

Case Study

Measure Anything, Measure Everything

Ian Malpass - Etsy


Publication de code : Statd, Logster, Deployinator

Partage

Partager les idées

Partager les outils

Partager les métriques

Vision commune

Problèmes communs

Glossaire commun

Outils communs

Partage

Devopsdays

Devops meetups

Devops mailing list

https://groups.google.com/forum/#!forum/paris-devops

THE END

INSSET - 2016

bertrand.tornil@gmail.com

Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les Mêmes Conditions 3.0 France.