Blog ENI : Toute la veille numérique !
En raison d'une opération de maintenance, le site Editions ENI sera inaccessible le mardi 10 décembre, en début de journée. Nous vous invitons à anticiper vos achats. Nous nous excusons pour la gêne occasionnée
En raison d'une opération de maintenance, le site Editions ENI sera inaccessible le mardi 10 décembre, en début de journée. Nous vous invitons à anticiper vos achats. Nous nous excusons pour la gêne occasionnée
  1. Livres et vidéos
  2. L’infrastructure as Code avec Terraform - Déployez votre infrastructure sur le Cloud

L’infrastructure as Code avec Terraform Déployez votre infrastructure sur le Cloud

Informations

Livraison possible dès le 12 décembre 2024
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Livre (broché) - 17 x 21 cm
  • ISBN : 978-2-409-04662-9
  • EAN : 9782409046629
  • Ref. ENI : EITERRA

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-409-04663-6
  • EAN : 9782409046636
  • Ref. ENI : LNEITERRA
Ce livre sur Terraform s’adresse aussi bien aux « Devs » qu’aux « Ops », débutants ou disposant déjà de notions de base, qui souhaitent maîtriser le développement d’une infrastructure sur le cloud. Le lecteur y trouvera des cas d’usage illustrés par des exemples de code variés lui permettant d’être à l’aise avec son langage, son utilisation et son écosystème. Dans les premiers chapitres du livre, l’auteur présente les fondamentaux de Terraform, de la présentation des notions générales de...
Consulter des extraits du livre en ligne Aperçu du livre papier
  • Niveau Confirmé à Expert
  • Nombre de pages 436 pages
  • Parution octobre 2024
  • Niveau Confirmé à Expert
  • Parution octobre 2024
Ce livre sur Terraform s’adresse aussi bien aux « Devs » qu’aux « Ops », débutants ou disposant déjà de notions de base, qui souhaitent maîtriser le développement d’une infrastructure sur le cloud. Le lecteur y trouvera des cas d’usage illustrés par des exemples de code variés lui permettant d’être à l’aise avec son langage, son utilisation et son écosystème.

Dans les premiers chapitres du livre, l’auteur présente les fondamentaux de Terraform, de la présentation des notions générales de l’infrastructure as code, à l’architecture de Terraform avec le fonctionnement du CLI, du registry, du state et des providers, en passant par le langage Terraform (HCL) expliqué en détail pour permettre la lecture et l’écriture de code simple. Au travers de 7 cas d’usage, le lecteur peut ensuite découvrir des utilisations différentes de Terraform sur des plateformes variées : Google Cloud Platform, AWS, MongoDB, OVH, Scaleway, GitHub et GitLab.

La suite du livre permet au lecteur d’aller plus loin dans l’apprentissage de Terraform. Le partage et la réutilisation de code sont mis en pratique avec l’utilisation et le développement de modules. Les éléments du langage avancés ainsi que les bonnes pratiques de développement sont présentés en détail. La gestion du state et les opérations permettant de le manipuler sont ensuite expliquées avant de passer à l’écriture de tests (souvent mise à l’écart) présentée avec l’implémentation de tests d’intégration. Enfin, le développement d’un provider permet de s’interfacer avec n’importe quel service.

À l’instar de nombreuses entreprises qui utilisent HCP Terraform pour exécuter le code Terraform, le lecteur appréhende l’exécution managée de Terraform. L’intégration de Terraform à des pipelines de CI/CD est également présentée avec des exemples pour GitLab CI et GitHub Actions. Toutes ces connaissances cumulées ainsi que de précieux conseils pour bien se préparer permettent au lecteur de pouvoir préparer et passer la certification Terraform.

Pour finir, des outils open source complémentaires sont présentés pour compléter l’outillage de développement et quelques ressources et liens sont donnés pour se maintenir à jour sur les nouveautés de l’écosystème.
Avant-propos
  1. L’histoire d’une entreprise qui découvre le cloud
  2. Pourquoi avoir écrit ce livre ?
  3. À qui est destiné cet ouvrage ?
  4. Quels sont les prérequis ?
  5. Comment est construit ce livre ?
  6. Conseils de lecture
  7. Les exemples de code
  8. Terraform et OpenTofu
Infrastructure as Code
  1. Cloud et l’émergence de l’IaC
  2. L’Infrastructure as Code - SDKs et CLIs
  3. Terraform
    1. 1. L’aspect multicloud
    2. 2. L’approche déclarative
  4. Conclusion
Architecture et CLI Terraform
  1. L’architecture globale
    1. 1. Le CLI
    2. 2. Le registry Terraform
    3. 3. Les providers
    4. 4. Le state
  2. Le CLI, installation et utilisation
    1. 1. Installer le CLI
    2. 2. L’exécution de commandes
  3. Le workflow et les commandes principales
    1. 1. Téléchargement des providers avecterraform init
    2. 2. Validation du code source avec terraform validate
    3. 3. Construction du plan d’exécutionavec terraform plan
    4. 4. Appliquer des changements avec terraform apply
    5. 5. Détruire l’infrastructure avec terraformdestroy
    6. 6. Exporter le plan d’exécution
    7. 7. Formatage du code source avec terraform fmt
    8. 8. Passer des variables en paramètre
    9. 9. Consulter les valeurs en sortie
  4. Naviguer dans la documentation officielle
    1. 1. La documentation Terraform
    2. 2. La documentation du registry
  5. Conclusion
Écrire du code Terraform
  1. Le langage déclaratif HCL
  2. Les fichiers .tf
  3. Les blocs resource et data
    1. 1. Le bloc resource
    2. 2. Le bloc data
  4. Les blocs variable, locals et output
    1. 1. Le bloc variable
    2. 2. Les variables locales
    3. 3. Le bloc output
  5. Les expressions
    1. 1. Les expressions simples
    2. 2. Les références
    3. 3. Accès aux valeurs de listes ou de maps
    4. 4. L’interpolation de chaînes de caractères
    5. 5. Les fonctions
  6. Le bloc provider
    1. 1. Dépendances aux providers
    2. 2. Configuration des providers
  7. Les commentaires
  8. Conventions de nommage
  9. Conclusion
Dans la pratique
  1. Des exemples variés d’infrastructure
  2. Un cluster k8s sur Scaleway
  3. Une zone DNS chez OVH
  4. Un groupe GitLab avec des repositories
  5. Des repositories sur GitHub
  6. Une base de données PostgreSQL sur Google Cloud
  7. Des serveurs EC2 et un load-balancer sur AWS
  8. Une base de données MongoDB sur Atlas
  9. Conclusion
Utiliser et développer des modules
  1. Pourquoi réutiliser du code ?
  2. Le root module
  3. La structure d’un module
  4. Modules et providers
  5. Utiliser des modules
    1. 1. Structure d’un bloc module
    2. 2. Source
    3. 3. Paramètres et outputs
  6. Publier un module sur le registry Terraform
  7. Conclusion
Concepts avancés de Terraform
  1. Constructions et usages avancés
  2. L’argument count
    1. 1. Utilisation de l’index
    2. 2. Création de ressources conditionnelles
  3. for_each
  4. Expression for
    1. 1. Expression for pour créer des listes
    2. 2. Expression for pour créer des map
    3. 3. Itérer sur des listes
    4. 4. Itérer sur des map ou des objets
    5. 5. Filtrer des éléments
  5. Expressions splat
  6. Les dynamic blocks
  7. Le bloc lifecycle et l’attribut depends_on
    1. 1. create_before_destroy
    2. 2. prevent_destroy
    3. 3. depends_on
  8. Validation des variables
  9. L’argument provider
  10. Attributs, variables et outputs sensitives
    1. 1. Attributs sensitives
    2. 2. Variables sensitives
    3. 3. Outputs sensitive
  11. Applications partielles
  12. Conclusion
La gestion du state
  1. L’état des ressources
  2. Le fichier de state
    1. 1. serial et lineage
    2. 2. outputs
    3. 3. resources et datas
  3. Le backend
    1. 1. Configuration d’un backend
    2. 2. Migrer de backend
  4. Adresses des ressources et modules
  5. Opérations sur le state
    1. 1. Sauvegarde et restauration
    2. 2. Lister les ressources existantes
    3. 3. Renommer des ressources
    4. 4. Importer des ressources
    5. 5. Supprimer des ressources
    6. 6. Refresh
  6. taint et recréations forcées
    1. 1. taint / untaint
    2. 2. replace
  7. Workspaces
    1. 1. Manipuler des workspaces
    2. 2. Adapter le code
  8. Conclusion
Tester le code Terraform
  1. Pourquoi tester ?
    1. 1. Tests d’intégration
    2. 2. Checks
  2. Tests d’intégration
  3. Tests de plan
  4. Tests avec des mocks
    1. 1. Mock de provider
    2. 2. Mocks ciblés (override)
  5. Checks
  6. Conclusion
Développer un provider
  1. Provider et API
  2. Les prérequis
  3. La structure du code d’un provider
    1. 1. Le framework
    2. 2. Metadata()
    3. 3. Schema()
    4. 4. Configure()
    5. 5. Read(), Create(), Update(), Delete()
  4. Développer le provider
    1. 1. Le développement du type Provider
      1. a. La fonction Metadata()
      2. b. Modèle de données et Schema()
      3. c. La fonction Configure()
      4. d. Constructeurs Resources() et DataSources()
    2. 2. Le développement d’une data
      1. a. La fonction Metadata()
      2. b. Modèle de données et Schema()
      3. c. La fonction Configure()
      4. d. Constructeur
      5. e. La fonction Read()
    3. 3. Le développement d’une ressource
      1. a. La fonction Metadata()
      2. b. Modèle de données et Schema()
      3. c. La fonction Configure()
      4. d. Constructeur
      5. e. La fonction Read()
      6. f. La fonction Create()
      7. g. La fonction Update()
      8. h. La fonction Delete()
  5. Générer la documentation
  6. La publication du provider sur le Terraform Registry
    1. 1. Connexion au Registry
    2. 2. Générer la clé de signatureGPG
    3. 3. Publication du provider
  7. Conclusion
HCP Terraform
  1. Le service cloud de HashiCorp
  2. Exécuter du code Terraform
    1. 1. Version Control Workflow
      1. a. Créer le workflow
      2. b. Configurer des variables
      3. c. Exécuter le Workspace
      4. d. Mises à jour du Workspace
    2. 2. CLI-Driven Workflow
      1. a. Créer le workflow
      2. b. Récupérer les credentials
      3. c. Configurer les variables
      4. d. Exécuter le Workspace
  3. Le registry privé
    1. 1. Publier un module
    2. 2. Consommer un module privé
  4. Conclusion
Intégrer Terraform dans une CI/CD
  1. Les principes de la CI/CD
  2. Configurer les providers et backend
    1. 1. Configurer le provider AWS et le S3
    2. 2. Configurer le provider Google GCP et le backend GCS
    3. 3. Configurer le provider Azure et le backend Blobs
  3. Positionner les variables
    1. 1. Paramètres de ligne de commande
    2. 2. Fichiers tfvars et auto.tfvars
    3. 3. Variables d’environnement
  4. Exporter le plan d’exécution et le transmettre à terraform apply
  5. Bonnes pratiques générales
  6. Déployer de l’infrastructure avec GitLab CI
    1. 1. L’écriture du pipeline
    2. 2. La configuration des variables d’environnement
  7. Publier un module avec GitLab CI
  8. Déployer de l’infrastructure avec Github Actions
    1. 1. L’écriture du workflow
    2. 2. La configuration des variables
  9. Conclusion
Passer la certification Terraform
  1. Pourquoi passer la certification ?
  2. Les modalités de passage
  3. Les compétences et connaissances testées
  4. La préparation
  5. Les prérequis de l’examen
    1. 1. Les prérequis de votre environnement
    2. 2. Les prérequis de votre ordinateur
  6. Le jour J
    1. 1. Connexion à la plateforme
    2. 2. Vérification de votre identité etde l’environnement
  7. L’écran de certification
  8. Conseils pour le jour J
  9. Conseils pendant l’examen
  10. Après l’examen
  11. Conclusion
Outils externes
  1. La boîte à outils du développeur
  2. .gitignore
  3. Git hooks
  4. tfenv
  5. tflint
    1. 1. Installation
    2. 2. Utilisation
    3. 3. Configuration
    4. 4. Dans une intégration continue
  6. terraform-docs
    1. 1. Installation
    2. 2. Utilisation
    3. 3. Ajout de texte descriptif
  7. Checkov
    1. 1. Installation
    2. 2. Exécution
    3. 3. Dans une intégration continue
  8. TerraGrunt
    1. 1. Installation
    2. 2. Utilisation
  9. Autres outils notables
  10. Conclusion
Faire sa veille
  1. Blogs et newsletter
    1. 1. Terraform Blog
    2. 2. HashiCorp newsletter
    3. 3. Spacelift Blog
    4. 4. Terraform Weekly
  2. Communautés et sites web
    1. 1. Terraform Best Practices
    2. 2. Discuss Terraform
    3. 3. Awesome Terraform
    4. 4. Dev.to
    5. 5. Medium.com
    6. 6. Reddit
  3. Vidéos
    1. 1. Webinars HashiCorp
    2. 2. YouTube - Weekly Dose of Terraform
  4. GitHub Issues & Release notes
  5. Conclusion
Auteur : Julien WITTOUCK

Julien WITTOUCK

Julien WITTOUCK est architecte solution et développeur indépendant, associé dans l’ESN Lilloise EKITÉ, avec près de 15 ans d’expérience. Il enseigne également le développement Java et Spring Boot à l’Université de Lille depuis plus de 10 ans. Speaker occasionnel sur ses sujets de prédilection comme Java, Docker et Kubernetes, Terraform et le Cloud, il participe à l’organisation de la conférence Lilloise Cloud Nord. Au cours de ses différentes expériences, il a eu l’occasion d’accompagner des entreprises sur des migrations Cloud sur AWS et GCP et de développer des plateformes composées de dizaines de modules Terraform utilisés en self-service par des équipes de développeurs. Ce livre est le fruit de ces expériences !
En savoir plus

Nos nouveautés

voir plus