Course Outline
Overview of Infrastructure as Code
- Purpose: Establish a clear understanding of the operational necessity for IaC.
- Formal definition and strategic objectives of IaC.
- Comparative analysis: Legacy infrastructure methods versus IaC.
- Synopsis of widely adopted IaC platforms.
Introduction to Terraform
- Purpose: Examine Terraform's specific function within the broader IaC framework.
- Defining Terraform.
- Core architectural elements: Providers, Resources, and State management.
- Differentiation of Terraform from competing IaC solutions.
Terraform Installation and Configuration
- Purpose: Execute the installation process and configure a foundational operational environment.
- Deployment procedures across diverse operating systems.
- Initialization of the Terraform Command Line Interface (CLI).
- Foundational concepts of the HashiCorp Configuration Language (HCL).
Initial Terraform Implementation: Basic Resource Provisioning
- Purpose: Deploy a fundamental resource on a designated cloud service provider.
- Core command operations: init, plan, apply, and destroy.
- Provisioning an AWS EC2 instance or a comparable resource on alternative cloud platforms.
- Analysis of provider definitions and configuration blocks.
Variables and Output Management
- Purpose: Implement variables and outputs to enable dynamic configuration for government use cases.
- Syntax for defining variables within HCL.
- Utilization of variable files to manage distinct operational environments.
- Configuration of outputs to capture critical operational data.
Terraform State Administration
- Purpose: Comprehend the state management mechanism and its importance for accountability.
- Definition and role of Terraform state.
- Storage strategies: Local files versus remote backends.
- Secure handling and protection of state files.
Data Sources and Dependency Management
- Purpose: Leverage Terraform data sources to integrate existing infrastructure elements.
- Referencing pre-existing resources through data sources.
- Establishing and managing dependency chains between resources.
Terraform Workspaces and Environment Isolation
- Purpose: Maintain multiple isolated environments within a single configuration structure.
- Definition and function of workspaces.
- Segregation of development, staging, and production environments using workspaces.
Structuring Terraform Code for Governance
- Purpose: Develop clean, modular, and reusable code standards for government operations.
- Best practices for logical file organization.
- Decomposition of code into modules to enhance reusability.
- Definition of input variables within module structures.
Practical Exercise: Web Server Deployment via Terraform
- Purpose: Consolidate learning through the deployment of a basic web server.
- Provisioning a web server instance on AWS, GCP, or Azure.
- Application of variables and outputs for environment-specific parameters.
- Oversight of infrastructure state and resource dependencies.
Course Conclusion and Inquiries
- Purpose: Recap essential concepts and address participant questions.
- Synthesis of fundamental Terraform principles.
- Live session for questions and discussion.
- Recommended resources for advanced professional development.
Requirements
Cloud Account Access - Participants must designate their preferred cloud platform at the time of registration.
Testimonials (7)
How easily is to see everything as a resource
Ilie Danut - Mihai - DB Technology
Course - Terraform : Fundamentals
The pace was extremely good, you can follow the trainer along.
Mihaela Stefan
Course - Terraform : Fundamentals
Environment and explanation
Eduard-Costin Dumistracel
Course - Terraform : Fundamentals
The content of the course and the way we applied in labs
Ghenta Sorin
Course - Terraform : Fundamentals
That the trainer had patience
Bogdan Olaru
Course - Terraform : Fundamentals
The hands-on exercises.
Sprinceana Ana
Course - Terraform : Fundamentals
I liked the most how Vincenzo solved our issues, quickly and detailed. He was very calm and explained again and again important points.