Course Code: terraformazure
Duration: 14 hours
Course Outline:

A. Introduction to IAC and Terraform 

1. Introduction to IAC (Infrastructure as code) 
2. Types of IAC tools 
3. What Infrastructure can be managed through Terraform? 
4. Why Terraform? 


B. Terraform Installation and Basics 
5. Basic Terraform Installation 
6. HashiCorp Configuration Language Basics 
7. Terraform Providers 
8. Terraform execution flow 
9. Terraform commands 
10. Terraform Components 
11. Input variables 
12. Output variables 
13. Resource Attributes 
14. Resource Dependencies 


C. Terraform Configuration 

15. Azurerm provider 
16. ARM Template Vs Terraform 
17. State file and its purpose 
18. Terraform State Storage: Local Vs Remote 
19. Why state file should not be stored in Git repositories 
20. Shared State Files: Security and Encryption 


D. Deploying Azure infrastructures via Terraform 

21. Deploying Azure Resource group 
22. Deploying Azure Storage Resources 
23. Deploying Azure Network Resources 
24. Deploying VMs 
25. Deploying Web Applications 
26. Deploying Database Instances 


E. Terraform Advance 

27. Modules in Terraform 
28. Creating and Using a Module 
29. Using modules from the registry 
30. Terraform Functions 
31. Conditional Expressions 
32. For-each, Count in Terraform 
33. Data sources in Terraform