Terraform Course: Bulud resurslarını kod vasitəsilə idarə etməyi öyrən! İnfrastrukturun avtomatlaşdırılması, konfiqurasiya və idarəetmə bacarıqları əldə et, real layihələrlə təcrübə qazan. Yeni səviyyəyə keç!
First
Month:
Week
1:
·
Topics:
o
What is Infrastructure as Code (IaC)?
o
Declarative vs. Imperative approaches.
o
Introduction to Terraform and its place in the
ecosystem.
o
Setting up your environment: Installing
Terraform and a code editor (VS Code).
o
Configuring credentials for a cloud provider
(e.g., AWS, Azure, or GCP).
·
Topics:
o
Deep dive into HashiCorp Configuration Language
(HCL).
o
Providers: Specifying the cloud or
service to manage.
o
Resources: The fundamental building
blocks of your infrastructure.
o
Input Variables: Making your code
reusable (variable
blocks, .tfvars
files, command-line flags).
o
Output Values: Exporting data from your
configuration for use elsewhere.
Week
2:
·
Topics:
o
Data Sources: Fetching information about
existing resources.
o
Dependencies: Understanding implicit and
explicit (depends_on
)
resource ordering.
o
Meta-Arguments: Using count
and for_each
to create multiple resources dynamically.
o
Expressions & Functions: Using
built-in functions for logic and data manipulation.
·
Topics:
o
What is Terraform state and why is it essential?
o
The dangers of local state files in teams.
o
Remote Backends: Configuring remote
storage for state files (e.g., AWS S3, Azure Blob Storage).
o
State Locking: Preventing conflicts
during concurrent runs.
o
State manipulation commands: terraform state list
, terraform state show
, terraform state mv
(with caution!).
Week
3:
·
Topics:
o
The DRY (Don't Repeat Yourself) principle.
o
What are Terraform Modules?
o
Creating and using a local module.
o
Module inputs (variables) and outputs.
o
Using public modules from the Terraform
Registry.
·
Topics:
o
Provisioners (local-exec
, remote-exec
): When and why you should
avoid them (Immutable Infrastructure).
o
Resource Lifecycle Rules: create_before_destroy
, prevent_destroy
, ignore_changes
.
o
Workspaces: A simple way to manage
multiple environments with a single configuration.
o
Tainting resources to force recreation (terraform taint
).
Week
4:
·
Topics:
o
Best practices for structuring a repository.
o
Integrating Terraform with Git for version
control.
o
Automating the workflow: terraform fmt
, validate
, plan
, and apply
.
o
Introduction to CI/CD with services like GitHub
Actions or GitLab CI.
o
Introduction to Terraform Cloud/Enterprise for
advanced collaboration and governance.
·
Topics:
o
Comprehensive review of all concepts covered in
the course.
o
Open Q&A session.
o
Discussion of next steps and further learning
o
Project: Using the module you created, deploy a
complete two-tier infrastructure: a load balancer, an auto-scaling group of web
servers in public subnets, and a managed database in a private subnet.
Lesson 9: Ansible Fundamentals
·
Topics:
o
What is Configuration Management?
o
Terraform vs. Ansible. Ansible's agentless
architecture. Inventory, ad-hoc commands, and writing your first playbook.
o
Dynamic Inventory (using Terraform output).
Using Jinja2 templates for dynamic configuration files. Managing services and
using handlers.
Lesson 10: Reusable Code with Ansible Roles
·
Topics:
o
The standard Ansible Role structure. Converting
playbooks into reusable roles.
o
Understanding variable precedence.
Lesson 11: Ansible Vault & Introduction to HashiCorp Vault
·
Topics:
o
Securing sensitive data with Ansible's built-in ansible-vault
.
o
Understanding the need for a dedicated secrets
manager.
o
Introduction to HashiCorp Vault architecture.
Lesson 12: Integrating Vault with Terraform
·
Topics:
o
Using Vault's Key/Value secrets engine.
Authenticating to Vault.
Lesson 13: CI/CD for Infrastructure (Terraform Pipeline)
·
Topics:
o
What is CI/CD?
o
Using Gitlab CI/CD to create a pipeline that
automatically validates and plans your Terraform code on every pull request.
Lesson 14: Containerization & the Application CI Pipeline
·
Topics:
o
Introduction to Docker.
o
Writing a Dockerfile for a sample web
application
·
Lesson 15-16: The Complete
"Push-to-Deploy" Pipeline
o
Topics: The "Continuous
Deployment" (CD) stage. Tying everything together.
o
Project: Create a final, end-to-end
workflow. A developer pushes application code. The CI/CD pipeline from
Lesson 15 builds the Docker image. The pipeline then triggers your Ansible
playbook, which pulls the new image onto the servers provisioned by Terraform,
retrieving any needed secrets from Vault.
Təcrübəli müəllimlərimizlə tanış olun!
Hardan başlamalı olduğunu bilmirsən?
Bizimlə birbaşa əlaqə: (+994 10) 234 65 56