Principais conclusões
- Um contentor reúne tudo o que uma aplicação precisa para ser executada de forma fiável em qualquer ambiente de computação.
- Os contentores na computação na cloud são usados para distribuir e gerir aplicações modernas, incluindo as que executam cargas de trabalho de IA e aprendizagem automática, entre ambientes.
- Os contentores são mais leves e portáteis do que as máquinas virtuais, o que os torna mais fáceis de dimensionar.
- Os contentores complementam práticas modernas de desenvolvimento de aplicações, como o uso de arquiteturas de microsserviços e fluxos de trabalho DevOps.
- Organizações de vários setores usam contentores para criar e manter soluções seguras e escaláveis.
- As ferramentas e os serviços otimizados para contentores, como a plataforma de orquestração Kubernetes, simplificam a gestão de contentores.
O que são contentores na computação na cloud?
Os contentores abordam um desafio fundamental no desenvolvimento de aplicações: fazer a gestão do código e das dependências de uma app para que esta seja executada de forma consistente em ambientes de TI e não afete o desempenho de outras aplicações em execução no mesmo sistema. Tradicionalmente, os programadores tinham de empacotar software em várias versões para que pudesse ser executado em diferentes ambientes.
Os contentores resolvem este desafio ao fornecer uma infraestrutura leve e imutável para o empacotamento e a implementação de aplicações. Os programadores podem depois empacotar uma aplicação (ou serviço), as respetivas bibliotecas, ficheiros de configuração e dependências como uma única imagem de contentor. Podem então testar a aplicação contentorizada como uma unidade e implementá-la como uma instância de imagem de contentor entre ambientes com pouca ou nenhuma modificação. Por este motivo, os contentores tornaram-se um pilar da estratégia de TI empresarial, executando tudo, desde serviços Web até cargas de trabalho potenciadas por IA.
Os contentores na nuvem, que são contentores executados em instâncias na nuvem, tornaram-se especialmente indispensáveis para a computação na cloud. Fornecem aos programadores e profissionais de TI uma forma consistente de distribuir e gerir aplicações nativas da nuvem, modernas em diferentes tipos de ambientes. Estes ambientes podem incluir infraestrutura de cloud híbrida, que combina cloud pública, cloud privada e recursos no local, e infraestrutura multicloud, que utiliza serviços cloud de mais do que um fornecedor.
Como os contentores podem ser reconfigurados rapidamente, também fornecem aos programadores flexibilidade para arrancar ou desativar de forma eficiente instâncias cloud com base em necessidades variáveis de carga de trabalho.
Qual é a diferença entre um contentor e uma máquina virtual?
Os contentores e as máquinas virtuais (MVs) são ambas formas de virtualização que isolam as cargas de trabalho dos recursos informáticos, mas fazem-no de formas diferentes.
Num nível geral, as VMs virtualizam os recursos subjacentes para que várias instâncias de sistema operativo (SO) possam ser executadas no hardware de suporte. As VMs oferecem muitas vantagens, incluindo a capacidade de executar diferentes sistemas operativos no mesmo servidor, seja um servidor no local ou um servidor da cloud. Também permitem uma utilização mais eficiente e económica dos recursos físicos e um aprovisionamento mais rápido de servidores. No entanto, como cada VM contém uma imagem de SO, bibliotecas, aplicações e outros componentes, pode tornar-se grande e difícil, e dispendiosa, de mover entre ambientes.
Em alternativa, um contentor virtualiza o SO subjacente e faz com que a aplicação contentorizada perceba que tem o SO, incluindo CPU, memória, armazenamento de ficheiros e ligações de rede, só para si. Como as diferenças no SO subjacente e na infraestrutura são abstratas, se a imagem base for consistente, o contentor pode ser implementado e executado em qualquer lugar.
Os contentores são mais portáteis e eficientes em termos de recursos do que as máquinas virtuais, mas estão limitados ao sistema operativo para o qual foram definidos. No entanto, como os contentores partilham o SO do anfitrião, não precisam de iniciar um SO nem de carregar bibliotecas. Isto permite que sejam muito mais eficientes e leves, mas menos isolados. As aplicações contentorizadas também reduzem a manutenção, como a aplicação de patches e as atualizações.
Os contentores e as VMs podem ser usados em conjunto. Por exemplo, as organizações podem executar contentores em VMs em vez de diretamente na infraestrutura, o que tira partido do isolamento e da segurança das VMs, ao mesmo tempo que aumenta a eficiência.
Quais são as vantagens de usar contentores?
Aqui estão alguns dos principais benefícios de usar contentores:
- Gestão de aplicações mais simples: Os contentores facilitam a gestão de aplicações e infraestrutura ao normalizar a forma como o software é empacotado e executado entre ambientes. Quando combinados com ferramentas de orquestração, os contentores permitem atualizações automatizadas, reversões, dimensionamento e monitorização, ajudando a tornar as operações mais eficientes e resilientes.
- Maior agilidade: As equipas de TI podem usar aplicações contentorizadas para responder rapidamente a necessidades de negócio em mudança e acelerar o tempo de colocação no mercado com novas ofertas e funcionalidades. Os contentores também suportam processos DevOps modernos e arquiteturas de microsserviços.
- Portabilidade entre ambientes: Os contentores fornecem um formato normalizado para empacotar e armazenar todos os componentes de que uma aplicação precisa para ser executada. Sempre que e onde quer que um contentor seja implementado, no local, na cloud ou em dispositivos edge, é executado num ambiente consistente e invariável.
- Escalabilidade rápida: Uma vez que os contentores não têm instâncias de SO separadas nem outros requisitos de sobrecarga que as VMs têm, podem ser suportados muito mais contentores na mesma infraestrutura. A natureza leve dos contentores significa que podem ser iniciados e interrompidos rapidamente, permitindo um dimensionamento rápido para cima e para baixo.
- Segurança reforçada: Os contentores virtualizam os recursos de computação ao nível do SO, o que limita as superfícies de ciberataque e reduz o risco de um componente comprometido afetar os outros. Este isolamento incorporado, quando combinado com boas práticas e ferramentas de segurança de contentores, ajuda as organizações a detetar ciberameaças atempadamente e a manter implementações seguras e em conformidade entre ambientes.
Contentores e desenvolvimento de aplicações modernas
Devido ao seu tamanho reduzido e à capacidade de serem executados praticamente em qualquer lugar, os contentores estão alinhados com muitos aspetos do desenvolvimento moderno de apps, incluindo o seguinte:
- Arquiteturas de microsserviços: Os contentores são os blocos de construção das arquiteturas de microsserviços, que dividem aplicações grandes em serviços pequenos e fracamente acoplados que executam funções específicas e comunicam através de APIs. Cada serviço é executado no seu próprio contentor, que pode ser atualizado, dimensionado e implementado de forma independente e eficiente.
- Fluxos de trabalho DevOps: Os contentores também são componentes essenciais de pipelines de integração contínua e entrega contínua (CI/CD). Ao permitir que os programadores utilizem ambientes de desenvolvimento, teste e produção consistentes e fiáveis, os contentores ajudam a simplificar fluxos de trabalho, acelerar o ciclo de vida do desenvolvimento de software e reduzir erros manuais.
- Estratégias de cloud híbrida e multicloud: Facilmente movidos entre plataformas, os contentores dão às organizações a flexibilidade para combinar arquiteturas de cloud híbrida e multicloud. Isto permite-lhes provisionar infraestrutura e outros recursos de diferentes fornecedores de cloud, com base nas suas necessidades.
- Migração e modernização de aplicações: As aplicações contentorizadas simplificam a migração para a cloud ao permitir que aplicações monolíticas tradicionais, que agregam todos os componentes da aplicação numa única unidade, sejam executadas em ambientes modernos com o mínimo de alterações.
- Cargas de trabalho de IA e aprendizagem automática: Os contentores são ideais para empacotar e executar aplicações com tecnologia de IA, como as necessárias para automatizar processos empresariais e executar análises preditivas. Os modelos de aprendizagem automática autónomos também podem ser reproduzidos e escalados rapidamente em qualquer ambiente, garantindo consistência desde o treino do modelo até à inferência.
- Modelos de IA generativa: Os programadores que trabalham com modelos de linguagem, modelos de difusão e outros modelos de IA generativa podem usar contentores para agrupar de forma eficiente dependências complexas. Além disso, podem usar ferramentas de orquestração para aplicações contentorizadas para implementar os modelos rapidamente, com segurança e em escala.
Casos de utilização de contentores por setor
Eis exemplos reais de como organizações de todos os tipos e dimensões usam contentores para obter maior eficiência, inovação e escalabilidade:
Setor automóvel
Os fabricantes de automóveis utilizam contentores para serviços de veículos conectados, incluindo atualizações de navegação em tempo real e sistemas de infoentretenimento, garantindo um desempenho consistente em milhões de veículos.
Banca e finanças
As instituições financeiras confiam nos contentores para modernizar sistemas bancários centrais, executar modelos de deteção de fraude e criar aplicações mobile-first, ao mesmo tempo que mantêm uma conformidade rigorosa com as regulamentações do setor.
Jogos
As empresas de Jogos usam contentores para executar serviços de matchmaking, classificações e análise em escala global. Os contentores permitem-lhes implementar atualizações quase em tempo real sem interromper o jogo em curso.
Cuidados de Saúde
Os hospitais e os centros de investigação usam contentores para implementar aplicações de análise de saúde, cumprir os requisitos da Health Insurance Portability and Accountability Act (HIPAA) e gerir dados sensíveis de doentes em ambientes seguros e isolados.
Comércio retalhista
Os retalhistas utilizam contentores para proporcionar experiências de compra personalizadas, monitorizar o inventário em tempo real e escalar interfaces de utilizador baseadas em microsserviços durante os períodos de pico de compras.
Manufatura
Os fabricantes confiam nos contentores para integrar dispositivos da Internet of Things (IoT) e análises preditivas em tempo real nos seus processos de produção, configurar ambientes de simulação e simplificar a gestão de TI e os custos.
Telecomunicações
Os fornecedores de telecomunicações implementam contentores na edge das redes móveis para dar suporte a estações base com tecnologia 5G que comunicam com IoT, telefones e outros dispositivos perto do cliente.
Ferramentas e serviços otimizados para contentores
Plataformas de orquestração de contentores
Uma única aplicação empresarial pode ser composta por centenas ou milhares de contentores distribuídos por clusters de máquinas. Kubernetes ajuda a resolver os desafios associados, automatizando a implementação, o dimensionamento e a gestão de aplicações contentorizadas.
Ferramentas de segurança para contentores
As ferramentas de segurança específicas para contentores monitorizam o comportamento em runtime, procuram vulnerabilidades, aplicam políticas e isolam cargas de trabalho. As firewalls de contentores e a assinatura de imagens são frequentemente usadas para proteção reforçada.
Contentores sem servidor
Ao combinar tecnologias de computação sem servidor com aplicações contentorizadas, os programadores podem executar contentores sem terem de se preocupar com servidores ou infraestrutura. São ideais para aplicações orientadas por eventos que têm de lidar com picos de tráfego.
Contentores como serviço (CaaS)
As plataformas CaaS oferecem ambientes de contentores geridos onde os programadores podem implementar e fazer a gestão de contentores sem terem de instalar software de orquestração ou supervisionar a infraestrutura.
O futuro dos contentores
Aprofunde a sua compreensão da computação na cloud
Visitar o centro de recursos do Azure
Inicie a sua carreira tecnológica
Explorar eventos e webinars do Azure
Perguntas mais frequentes
- Um contentor de cloud é um pacote de software leve e portátil que inclui tudo o que é necessário para executar aplicações com tecnologia de IA e outras aplicações modernas em ambientes de cloud híbrida e multicloud.
- Os contentores na computação na cloud permitem às organizações competir de forma mais eficaz, ao criar, testar e implementar aplicações inovadoras em escala de forma eficiente, ao mesmo tempo que otimizam os recursos de computação.
- Tanto os contentores como as máquinas virtuais isolam cargas de trabalho dos recursos de computação. No entanto, os contentores partilham o sistema operativo anfitrião e são leves e portáteis, enquanto as máquinas virtuais executam um sistema operativo completo e são mais difíceis e dispendiosas de mover entre ambientes.
- Não, o Kubernetes não é um contentor. É uma plataforma de orquestração open-source que automatiza a implementação, o dimensionamento e a gestão de aplicações contentorizadas.