IaC – Terraform
IaC general concepts
- Infrastructure as code – Fonte Wikipedia
IaC paradigms
IaC tools
- Various Multi-cloud Infrastructure as Code (IaC) tools
- Ansible vs. Terraform vs. Vagrant: What’s the difference?
Ansible is a Python-based IT system configuration automation tool whose actions are configured using YAML-formatted files, called playbooks.
Vagrant is most often used to automate the consistent creation of a small set of VMs. The most common use case is to replicate a development environment among multiple developers who need to guarantee development consistency. Vagrant can incorporate other automation tools, like Ansible, Puppet or Chef, to perform specific VM configuration tasks.
- Introduction to Virtualization automation using Vagrant – Infrastructure as a Code (IAC)
- IaC – Infrastructure as code ( IaaC – Infrastructure as a code)
Terraform is an infrastructure as code (IaC) tool for creating, maintaining and decommissioning large data center infrastructure. The configurations are specified in a declarative language, HashiCorp Configuration Language, or HCL. As the configuration changes, Terraform determines the steps to transform an infrastructure to the new desired state. Think of Terraform as a cloud infrastructure management tool that works across multiple cloud providers, such as AWS, Microsoft Azure and Google Cloud Platform. It is ideal for the full lifecycle of data center infrastructure.
It would not be unusual to see all three being used within an organization: Ansible for network configuration management, Terraform to manage cloud infrastructure across one or more cloud providers, and Vagrant for software development and test platform standardization.
Terraform vs Ansible
- Terraform vs. Ansible: Key Differences and Comparison of Tools
- Terraform + Ansible + Docker-Swarm + Microservices on AWS
IaC: Blueprint with Terraform on AWS, CRUD on Infrastructure
This article describes a way to write, deploy and manage the infrastructure as code (IaC) on AWS.
Here, https://github.com/vmulas/iac-cloud/, you’ll find the repository with a set of step-by-step example regarding multiple topics, like:- Orchestration, to approach on how to interact with AWS API
- Configuration management, to deal with the components of the infrastructure once it has been provisioned
- Clustering, ideal to manage multiple entities “floating” on the cloud
- Microservices, to play with the future pattern and software modeling
– Terraform, for the infrastructure blueprint
– Ansible, used as configuration management
– Docker swarm && docker stack, to manage microservices - IaC: Blueprint with Terraform on AWS, CRUD on Infrastructure
- 10 Popular Terraform Alternatives You Should Know in 2024
Terraform
- How to Install Terraform on Ubuntu 22.04
- Terraform Provider for Docker
- Using Terraform to Set Up and Deploy Docker Containers
- https://github.com/hashicorp/field-workshops-terraform
Slide decks and Instruqt code for Terraform Workshops - https://github.com/artberri/101-terraform/blob/master/slides.pdf
This repo contains the course material for the Terraform workshop given by Alberto Varela