Slide 1

Slide 1 text

©2020 Avanade Inc. All Rights Reserved. 1 Infrastructure as Code – Intro Avanade Presentation – 15/09/2023 SAISON #1 Episode #1

Slide 2

Slide 2 text

©2022 Avanade Inc. All Rights Reserved. Agenda IaC : Késako ? Software Crafmanship Conclusion & What’s next ? Michel Hubert Sr Dir, SA Offering Lead MAPS Platform Engineering

Slide 3

Slide 3 text

©2022 Avanade Inc. All Rights Reserved. ©2020 Avanade Inc. All Rights Reserved. Infrastructure as Code A long journey…

Slide 4

Slide 4 text

DEV OPS Il n’y a pas de prolème avec mon code. Vous avez mal déployé ou il y a un problème avec l’infrastructure !! L’infrastructure est bonne. Ca doit être un problème de code.

Slide 5

Slide 5 text

©2022 Avanade Inc. All Rights Reserved. Infrastructure as code Target any cloud, on-premises data centers, and more Créer un jeu de fichiers déclaratifs qui définit l’environnement souhaitée incluant des variables, des modules pour créer des templates flexibles. Lire les fichiers de definition, interroger l’environnement existent et provsionner les ressources souhaitées. Interfacer avec les environnements existants pour appliquer les paramètres de configuration specifies dans les fichiers de definition. Définir Configurer Provisionner

Slide 6

Slide 6 text

©2022 Avanade Inc. All Rights Reserved. Infrastructure as Code Infra as Code Config as Code Application as Code

Slide 7

Slide 7 text

©2022 Avanade Inc. All Rights Reserved. Idempotence

Slide 8

Slide 8 text

©2022 Avanade Inc. All Rights Reserved. DECLARATIVE IMPERATIVE « what » « how »

Slide 9

Slide 9 text

©2022 Avanade Inc. All Rights Reserved. Idempotence

Slide 10

Slide 10 text

©2022 Avanade Inc. All Rights Reserved. Pourquoi l’infrastructure as code? Construire des environnements le plus rapidement possible. Retirer les erreurs humaines et créer des déploiements répétables. Améliorez la visibilité de l'environnement et améliorez l'efficacité des développeurs Stockez vos definitions d’infrastructure aux côtés de vos codes applicatifs.

Slide 11

Slide 11 text

©2022 Avanade Inc. All Rights Reserved. Outils bicep

Slide 12

Slide 12 text

©2022 Avanade Inc. All Rights Reserved. ©2021 Avanade Inc. All Rights Reserved. Maturité sur l’automatisation Discovery Inner loop automation UI usage Using dev-friendly CLIs Automation at scale

Slide 13

Slide 13 text

©2022 Avanade Inc. All Rights Reserved. Everything as Code

Slide 14

Slide 14 text

©2022 Avanade Inc. All Rights Reserved. ©2021 Avanade Inc. All Rights Reserved. Automation Fear 15

Slide 15

Slide 15 text

©2022 Avanade Inc. All Rights Reserved. Dans infrastructure as Code, il y a « Code » 16

Slide 16

Slide 16 text

©2022 Avanade Inc. All Rights Reserved. Approche 3-Tier Création de modules « contextualisés » : Exemple : Compte de stockage avec règle de nommage

Slide 17

Slide 17 text

©2022 Avanade Inc. All Rights Reserved. Approche 3-Tier Construire des « services » à partir de ces modules Exemple : Serveur Web – AppService / Compte de stockage / Load Balancer, ….

Slide 18

Slide 18 text

©2022 Avanade Inc. All Rights Reserved. Approche 3-Tier Déploiement d’architecture complète en assemblant les services.

Slide 19

Slide 19 text

©2022 Avanade Inc. All Rights Reserved. Qualité

Slide 20

Slide 20 text

©2022 Avanade Inc. All Rights Reserved. Unit Testing Static Code Analysis Peer Review / Pair Programming Acceptance Criteria (BDD) Agilité

Slide 21

Slide 21 text

©2022 Avanade Inc. All Rights Reserved. Unit Testing Qualité

Slide 22

Slide 22 text

©2022 Avanade Inc. All Rights Reserved. Unit Testing - Kitchen - RSPec - Pester Qualité

Slide 23

Slide 23 text

©2022 Avanade Inc. All Rights Reserved. Analyse Statique de Code : - Tflint (aws) - terrascan (aws) - Tfsec (sécurité) Qualité

Slide 24

Slide 24 text

©2022 Avanade Inc. All Rights Reserved. TfSec https://github.com/liamg/tfsec

Slide 25

Slide 25 text

©2022 Avanade Inc. All Rights Reserved. Sécurité : - Checkov - BridgeCrew Qualité

Slide 26

Slide 26 text

©2022 Avanade Inc. All Rights Reserved. ©2021 Avanade Inc. All Rights Reserved. Sécurité du « Code »

Slide 27

Slide 27 text

©2022 Avanade Inc. All Rights Reserved. Peer Review - Clean Code - Refactoring

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

Qualité Acceptance Criteria (BDD) - Pester

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

©2022 Avanade Inc. All Rights Reserved. CI/CD

Slide 32

Slide 32 text

©2022 Avanade Inc. All Rights Reserved. Diagramme as Code : Brainboard

Slide 33

Slide 33 text

©2022 Avanade Inc. All Rights Reserved. Infra as Code 2.0 : Platform Engineering (new paradigm)

Slide 34

Slide 34 text

Expérience Développeur On-Demand Environment Manual deployment Dev Portal Dev Tools Sandbox Environment CI/CD Pipeline Environment Automated deployment GitOps workflow …

Slide 35

Slide 35 text

Self Service Déploiements pour les Développeurs Azure Deployment Environments Environment types Production Dev R&D Templates Front-end Data engineering Networking + Platform engineering team Dev team Dev environment Role: Contributor Prod environment Role: Reader R&D environment Role: Owner

Slide 36

Slide 36 text

Platform engineering delivers… Accelerated developer velocity Increased impact of DevOps Improve overall security

Slide 37

Slide 37 text

Conclusion What’s next ?

Slide 38

Slide 38 text

©2022 Avanade Inc. All Rights Reserved. * As Code Infrastructure as Code Configuration as Code « Every is software »

Slide 39

Slide 39 text

©2022 Avanade Inc. All Rights Reserved. Generative IA GitHub CoPilot AIaC

Slide 40

Slide 40 text

©2022 Avanade Inc. All Rights Reserved. Next steps chez Avanade D’autres épisodes à suivre. Envoyez moi vos feedbacks, les sujets que vous souhaitez aborder ! Dans le pipe : Focus Sécurité CI/CD in depth Diagramme as Code Platform Engineering in a nutshell 12 Factor App & IaC Terraform par la pratique Evolution des métiers de l’Ops …