Ir para

O que são contêineres?

Os contêineres são pacotes de software que contêm todos os elementos necessários para serem executados em qualquer ambiente. Dessa forma, os contêineres virtualizam o sistema operacional e são executados em qualquer lugar, desde um data center privado até a nuvem pública ou até mesmo no laptop pessoal de um desenvolvedor. Do Gmail ao YouTube à Pesquisa, tudo no Google é executado em contêineres. A conteinerização permite que equipes de desenvolvimento se movimentem rapidamente, implantem software de maneira eficiente e operem em uma escala sem precedentes. Aprendemos muito sobre como executar cargas de trabalho em contêineres e compartilhamos esse conhecimento com a comunidade ao longo do caminho: desde os primeiros dias da contribuição de cgroups para o kernel do Linux (em inglês), até a liberação das nossas ferramentas internas como código aberto no projeto Kubernetes.

Contêineres definidos

Os contêineres são pacotes leves do código do aplicativo com dependências, como versões específicas de ambientes de execução de linguagem de programação e bibliotecas necessárias para executar seus serviços de software.

Os contêineres facilitam o compartilhamento de recursos de CPU, memória, armazenamento e rede no nível dos sistemas operacionais e oferecem um mecanismo de empacotamento lógico no qual os aplicativos podem ser abstraídos do ambiente em que realmente são executados. 

Quais são os benefícios dos contêineres?

Separação de responsabilidade

A conteinerização oferece uma separação clara de responsabilidades, porque os desenvolvedores focam na lógica e nas dependências do aplicativo, enquanto as equipes de operações de TI podem focar na implantação e no gerenciamento em vez de nos detalhes do aplicativo, como versões de software e configurações específicas.

Portabilidade de cargas de trabalho

Os contêineres podem ser executados em praticamente qualquer lugar, facilitando muito o desenvolvimento e a implantação: nos sistemas operacionais Linux, Windows e Mac, em máquinas virtuais ou em servidores físicos, na máquina de um desenvolvedor ou em data centers no local e, obviamente, na nuvem pública. 

Isolamento de aplicativos

Os contêineres virtualizam recursos de CPU, memória, armazenamento e rede no nível do sistema operacional, oferecendo aos desenvolvedores uma visualização do SO isolado logicamente de outros aplicativos.

Resolva seus desafios mais difíceis com o Google Cloud

Clientes novos recebem US$ 300 em créditos para usar no Google Cloud.
Comece agora
Fale com um especialista em vendas do Google Cloud para discutir seu desafio exclusivo em mais detalhes.
Fale conosco

Contêineres vs. VMs

Você já deve estar familiarizado com VMs: um sistema operacional convidado, como Linux ou Windows, é executado em cima de um sistema operacional host com acesso ao hardware subjacente. Os contêineres costumam ser comparados com máquinas virtuais (VMs). Assim como as máquinas virtuais, os contêineres permitem empacotar o aplicativo com bibliotecas e outras dependências, oferecendo ambientes isolados para executar os serviços de software. Como você verá abaixo, são apenas essas as semelhanças. Isso porque os contêineres fornecem uma unidade muito mais leve para desenvolvedores e equipes de operações de TI trabalharem, oferecendo uma infinidade de vantagens.

  • Os contêineres são muito mais leves do que as VMs
  • Os contêineres virtualizam no nível do sistema operacional enquanto as VMs virtualizam no nível do hardware
  • Os contêineres compartilham o kernel do sistema operacional e usam uma pequena parte da memória que as VMs exigem

Qual é a função dos contêineres?

Os contêineres oferecem um mecanismo de empacotamento lógico em que os aplicativos podem ser abstraídos pelo ambiente em que são efetivamente executados. Esse desacoplamento permite que aplicativos baseados em contêiner sejam implantados de maneira fácil e consistente, independentemente do ambiente de destino ser um data center particular, a nuvem pública ou até mesmo o laptop pessoal de um desenvolvedor.

Desenvolvimento rápido

Os contêineres permitem que seus desenvolvedores se movam mais rapidamente, evitando preocupações com dependências e ambientes.

Operações eficientes

Os contêineres são leves e permitem que você use apenas os recursos de computação de que precisa. Isso permite que você execute seus aplicativos de forma eficiente.

Execute em qualquer lugar

Os contêineres podem ser executados em praticamente qualquer lugar. Sempre que quiser executar o software, você poderá usar contêineres.

Criado com a mesma base de conhecimento que possibilitou o desenvolvimento do Kubernetes, o Google Kubernetes Engine (GKE), o primeiro serviço gerenciado pronto para produção para a execução de aplicativos em contêineres, pode ajudá-lo a implementar uma estratégia de Kubernetes bem-sucedida para suas cargas de trabalho em nuvem. 

Com o Anthos, o Google oferece uma experiência consistente do Kubernetes para seus aplicativos no local e em várias nuvens. Use o Anthos como um meio confiável, eficaz e seguro de executar clusters do Kubernetes em qualquer lugar.