A contenização de aplicações deveria ser obrigatória nas empresas

A tecnologia tem avançado em uma velocidade incrível nos últimos anos proporcionando uma nova experiência para as pessoas desenvolvedoras de software, profissionais de infraestrutura e até para os clientes possibilitando novas abordagens com mais qualidade e no menor tempo.

Eu tenho trabalhado no mercado de desenvolvimento de software a mais de 25 anos e lá atras era difícil alocar servidores para as aplicações sem falar na dificuldade de manutenção. Com a popularização da virtualização o modelo de máquinas virtuais tornou-se um padrão adotado no mercado facilitando em muito o dia a dia de todos os profissionais de tecnologia.

No momento atual em plena era da computação em nuvem surgiram novos modelos computacionais e um deles é a utilização de contêineres nas aplicações seja no ambiente local e na nuvem. Os containers tornam-se popular por meio da empresa “Docker” e passaram a ser incorporados nos provedores de nuvem que adoram o Kubernetes como plataforma “Cloud-Native” para orquestração dos containers.

Para você entender melhor a vantagem de contêineres em relação a uma máquina virtual basta comparar avaliar que subir uma maquina requer muitos recursos de memória e CPU além do consumo do próprio sistema operacional e no cenário de containers você além de isolar se compartilha o ambiente reduzindo o gasto de acelerando as publicações.

A adoção de contêineres simplifica em muito o ambiente de desenvolvimento de software permitindo por exemplo com uma linha de comando subir um serviço de banco de dados para testar a aplicação e na sequencia destruir o container sem realizar nenhuma instalação no ambiente local.

As suas aplicações e Microservivces também devem ser “contenizados” utilizando a sua estratégia de DevOps (Azure DevOps, GitHub e outros) para que automaticamente se realize a compilação e construção da imagem de container com o seu projeto e publicação em um repositório de container.

Após construir a sua imagem basta instanciar e testar a sua aplicação em conjunto com outros containers necessários ao teste como banco de dados, mensageria. Uma vez que essa imagem fora aprovada pode ser enviada para homologação ou produção de acordo com a sua estratégia.

Os provedores de nuvem como o Azure da Microsoft estão preparados para receber essas aplicações oriundas de containers em seus serviços como Azure Kubernetes Service (AKS), Azure Container Instance (ACI), App Service. Você consegue pode exemplo adotar uma estratégia de AKS com um baixo custo computacional usando “Azure reserved instances” e escalar automaticamente conforme a demanda.

Para acompanhar mais sobre esse tema escute e assine o podcast no Spotify “A contenização de aplicações já deveria ser um item obrigatório (Docker, Kubernetes, Cloud)”.

Para saber mais:

https://cri-o.io

https://www.docker.com

https://kubernetes.io

[],

Ramon Durães

Image: Freepik