Article/

[Portuguese Only] DevOps e a arquitetura sem servidores da AWS

[Portuguese Only] DevOps e a arquitetura sem servidores da AWS

Chegou a hora de rever aqueles projetos que não pudemos tirar do papel – seja por não termos tempo para implementá-los, ou dinheiro suficiente para investir.

Quem hospeda suas aplicações em um data center tradicional sabe da dificuldade de provisionar um novo ambiente, pois é necessária a criação de servidores, a instalação de um sistema operacional em cada um deles, a disponibilização de discos, as liberações de ACLs e etc. Esse processo costuma demorar alguns dias até que seja disponibilizado para implementar a sua aplicação, porém ainda será necessário atualizá-la constantemente para o seu negócio ser mais dinâmico.

Se você já está habituado ao conceito de DevOps, com certeza está pensando em CI/CD (Jenkins, Gitlab CI, CircleCI…), repositório de códigos (Git, Gitlab, BitBucket…) e no arsenal de ferramentas que temos no mercado, mas consequentemente será necessário a instalação de mais servidores e de conhecimento técnico para instalá-las e mantê-las.

E se alcançássemos a tão sonhada agilidade sem nos preocuparmos com o gerenciamento de servidores e ferramentas, e quem sabe até reduzirmos custos de equipe e infraestrutura? Pois bem, neste artigo falaremos sobre DevOps e arquitetura sem servidores utilizando serviços AWS. 

Os serviços a seguir, além de se integrarem com as principais ferramentas DevOps, também se integram facilmente ao ecossistema da AWS como o AWS IAM, AWS CloudFormation entre outros.

AWS CodePipeline

É o serviço gerenciado de CI/CD e é nele que fazemos as devidas integrações/invocações dos serviços AWS. Tem funções como armazenar códigos das aplicações, compilá-los, testá-los e implementá-los.

É simples configurar um pipeline, pois ele pode ser criado através de uma interface gráfica e amigável. Ele ainda possui o Pipeline Wizard que lhe ajudará neste processo, e além disso é possível ver o histórico e visualizar as implementações em tempo real.

O custo de utilização do serviço é calculado por pipelines ativos (1 USD por pipeline que existe há mais de 30 dias e que tem pelo menos uma alteração de código executada nele durante o mês).

AWS CodeCommit

É o serviço gerenciado para hospedar repositórios git. Nele você terá a mesma experiência (mesmos comandos) de um git instalado em um ambiente on premise.

A comunicação entre o desenvolvedor e a AWS (git add e outros) é criptografada e, portanto, segura. Além disso, o acesso aos repositórios é controlado pelo IAM (Identity and Access Management) que pode ser integrado ao AD da sua empresa.

O custo de utilização do serviço é calculado pela quantidade de usuários e repositórios.

AWS CodeBuild

É o serviço gerenciado para compilar, efetuar testes e criar pacotes de softwares. O que isso quer dizer? Se seu código foi desenvolvido em Java, por exemplo, é necessário compilá-lo antes de implementá-lo. 

O custo de utilização do serviço é calculado com base no número de minutos necessários para concluir a compilação.

AWS CodeDeploy

É o serviço para atualizar ou implementar o código/pacote de software da aplicação. 

Com relação a hospedar a aplicação, no artigo https://blog.compass.uol/tech/aws-ecs-aws-fargate/ falo a respeito do AWS Fargate. Esse é um dos serviços sem servidores indicado para containers, porém temos diversas opções na AWS que não necessitam de servidores como, por exemplo, o Amazon S3. Caso a sua aplicação seja um site estático ou orientada a eventos, o AWS Lambda é uma opção.

Sobre custos, você está livre de cobranças com o CodeDeploy caso a implantação do código seja no Amazon EC2, no AWS Lambda ou no Amazon ECS. 

Veja que com esses serviços é possível experimentar e inovar sem a necessidade de grandes investimentos. Nem todas as aplicações podem se beneficiar desse tipo de arquitetura, mas vale a provocação para os times de tecnologia que suportam o seu negócio.

Get in touch

Our team of specialists is ready to meet your company's demands, so it can achieve better results.

Contact usseta