Escrito por: TIVIT

Um dos provedores de cloud mais conhecidos do mercado é a AWS, não é mesmo? Mas além da qualidade e latência que ela oferece, ela também tem recursos de automação que podem ser muito importantes para o seu negócio. O que acha, então, de entender um pouco mais sobre as características desses serviços e quais são as aplicações práticas dentro da estrutura de nuvem da sua empresa?

 

Continue a leitura deste artigo para entender mais sobre os serviços de automação em nuvem AWS. Confira!

Serviços de automação na nuvem AWS

Quais são os serviços de automação em nuvem AWS que a sua empresa pode utilizar? Listamos os principais deles para que você identifique aquele que melhor se encaixa aos objetivos e estratégias da sua equipe. Confira!

Stackset

Já sabemos que é possível a criação de um ambiente completo (stack) por meio de um único template, não é mesmo? O CloudFormation também nos auxilia no gerenciamento de recursos em múltiplas contas e múltiplas regiões. É o chamado stackset ou conjunto de stacks.

O mesmo template que você utiliza para a criação de um stack pode ser utilizado para o desenvolvimento de um stackset, basta informar as contas e regiões, e o stack é criado em todas elas.

 

O que parece bom, fica ainda melhor. Utilizando o AWS Organizations para organizar a sua estrutura de contas AWS você pode associar um stackset a uma Organization Unit e qualquer conta que entre nessa OU terá o stack criado automaticamente. Além disso, ao ser removida da OU, o stack será removido prontamente também.

 

As suas OUs podem ser segregadas como preferir, por tipo de ambiente (desenvolvimento, qualidade e produção), por produto, por área ou da maneira que fizer mais sentido para a sua organização.

 

Você associa os stacksets às OUs correspondentes, e sempre que for criada uma conta naquela OU, o stack será criado como planejado. Para completar, é possível definir templates para configurações de segurança, implantação de serviços core ou o que mais for necessário.

Drift Detection

Quando você passa a criar sua infraestrutura como código, espera-se que seu ambiente reflita exatamente o código desenvolvido. Mesmo revisando seus processos e treinando sua equipe podem ocorrer intervenções manuais que gerarão conflitos.

 

Se na sua configuração você definiu, por exemplo, que seu Auto Scaling Group teria 5 instâncias definidas e poderia escalar até 10, mas, manualmente, alguém alterou esse valor máximo para 6, você provavelmente perceberia somente quando tivesse uma contenção na sua aplicação.

 

Não podemos “achar” que o ambiente reflete o nosso código, precisamos ter certeza disso. Portanto, você pode contar com o CloudFormation Drift Detection. Com ele, podemos validar que o nosso ambiente reflete o template CloudFormation aplicado.

 

Se for detectada uma alteração de recurso fora do CloudFormation, somos apresentados a um diferencial de como deveria estar o ambiente de acordo com o template e como ele está no momento.

 

Isso facilita a avaliação sobre se o template deve ser atualizado para refletir a infraestrutura criada manualmente ou se essa alteração manual deverá ser removida para voltarmos à configuração original.

 

O CloudFormation StackSet também suporta Drift Detection. Portanto, podemos validar o estado da nossa infraestrutura em múltiplas contas e múltiplas regiões com apenas poucos cliques (ou poucos comandos).

 

Se você quer auditar e avaliar constantemente se há Drift no seu ambiente, pode utilizar a regra cloudformation-stack-drift-detection-check do AWS Config e, a partir do AWS CloudWatch Events, relacionar essa config rule para receber notificações por e-mail ou abertura de chamados.

 

Se você não quer intervenções manuais ou o seu ambiente de missão crítica exija aderência entre o código e a infraestrutura, é possível relacionar a config rule do AWS CloudWatch Events a uma função Lambda que faz a reversão automática ao estado correto da infraestrutura. Com essa automação, você elimina os stack drifts de uma vez por todas, sem a necessidade de avaliação e correção manual.

Cross-stack reference

Esse recurso é muito importante para separar a responsabilidade de gerenciamento dos templates e manter a associação dos diferentes recursos.

 

Para ser mais prático, em uma empresa na qual o administrador de redes cria e gerencia os templates CloudFormation relacionados à comunicação de rede são configurados os VPCs, Networks, Subnets, Elastic IPs, NACLs e outros dentro desse template de Redes.

 

O especialista em database cria e mantém os templates de RDS e DynamoDB. Na configuração desses recursos, o DBA precisa especificar em quais redes seu banco de dados rodará, entre outras informações. Caso o DBA faça uma associação diretamente ao recurso criado, como, por exemplo, a uma faixa de endereçamento IP, terá problemas sempre que o analista de redes atualizar essas informações.

 

Para isso, o CloudFormation conta com o Cross-Stack Reference, de um lado o analista de redes usa a opção Export na seção Output para exportar os recursos que desejar, nesse caso, uma Subnet, e o analista de banco de dados usa a função ImportValue para importar o valor que deseja.

 

Dessa forma, os dois templates são gerenciados por equipes diferentes, mas de maneira totalmente integrada.

Nested stacks

É possível formular stacks dentro de outros stacks. Dessa forma, você consegue modularizar os seus templates e trabalhar com programação orientada a objetos. Imagine que precisa criar um bucket S3 em vários projetos. Basta definir a configuração do recurso e, a cada novo template, inserir essa configuração.

 

Depois de dezenas ou centenas de stacks criados há a necessidade de atualizar a configuração do bucket S3. Você precisaria realizar essa etapa em cada stack criado. Porém, utilizando o Nested Stack, o código do bucket S3 é único, e, nos templates principais, você define a criação do bucket a partir desse template específico.

 

Dessa forma, quando existir a necessidade de atualizar a configuração do bucket S3, você pode fazer isso em apenas um lugar. Sempre que houver algum componente a ser criado da mesma maneira em vários templates, use o Nested Stack para ganhar tempo.

CloudWatch Alarm

Durante a criação ou atualização de um stack, você pode definir os CloudWatch Alarms a serem monitorados. Se o alarme entrar em estado de ALARM, o CloudFormation volta o stack ao estado anterior. Você pode definir o período de monitoração de 0 a 180 minutos. Se definido com valor 0, o rollback só será disparado se o alarme for acionado durante o desenvolvimento ou atualização do stack.

 

Imagine que você tem um CloudWatch alarm para acompanhar o desempenho da sua aplicação e, ao atualizar o stack com novas configurações, define o Rollback trigger para esse alarme. O stack é atualizado, a nova configuração é aplicada corretamente, mas, com isso, a aplicação passa a apresentar problemas, o alarme é acionado e, então, o CloudFormation volta o stack automaticamente ao estado anterior.

 

Essa função é extremamente importante porque diminui o tempo de indisponibilidade de uma alteração que não apresenta o resultado esperado.

TIVIT Cloud Solutions

Com tantas opções no mercado, nem sempre é simples identificar aquilo que é melhor para a sua empresa, não é mesmo? Mas você não precisa se preocupar com isso: a TIVIT Cloud Solutions consegue identificar o melhor de cada nuvem para disponibilizar para a sua empresa. Dessa forma, é possível integrar diferentes ambientes e aplicações com máxima disponibilidade e segurança de dados.

 

A TIVIT é referência na América Latina em soluções completas de nuvem, e disponibiliza toda sua expertise para que sua empresa obtenha todos os benefícios que a computação em nuvem pode oferecer.

 

Viu? Os serviços de automação em nuvem AWS são os mais variados e podem ajudar a sua empresa de diferentes maneiras. Agora é só entender quais são as suas necessidades e identificar como elas podem ser resolvidas com essas soluções.

 

O que acha, então, de dar o próximo passo? Fale com um de nossos especialistas e entenda como podemos ajudar!

CTAs-tivit-horizontal (2)

 

Conteúdos Relacionais