DEV Community

Fellipe Couto
Fellipe Couto

Posted on • Originally published at eusoudev.com.br on

Infraestrutura automatizada: Escalando aplicações com eficiência operacional

Tempo de leitura: 3 minutos

À medida que a aplicação começa a escalar, mais ações são necessárias todos os dias para evoluí-la para os novos cenários encontrados. Assim, a automação passa a ser muito útil e também necessária. A infraestrutura automatizada proporciona diversos benefícios para a operação.

Benefícios da infraestrutura automatizada

  • A infraestrutura automatizada é a solução mais rápida possível para lançar um ambiente para um novo workflow. Economiza tempo para você lançar múltiplos ambientes como PROD, DEV e QA.

  • Garante que PROD, QA e DEV estejam exatamente iguais. Isto ajudará seus engenheiros a localizar problemas e resolver situações mais rápido.

  • Infraestrutura imutável – os velhos dias sombrios em que ninguém sabia como um servidor ainda estava funcionando já se foram. Com infraestrutura imutável, pare de usar interferência de humanos para consertar problemas e use somente para alterações emergenciais.

  • Defina seu workflow como código. Código é mais confiável do que a memória de qualquer pessoa.

  • Mantenha fácil rastreio sobre as mudanças através do tempo (com isto você também atinge mais cobertura para operações de auditoria ).

  • Sua infraestrutura-como-código já é documentação válida que você pode revisar e pedir por suporte se necessário.

Automatizando a infraestrutura

Existem algumas ferramentas para automatizar a criação de infraestrutura e cada provedor de cloud tem a sua própria. CloudFormation na AWS, Resource Templates na Azure e Cloud Deployment na Google.

Mas você pode estar em uma organização que quer manter o mínimo possível de lock-in devido a experiências do passado. Então a stack da HashiCorp, especialmente o Terraform, se torna muito útil.

Táticas para uma infraestrutura automatizada

1. Economizando com os ambientes: Tenha seus ambientes de DEV e QA desligados no fim de cada dia para economizar dinheiro na nuvem.

2. Monitorando a infraestrutura: Uma vez que sua infraestrutura pode se alterar durante a execução (upscaling, downscaling, finalização, etc), você pode ter um job olhando para partes específicas da sua aplicação que deveria manter sempre certa configuração ativa.

Exemplo: para sistemas que escala, você pode usar o Terraform para sempre ter uma instância “pré-aquecida” e pronta para ser adicionada a um auto-scaling group quando a aplicação precisar, em vez de ter que esperar pelo tempo de warm-up de toda a configuração da instância.

Uma vez que sua aplicação precisar escalar, aquela instância será adicionada ao auto scaling group e algum tempo após, o Terraform já começará a provisionar uma nova instância pro ativamente para quando a aplicação sofrer um novo pico de consumo.

3. Gerenciamento da configuração : Aplicando o conceito de infraestrutura imutável aqui, você terá uma única fonte da verdade para seu ambiente.

Exemplo : você teve que aplicar um ajuste emergencial em produção para prevenir um erro de acontecer. Logo após esta ação emergencial, você deve atualizar sua infraestrutura-como-código para incluir o ajuste e assim você não correrá o risco de esquecer de replicar o ajuste aos outros ambientes.

4. Orquestração : Digamos que você tem sua infraestrutura usando primariamente a AWS, mas quer usar Google para Machine Learning. Terraform orquestrará a criação deles todos para você. Isto economiza tempo indo até cada console de caa provider e ativando CloudFormation e Cloud Deployment ou ainda outros.

5. Segurança e Compliance : Ter sua infraestrutura como código tornará mais fácil para seu time ter certeza de que estão seguindo todas as definições de segurança e compliance da empresa. O código também é versionável, o que ajuda com operações de auditoria.

Exemplo com Terraform

O código encontrado aqui criará a infraestrutura acima em questão de minutos. Este é um exemplo de Terraform provisionando uma infraestrutura de best practices da AWS usando EC2 para computing. Não essqueça de adicionar o CloudFront e Route53 na sua stack caso queira usar em um ambiente real.

Confira aqui as redes sociais do autor: LinkedIn | GitHub | Site

The post Infraestrutura automatizada: Escalando aplicações com eficiência operacional appeared first on Eu Sou Dev.

Top comments (0)