Course Outline
Introduction to Infrastructure as Code
- Objective: Assess the strategic necessity of IaC in federal IT operations.
- Defining IaC principles and operational intent.
- Comparison of legacy infrastructure management versus IaC methodologies.
- Survey of recognized IaC solutions for government use.
Introduction to Terraform
- Objective: Evaluate Terraform’s position within the federal IaC ecosystem.
- Overview of Terraform capabilities.
- Key architectural elements: Providers, Resources, and State.
- Evaluating Terraform against alternative IaC platforms for government applications.
Installing and Setting Up Terraform
- Objective: Configure a compliant environment for Terraform deployment.
- Installation procedures across supported operating systems.
- Configuration of the Terraform Command Line Interface (CLI).
- Fundamentals of HashiCorp Configuration Language (HCL).
First Terraform Project: Provisioning a Simple Resource
- Objective: Deploy a foundational resource on a cloud platform.
- Essential Terraform commands (init, plan, apply, destroy).
- Provisioning an AWS EC2 instance or equivalent service on alternative cloud providers.
- Configuration of provider blocks and authentication.
Understanding Variables and Outputs
- Objective: Implement dynamic configurations using variables and outputs.
- Syntax for defining variables in HCL.
- Utilizing variable files to support distinct operational environments.
- Configuring outputs to extract critical infrastructure data.
Managing Terraform State
- Objective: Comprehend the role of state management in infrastructure integrity.
- Definition and function of Terraform state files.
- Differences between local and remote backend storage.
- Best practices for securing state data in government systems.
Data Sources and Dependencies
- Objective: Leverage data sources to interact with pre-existing infrastructure.
- Referencing existing resources via data sources.
- Defining resource dependencies to ensure correct deployment order.
Terraform Workspaces and Environments
- Objective: Maintain multiple operational environments within a single configuration set.
- Concept of workspaces in Terraform.
- Utilizing workspaces to isolate development, staging, and production environments for government workflows.
Structuring Terraform Code
- Objective: Develop maintainable, reusable, and modular IaC scripts.
- Standards for organizing Terraform configurations.
- Modular design principles for code reusability.
- Implementation of input variables within modules.
Hands-on Lab: Deploy a Web Server with Terraform
- Objective: Synthesize course concepts by deploying a functional web server.
- Provisioning infrastructure on AWS, GCP, or Azure.
- Applying variables and outputs for environment-specific customization.
- Monitoring state updates and resource dependencies.
Course Wrap-Up and Q&A
- Objective: Consolidate learning objectives and address participant inquiries.
- Review of essential Terraform concepts.
- Interactive discussion session.
- Curated resources for continued professional development in government contexts.
Requirements
Cloud Account - Applicants should indicate their preferred infrastructure platform when submitting a reservation request for government use.
Testimonials (7)
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.
Victorita
Course - Terraform : Fundamentals
The trainer had a great attitude throughout, made it really easy to ask for help/clarifications/anything