Visão Geral
O Google Cloud Platform fornece infraestrutura para criar aplicativos na nuvem. O Terraform é uma ferramenta para gerenciar essa infraestrutura. A combinação de GCP e Terraform torna o gerenciamento de servidores e aplicativos altamente complexos e de nível de produção prático, eficiente e até agradável.
Conteúdo Programatico
Introduction
- How is Terraform different from Chef, Puppet, Ansible or Salt?
- Why not use Google Deployment Manager?
Overview of Terraform Features and Architecture
- Infrastructure as Code, execution plans, resource graphs, change automation
Terraform Workflow
- Write, Preview, Create, Reproduce, Destroy
Getting Started
- Preparing a GCP account to use with Terraform
- Initializing Terraform and building a virtual machine (compute engine instance)
Creating an Application
- Starting a project on GCP
- Initializing a sample web app
Preparing an Execution Plan
- Writing a new plan, saving, and removing .tf files
Working with Configuration Files
- Syntax overview
- Writing, version controlling, and updating
Setting Resource Dependencies
- Using the Terraform Resource Graph
- Infrastructure vs application dependencies
Deploying Infrastructure
- Previewing configuration changes
- Executing changes
Managing State
- Setting up Google Cloud Storage for persistence
- Setting up Remote State
Networking
- Setting up a firewall
- Managing subnets
Reproducing Infrastructure
- Setting up environments for an app: dev, test/qa, stage, and prod
Packaging Configuration Files as Modules
- Duplicating code with shareable modules
- Using the Module Registry to build reusable templates
Integrating Terraform into a Deployment Pipeline
- Building, deploying, and testing an application
- Importing existing external resources into Terraform
Terraform Performance Tuning
- Infrastructure monitoring and performance metrics