Photo by Paul Teysen on Unsplash

Containers: Como funcionam? E porque usar na AWS pode ajudar!

Os containers proporcionam uma maneira padrão de empacotar código, configurações e dependências de um aplicativo em um único objeto. Eles compartilham um sistema operacional instalado no servidor e são executados como processos isolados de recursos.

DevOps from Zero!💻
4 min readOct 30, 2023

--

Muito se fala em containers, soluções Cloud Native, Micro-serviços e outras abordagens de Arquitetura de Soluções, quando estamos tratando de aplicações que proporcionam alta disponibilidade, resiliência e altamente escaláveis. Tudo isso se deve ao modo como a tecnologia foi desenvolvida com o passar dos anos, e chegarmos nessa abstração de containers que temos hoje em dia, imagina o simples, uma caixa de papelão, e todas as configurações da sua aplicação, dependências, códigos dentro da mesma caixa, tudo empacotado. Essa é a ideia de container que temos, do modo mais simples possível, e pode ser executado em diferentes ambientes e contextos.

AWS Documentation.

Na AWS, existem diversos serviços que executam containers de forma simples, rápida e com todos as características citadas anteriormente, na ideia da caixa de papelão. A AWS oferece recursos de infraestrutura otimizados para a execução de containers, além de um conjunto de serviços de orquestração (EKS) que facilitam a criação e execução de aplicativos empacotados (containers) direto para ambientes de produção e prontos para atender a sua demanda de projeto. Entenda como funciona o serviço de EKS disponibilizado pela AWS.

A AWS pode ajudar!

Tendo a possibilidade de usar os serviços de containers da AWS, você pode obter diversos benefícios para sua arquitetura de nuvem, tais como:

  • Aproveite as integrações com serviços da AWS, como EC2, VPC, IAM, EBS para executar seus aplicativos em containers.
  • Reduza custos com provisionamento eficiente de recursos de computação e escalabilidade automática de aplicações do Kubernetes.
  • Garanta um ambiente do Kubernetes mais seguro com patches de segurança aplicados automaticamente pela equipe de arquitetura da AWS.
  • Reduza os custos com ajustes de serviços que promovem escala automático e preços conforme os uso.
  • Foque apenas no seu projeto sem se preocupar com o hardware do ambiente e outros fatores de infraestrutura.

Como funcionam?

De forma simplificada, o ciclo de vida de um container envolve diversas etapas. Com base nesse entendimento, a AWS disponibiliza uma imagem ilustrativa que detalha o processo de funcionamento dos containers abaixo.

AWS Documentation.

Build a Container Image

A primeira fase envolve a criação de uma imagem de container. Uma imagem de container é um pacote basicamente, executável e independente que inclui tudo o que é necessário para executar uma aplicação, a mesma ideia da caixinha de papelão com os todas as dependências. O Dockerfile é usado para definir como a imagem do container deve ser construída, pode ser considerado o DNA de uma imagem de container.

Automate Testing and Deployment

Uma vez que a imagem do container é criada, ela deve ser testada para garantir que a aplicação funciona conforme o esperado em diferentes ambientes (prod, dev). Ferramentas de integração contínua (CI) e entrega contínua (CD), como Jenkins, GitLab CI, e AWS CodePipeline podem ser usadas para automatizar o processo de teste e implantação.

Run Anywhere

Uma grande vantagem dos containers é que eles podem ser executados em qualquer lugar que tenha o Docker ou um sistema de gerenciamento de container (ECS), seja localmente em uma máquina do profissional, em um servidor on-premise, ou na nuvem. Isso proporciona portabilidade e consistência entre diferentes ambientes de execução do container.

Scale Rapidly

Containers são leves e rápidos de iniciar, o que permite que as aplicações sejam escaladas rapidamente para lidar com altas cargas de trabalhos. Ferramentas como Kubernetes, Amazon EKS, e Docker Swarm podem ser usadas para gerenciar a orquestração e escalabilidade de containers em clusters.

Posts sobre Containers (Docker)

Se você deseja aprender mais outras formas de executar containers, já escrevi conteúdos sobre Docker aqui no Medium mesmo, aproveita para estudar e aprender sobre os comandos, alternativas de aprendizado e muito mais!

E isso é tudo pessoal. Se você gostou deste post, mostre seu apoio 👏 nesta história. Obrigado por ler! Quer colaborar também ou tem uma dúvida, sugestão? Manda a sua mensagem que a gente troca ideia e acerta os passos, vamos aprender e estudar containers.

--

--

DevOps from Zero!💻
DevOps from Zero!💻

Written by DevOps from Zero!💻

SRE/DevOps Engineer| Lifelong learner | Medium Creator | AWS/Azure certified☁️ | Hashicorp Ambassador | Containers | Tech | Community | Coffee