Pensar em automação em nuvem, utilizando mecanismos como AWS é ter um vasto mundo na mão. É conseguir perceber a infraestrutura como código de forma flexível e desenvolver diferentes estruturas de forma rápida e eficiente.
No entanto, toda essa tecnologia pode parecer um bicho de sete cabeças para quem agora está interessado. O que podemos adiantar é que não é. Por isso, o nosso especialista em Cloud DevOps, Ramoon Camacho, vai explicar tudo o que você precisa saber sobre a automação em cloud AWS. Confira!
Quando se trabalha utilizando a cloud, muitos de seus processos podem ser bastante repetitivos. Principalmente, aquelas tarefas que compõem a fase de gerenciamento, necessitando de estratégia para tornar esse trabalho mais eficiente. Nesse caso, a automação em nuvem consiste em todos os processos que automatizam suas funções, facilitando a gestão do ecossistema cloud, principalmente, se a empresa lida com muitos provedores.
A capacidade de gerenciar um alto número de provedores é muito vantajosa para a empresa. Mas, além disso, existe a possibilidade de executar fluxos complexos sem a perda de eficácia, de forma que a gerência não fica sobrecarregada e pode facilmente se concentrar nos resultados.
Ao utilizar a infraestrutura como código, é possível determinar os processos, de maneira que a plataforma gerencia as dependências e o sequenciamento lógico, servindo tanto para criar quanto para remover os recursos. Na nuvem, o gerenciamento de hardware é feito automaticamente. Com alguns cliques, cria-se uma instância, um volume, publica-se um site, faz-se um deploy de uma aplicação, etc.
Além disso, é possível garantir uma série de benefícios que vão além da tecnologia, que afetam as operações totalmente, como:
Um dos maiores desafios é a invocação e integração entre os serviços necessários para realização da automação fim a fim. Contudo, ao utilizar a AWS, o desenvolvedor tem à disposição diferentes mecanismos para fazer a chamada manual ou por meio de serviços, ou eventos da sua automação. Além disso, a configuração de integração é completamente intuitiva.
Podemos citar três exemplos práticos de como esse sistema funciona. Vamos ver mais a seguir!
Em resposta a um evento do CloudWatch Event gerado pelo AWS Health, neste exemplo, utilizaremos o AWS Step Functions para gerenciar um workflow com funções Lambda. A AWS monitora repositórios de código populares para identificar Access Keys expostas. A partir daí, o AWS Health gera um evento CloudWatch. Então, o workflow apaga a Access Key e notifica por e-mail os responsáveis com os detalhes da chave exposta.
Aqui, quando a CPU em instâncias EC2 está sobrecarregada, é feita uma checagem via Trusted Advisor, um evento no Amazon CloudWatch é disparado. Ele aciona funções Lambda para descobrir qual é o tipo e para qual categoria de instância deve aumentar a capacidade de processamento.
Neste exemplo, realizaremos um assessment para identificar as possíveis vulnerabilidades em imagens. O que acontece é que a automação cria uma instância EC2 a partir da imagem, executa o Amazon Inspector, consolida as descobertas, remove a instância e publica os resultados por e-mail.
O CloudFormation é a nossa ferramenta principal de infraestrutura como código na AWS. Com ele, podemos descrever o que precisa ser desenvolvido e não nos preocupamos em como esses recursos serão criados, pois o AWS se encarrega.
No CloudFormation, o código criado é chamado de template, que pode ser escrito em YAML ou JSON. Se o padrão da sua área ou empresa é de outro formato, é possível convertê-lo.
A partir do template, é criado o stack. O primeiro é o código, e o segundo é o conjunto de recursos criados a partir do código. Em um único template (consequentemente, em um único stack), você pode ter todos os tipos de recursos, como instâncias, volumes, buckets, databases ou qualquer função disponibilizada pela AWS.
Como o CloudFormation é a base para outros serviços, como o AWS Elastic Beanstalk e AWS Service Catalog, conhecê-lo é a melhor forma de fazer customizações avançadas em vários serviços da AWS.
O CloudFormation é ideal no gerenciamento de recursos em múltiplas contas e regiões. É o chamado stackset (conjunto de stacks), em que o mesmo template utilizado para criação de um stack pode ser usado para criação de um conjunto. O desenvolvedor apenas informa as contas e regiões e o stack é criado em todas elas.
Além disso, ao utilizar o AWS Organizations para organizar a sua estrutura de contas, é possível associar um stackset à uma Organization Unit. Sendo assim, qualquer conta que entrar terá o stack criado automaticamente, assim como, quando removida, o stack também é retirado.
Falamos, neste texto, sobre a automação em nuvem AWS e os principais mecanismos da infraestrutura como código. Principalmente, utilizando uma das nossas principais ferramentas, que é o CloudFormation. Lembrando que as vantagens de se investir nesse tipo de tecnologia voltada para a nuvem são inúmeras.
Não só a possibilidade de automatizar o processo de desenvolvimento de estruturas para as operações da empresa, mas também maior segurança, mais produtividade e o aumento da flexibilidade para a criação.
Se a sua empresa está interessada em melhorar sua performance em nuvem ou, mesmo, começar a investir nesse universo, conheça agora os nossos serviços!