À 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.

Exemplovocê 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


0 comentário

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *