Lädt...


🔧 IAC e Terraform. O que é e porque são tão importantes? Ep.1


Nachrichtenbereich: 🔧 Programmierung
🔗 Quelle: dev.to

Para falar de IAC ou infraestrutura como código, primeiramente precisamos abordar alguns assuntos e conceitos para entendermos a sua real necessidade. Vamos começar com a gerência de configuração e o movimento DevOps.

GERÊNCIA DE CONFIGURAÇÃO E MOVIMENTO DEVOPS

Image description

Existe um conceito super importante que vem lá do ITIL (Information Technology Infrastructure Library) que ajuda a gente entender a importância da utilização de infra como código, a gerência de configuração. A gerência de configuração pode ser resumida em um conjunto de atividades que viabiliza o controle das mudanças que acontecem nas diferentes etapas do nosso software.

E com essa prática a gente consegue identificar e documentar as características do nosso software, controlar as mudanças que vão ocorrer nele, registrar o estado em que ele se encontra, verificar a conformidade de acordo com os requisitos, e com isso a gente tem uma segurança no sentido da quebra do software.

Há um tempo atrás era essencial o preenchimento de uma GMUD (Um documento de gestão de mudanças) e isso era simple quando tínhamos ali um data center e esse data center possuia poucos servidores. Neste cenário o controle era fácil e as GMUD’s eram mais eficiêntes, mas quando temos uma escala grande de máquinas, com mais de 100 servidores, fica inviável, pois ao todo nesses servidores podemos ter uma quantidade de serviços absurda e controle fica super burocrático.

Pra ajudar a contornar essa burocracia o movimento DevOps veio para aproximar os precessos do pessoal de OPS com o pessoal de DEV e embora cada um tenha suas práticas, a necessidadade dessa integração trouxe atualizações na maneira de trabalhar, com versionamento de código, automações e entrega contínua. Com essas atualizações e a melhora na comunicação das equipes, a nuvem trouxe fortemenete a idéia da infraestrutura como código.

IAC

photo by sun technologies

E o que é IAC? IAC como dito anteriormente é a prática de usar código para criar sua infraestrutura em cloud. Antes a gente abria o nosso console do provedor de nuvem e iamos clicando ou selecionando nos serviços e preenchendo os parâmetros para o funcionamento e agora, as boas prática recomenda o uso de infra as code.

Mas porque fazer um código para criar um serviço, sendo que usar o console é mais fácil?

Porque tudo que é manual muitas das vezes não é possível replicar. E quando a equipe que trabalha com essa nuvem é grande, gerenciar e controlar tudo o que foi criado fica mais complexo.

E as vantagens de usar IAC não são somente o controle e gerenciamento, podemos contar com o reuso do código, além da facilidade de criar e destruir ambientes o que nos ajuda quando apagamos algo por acidente ou quando ocorre um incidente como um ataque.

FERRAMENTAS IAC
E quando a gente fala de IAC, pensamos logo em algumas ferramentas que podem nos auxiliar nesta jornada. Cada ferramenta possui suas particularidade e são designadas para cada caso de uso específico e podem ser utilizadas em conjunto. As mais conhecidas são o ansible, chef, terraform e puppet.

ANSIBLE

O Ansible é uma solução de gerenciamento de configuração e automação. Com ele a gente pode projetar e gerenciar o estado que queremos de nosso sistema usando scripts YAML. A simplicidade do Ansible e a falta de necessidade de instalar software adicional no destino são dois de seus benefícios. Uma coisa bem legal do Ansible é o modelo sem agente que depende só da comunicação SSH para os nós gerenciados. Para usar a gente basicamente escreve um script que chamamos de playbook e nele definimos o que deve ser instalado e configurado.

CHEF

O Chef é uma ferramenta que tem um proposito super parecido com o do Ansible, mas ao ivéns de usar YAML, a gente tem o Domain Specific Language (DSL) escrita em Ruby. No Chef existe a necessidade da instalação de um agente no servidor de destino, o que não acontece no Ansible.

PUPPET

O Puppet é uma ferramenta super similiar ao Chef, e as 03 possuem o mesmo propósito de gerenciamento de configuração e definição do estado desejado do sistema. Assim como o Chef, o Puppet usa sua própria linguagem de domínio específico (DSL).

CASO DE USO DESSAS FERRAMENTAS

Vamos pegar um cenário onde temos 10 servidores e queremos instalar um editor de texto neles. Em vez de instalar esse editor de texto manualmente em cada servidor e seguir os procedimentos necessários para o funcionamento dele, você pode usar uma dessas ferramentas para fazer a instalação e configuração em todos os 10.

TERRAFORM

Photo by The Workfall Blog

Antes da gente falar sobre o terraform, vamos a uma curiosidade. O termo terraform vem de terraformar no latim, onde é terra é a terra mesmo e formar é moldar, criar. Geralmente é usado na ficção cientifica pra quando cria-se um planeta e o mesmo é habitável como a terra.

E a ideia do terraform é meio que isso também. Para usa-lo precisamos nos conectar a um provedor de nuvem e começar a criar os nossos recursos, a nossa infraestrutura (planetas).

Então, podemos falar que o terraform é uma ferramenta de IAC usada para criar a nossa infraestrutura, ao contrário das ferramentas que citei anteriormente que são focadas mais no servidor pra dentro. O que atrai muita gente para usar o terraform é sintaxe facil, uma comunidade bem ativa(open source) e a documentação dele bem completa.

Porque usar terraform e não uma ferramenta nativa?

Muitas pessoas quando vão começar usar IAC ficam na dúvida se começam a usar o terraform ou a ferramenta nativa do provedor de nuvem, e a resposta pra essa dúvida pode ser esclarecida de acordo com o seu cenário. Mas olha, a utilização do terraform comparado ao uso do cloudformation da AWS pode ser bem mais benéfica, visto que o terraform tem uma curva de aprendizado menor, suporta mais de 250 provedores atualmente. Com isso, conseguimos trabalhar com mais de um provedor usando a mesma ferramenta e acaba que não preciso ficar aprendendo uma ferramenta nova toda vez que vou mudar de cloud, preciso somente ver quais serão as particularidades de chamadas daquela outra cloud.

Desta forma a gente ganha tempo, podendo nos aprofundar em uma ferramenta só e o gerenciamento fica bem mais fácil.

Continua …

...

🔧 IAC e Terraform. O que é e porque são tão importantes? Ep.1


📈 142.92 Punkte
🔧 Programmierung

🔧 IAC e Terraform. O que é e porque são tão importantes? Ep.2


📈 142.92 Punkte
🔧 Programmierung

🔧 Por que autenticação e autorização são importantes para desenvolvedores?


📈 62.91 Punkte
🔧 Programmierung

🔧 O que é o Virtual DOM e por que ele torna o React tão eficiente?


📈 50.48 Punkte
🔧 Programmierung

🔧 Não deveria ser tão simples inserir um bug na sua aplicação e eu te conto o porquê


📈 50.37 Punkte
🔧 Programmierung

🔧 Correlação e Causalidade: Como elas são importantes na nossa análise


📈 48.91 Punkte
🔧 Programmierung

🔧 O que são microserviços? Para que servem e quando usar?


📈 47.35 Punkte
🔧 Programmierung

🔧 3 motivos do porquê testes unitários não são suficientes para Microservices com Spring Boot


📈 47.24 Punkte
🔧 Programmierung

📰 Acceso Remoto Seguro: Por que es importante y por que hay que hacerlo bien


📈 42.03 Punkte
📰 IT Security Nachrichten

🕵️ http://www.sao-nongbua.go.th/sao-nongbua/mainfile/75aFw0tYK4x9.txt


📈 38.66 Punkte
🕵️ Hacking

🔧 Por que ser desenvolvedor é tão estressante?


📈 36.47 Punkte
🔧 Programmierung

🔧 DevSecOps with AWS- IaC at scale - Building your own platform - Part 2 - CI for IaC


📈 34.94 Punkte
🔧 Programmierung

🔧 O que são Sistemas Embarcados?


📈 33.34 Punkte
🔧 Programmierung

🔧 O que são Redes de Computadores e suas Topologias


📈 33.34 Punkte
🔧 Programmierung

🔧 O Que São Webhooks e Como Utilizá-los Eficientemente


📈 33.34 Punkte
🔧 Programmierung

🔧 O que são Data Warehouses e o sistema OLAP


📈 33.34 Punkte
🔧 Programmierung

🔧 Hard Skills e Soft Skills o que são?


📈 33.34 Punkte
🔧 Programmierung

🔧 Afinal, o que são os 0's e 1's?


📈 33.34 Punkte
🔧 Programmierung

🔧 Entenda o que são paradigmas de programação


📈 33.34 Punkte
🔧 Programmierung

🔧 Entendendo o que são middlewares em uma aplicação ASP.NET


📈 33.34 Punkte
🔧 Programmierung

🔧 Operadores numéricos são mais complexos do que parece


📈 33.34 Punkte
🔧 Programmierung

🔧 O que são funções puras?


📈 33.34 Punkte
🔧 Programmierung

🔧 JavaScript: O que são funções IIFE?


📈 33.34 Punkte
🔧 Programmierung

🔧 Create your simple infrastructure using IaC Tool Terraform, CloudFormation or AWS CDK


📈 29.63 Punkte
🔧 Programmierung

🔧 From Code to Cloud with Terraform: EKS Golang Client & E2E AWS Lambda CI/CD with IaC


📈 29.63 Punkte
🔧 Programmierung

📰 heise-Angebot: iX-Workshop IaC: IT- und Cloud-Infrastruktur mit Terraform verwalten (Last Call)


📈 29.63 Punkte
📰 IT Nachrichten

🔧 Automating the Cloud: IaC with AWS CloudFormation and Terraform


📈 29.63 Punkte
🔧 Programmierung

🎥 Using Terraform and HCL to Bring IaC to SkySQL Cloud Databases


📈 29.63 Punkte
🎥 Video | Youtube

🔧 Understanding Terraform: A Guide to Effective IaC Practices


📈 29.63 Punkte
🔧 Programmierung

🎥 Accelerate creating IaC with Terraform and GitHub Copilot Chat


📈 29.63 Punkte
🎥 Video | Youtube

🔧 How to Choose the Right IaC Tool – AWS CDK, CloudFormation, and Terraform Compared


📈 29.63 Punkte
🔧 Programmierung

🔧 Terraform pipeline (IaC for AWS)


📈 29.63 Punkte
🔧 Programmierung

🔧 GCP IAC - Terraform


📈 29.63 Punkte
🔧 Programmierung

🔧 Title: " E-Commerce Website Deployment- Containerization using Amazon ECR ,ECS and Terraform as IaC tool.


📈 29.63 Punkte
🔧 Programmierung

matomo