Link para documento: https://docs.google.com/document/d/1u...
REPOSITÓRIO: https://github.com/Dellabeneta/terraf...
PROJETO DE REFERÊNCIA: https://github.com/Dellabeneta/terraf...
Cloud Computing:
É a disponibilidade, através da Internet, de recursos computacionais de acordo com a necessidade, com valores de pagamento bem definidos sob demanda. Comprar e manter datacenters físicos (in loco) simplesmente não faz mais sentido. É possível ter e manter toda sua infraestrutura em um Provider Cloud, garantindo segurança, economia, flexibilidade, escalabilidade, agilidade etc.
A preocupação com os aspectos de uma estrutura real e local, como por exemplo: energia elétrica, acesso de pessoas não autorizadas, desastres com água, fogo etc, estão fora de questão a partir do momento em que sua infraestrutura de TI está na Nuvem.
Alguns dos players mais conhecidos neste segmento são: AWS, Azure, Digital Ocean, Google Cloud Platform, Kubernetes, Oracle Cloud Infrastructure, Alibaba Cloud etc.
IaC:
Infraestrutura como código consiste na utilização de linguagens descritivas de “alto nível” com o objetivo de automatizar o provisionamento de serviços computacionais fornecidos por um provedor de nuvem. A utilização de código como infraestrutura agiliza demandas diretas com servidores, armazenamento, sistemas operacionais etc, já que tudo será criado, alterado ou até mesmo destruído apenas com um “ENTER”.
As ferramentas de IaC são divididas em dois grupos: de orquestração, usadas para provisionar e administrar recursos do ambiente Cloud em si (Terraform e CloudFormation são exemplos), e as de gerenciamento de configuração, por sua vez têm como função instalar, atualizar e administrar o software/serviço em execução (Puppet, Chef e Ansible são exemplos nesta categoria).
Terraform (IaC):
Linguagem de configuração declarativa, criada pela HashiCorp com objetivo facilitar o provisionamento de recursos computacionais em ambientes de infraestrutura em nuvem. O terraform é compatível com provedores de infraestrutura em nuvem mais utilizados no mercado, como Amazon Web Services, Microsoft Azure, IBM Cloud, Google Cloud Platform, DigitalOcean, Oracle Cloud Infrastructure, Yandex Cloud, VMware vSphere, OpenStack etc.
Talvez a maior vantagem do Terraform seja a possibilidade de gerenciar multi-cloud, ou seja, você não amarra seu código a um provider específico, tendo a necessidade de migrar todo seu código para uma linguagem proprietária como ARM (Microsoft), Cloud Formation (AWS) etc.