Chapter 1: Introduction to Infrastructure as Code Chapter Goal: Understand the basics on Infrastructure as Code paradigm and known about its advantages, principles and tools. Understand the need to convert infrastructure into code.
No of pages: 5
Sub -Topics
1. Understanding Configuration Management
2. Understanding Infrastructure as code
3. Principles of Infrastructure as code 4. Benefits and applicability for cloud environments
Chapter 2: Azure and Terraform
Chapter Goal: Get an overview of Azure as enterprise cloud provider with different paradigm like IaaS, PaaS. Different ways to provision resources in Azure. How Terraform fits within the Azure Landscape and how it can be used to provision Azure resources. Understand the high-level architecture and workflow using Terraform
No of pages: 15
Sub - Topics
1. Overview of Azure cloud
2. Overview of Terraform configuration management
3. Terraform workflow for provisioning and de-provisioning of resources
4. Terraform architecture - providers, plugins, resources, repositories Chapter 3: Getting Started with Terraform Chapter Goal: Getting hand dirty with Terraform, writing multiple terraform scripts exploring different concepts of Terraform.
No of pages: 45
Sub - Topics:
1. Understand Terraform CLI and using various options
2. State Management in Terraform 3. using Resources, providers, outputs
4. Terraform Data types
5. Dependency graphs in Terraform scripts
Chapter 4: Deep Dive into Terraform
Chapter Goal: Understanding the advance features of Terraform both from component as well at script level. Write advance Terraform scripts for conditional deployments, multiple resource creation using loops.
No of pages: 45
Sub - Topics:
1. Backend, state and workspace management in Terraform
2. dynamic provisioning of resources
3. loops, conditional statements - for, for-each, if 4. using Terraform functions - string, collection, encoding, file
Chapter 5: Writing Reusable Modules in Terraform
Chapter Goal: Writing reusable Terraform scripts using modules, storing modules in repositories and consuming them in multiple scripts.
No of pages: 25
1. Basic of Modules, child and parent modules
2. Passing parameters and getting output from modules
3. Using modules from multiple scripts.
Chapter 6: Writing Secure Scripts with Terraform
Chapter Goal: Management and administration of sensitive data, secrets and passwords within Terraform code. Usage of Key vaults for storing of secrets.
No of pages: 20
1. Secure storage of credentials and sensitive information
2. Usage of Managed Identities, certificates, service principles to connect to Azure
3. Storing secrets in Azure Key vault
Chapter 7: Repos, Versioning, CI/CD pipelines for Terraform
Chapter Goal: Overview of storing and versioning of Terraform scrip
About the Author: Ritesh Modi works with Microsoft as Senior Engineer on the Commercial Engineering team. He has served as Microsoft Regional Director as well as Regional Lead for Microsoft certified trainers. Ritesh is an architect, a senior evangelist, cloud architect, published author, speaker, and a known leader for his contributions in Blockchain, Ethereum, Datacenter, Azure, bots, cognitive services, DevOps, artificial intelligence, and automation. He has more than a decade of experience in building and deploying enterprise solutions for customers. He has contributed to AzureRM provider multiple times as an open source contribution.