Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Penser son infrastructure comme du code, par Bastien Cadiot

WeScale
October 20, 2018
130

Penser son infrastructure comme du code, par Bastien Cadiot

Recette pour configurer 1 infrastructure : suivre 2 pages wiki, exécuter 3 scripts, lancer 4 commandes, corriger manuellement 5 paramètres, passer 6h à débugger un élément non prévu, et jouer au jeu des 7 différences avec ce qui était attendu.

Lorsque nous exécutons plusieurs fois un programme nous nous attendons à ce que son comportement soit toujours le même. Pourquoi en serait il autrement pour nos infrastructures ?
Il est possible d’appliquer à l’infrastructure, les méthodes et outils qui nous aident à fiabiliser nos développements. Après tout l’infrastructure peut aussi être un code comme les autres.

Venez découvrir ou redécouvrir l’Infrastructure as Code !

WeScale

October 20, 2018
Tweet

Transcript

  1. Infrastructure as Code ? C’est quoi ? Vous ne connaissez

    pas : - pourquoi faire ? - c’est compliqué ? - ça va m’aider ? Vous connaissez : - c’est mieux qu’un script ? - c’est plus fiable ? - on peut automatiser ? - comment innover ?
  2. Infrastructure as Code ? On est tous un peu :

    Dev Ops Archi QA ... Qui pratique déjà l’infra as code ? Ce n’est pas une affaire de “DevOps”
  3. C’est compliqué ? Non . . . . . .

    En réalité : - Nouvelles pratiques - Logique différente - Nouveau langage
  4. Distiller des tests dans l’infra • Les cinématiques de tests

    existent aussi pour l’infra • Infra as code = tests de code classiques ! • Oubliez le cahier de recette… • Ne négligez pas les TU / TNR / E2E / … • Permet CI/CD ! bit.ly/wsc-ci @rokflow kitchen.ci
  5. Continuous Development - Build, push, deploy - Facilite grandement le

    développement - Outils : Skaffold, Draft, ... CI/CD Continuous Integration - Merge fréquents - Tests systématiques - Code quality, security, compliance Continuous Delivery - Packaging continu - Ready to prod - Validation requise (manuelle ou automatisée) Continuous Deployment - Déploiement en production en permanence - Nécessite de pousser les tests - Aucune validation humaine CD/ /CD
  6. Comment innover ? NON : - aux solutions prépackagées -

    aux modèles 1-click - à l’abstraction de l’infrastructure Un catalogue de service IaC OUI : - à la modularisation des composants - aux couches IaC référençables - à l’open source public ou privé
  7. Comment innover ? Utiliser l’IaC en tant que référence… …

    pour explorer toute l’infrastructure github.com/camptocamp/terraboard
  8. Comment innover ? Utiliser l’IaC en tant que référence… …

    pour visualiser les dépendances github.com/28mm/blast-radius
  9. Le mot de la fin “Nous on fait du DevOps,

    mais on l’a adapté pour ne pas trop perturber les gens” => Attention aux anti-pattern https://web.devopstopologies.com/