idvogadosorg / infra

repositório para infraestrutura
4 stars 2 forks source link

Infraestrutura como código #5

Closed deniojunior closed 4 years ago

deniojunior commented 4 years ago

Resumo

Premissa inicial: hospedar os nossos serviços em algum(s) PaaS de Cloud Computing (ainda à ser definido qual(is)).

Acredito que um ponto muito importante do projeto é termos a nossa infra como código, pois assim teremos uma melhor documentação e controle sobre ela, facilitando o gerenciamento, operação e contribuições da comunidade.

Pontos positivos dessa abordagem

Ferramentas

A escolha da ferramenta utilizada irá depender diretamente da arquitetura da aplicação e da escolha do PaaS Cloud Computing que iremos hospedar os nossos serviços, isto porque algumas ferramentas podem não dar suporte para o que precisamos.

Particularmente, tenho utilizado o Terraform e acredito que seja uma ferramenta excelente para ser aplicada, muito pela flexibilidade e suporte a diversas plataformas em nuvem. Gostaria de levantar esta discussão e documentar as nossas definições nesta issue.

deniojunior commented 4 years ago

Como se trata de um código open source, iremos tentar incluir o máximo viável de serviços gratuitos. Com isso, podemos atingir o pior caso no contexto de infra como código: utilizar serviços de diversos provedores diferentes, de forma que nenhuma ferramenta consiga cobrir as nossas necessidades.

Mesmo neste pior caso, acredito seja uma boa mantermos a infra como código, mesmo que a alternativa seja construir um código que opera a infra via chamadas de API.

rodrigondec commented 4 years ago

O terraform é equivalente ao ansible ou seriam escopos diferentes?

deniojunior commented 4 years ago

@rodrigondec Desculpa, só hoje que vi a sua dúvida...

Pelo vídeo que você me mandou lá no Discord, acho que você já deve ter entendido a diferença hehe, mas só pra deixar registrado, pelo o que eu conheço do Ansible, vejo que são escopos diferentes.

O Ansible é uma ferramenta de automação enquanto que o Terraform é uma ferramenta que descreve a infra em si (como código), mantendo o estado atual e permitindo que alterações de infra sejam feitos seguindo um pipeline de código mesmo, como uma entrega de uma feature no backend, por exemplo.

Neste sentido, não vejo Ansible e Terraform como ferramentas excludentes, mas sim complementares. Você pode manter a sua infra utilizando Terraform e ter algumas automações com o Ansible também.

Achei essa imagem aqui que ilustra bem as diferenças:

Ansible_vs_Terraform

deniojunior commented 4 years ago

Conforme reunião pelo Discord, definimos que iremos utilizar a abordade de Infra como Código com Terraform.