O que é contêineres como serviço (CaaS)?

Para ter sucesso, um desenvolvedor precisa empacotar e transportar com eficiência diferentes tipos de aplicativos. O contêiner como serviço (CaaS) pode ser uma forma de simplificar a implantação, as operações e a manutenção da sua infraestrutura e contêineres nesse processo.

Vídeo sobre as três principais maneiras de execução de contêineres no Google Cloud

Definição de contêineres como serviço (CaaS)

Contêineres como serviço (CaaS) é um modelo de serviço de nuvem que oferece uma plataforma gerenciada e automatizada para orquestração de contêineres. É uma forma de organizar e simplificar a operação do cluster.

Imagine todos os seus programas em um escritório virtual, com um gerente que cuida do espaço e evita que ele seja destruído ou sobrecarregado. Isso é a containerização. Você não precisa lidar com os problemas. Em vez disso, você se concentra em como o código executa.

O CaaS preenche a lacuna entre o contêiner finalizado do desenvolvedor e um ambiente de execução de nível de produção, abstraindo a infraestrutura e permitindo que as equipes se concentrem na lógica do aplicativo no lugar do gerenciamento de clusters.

Como o CaaS funciona?

O CaaS funciona oferecendo um ambiente gerenciado criado em torno de um mecanismo de orquestração de contêineres, sendo o Kubernetes o padrão do setor para um mecanismo de orquestração de contêineres. O processo cria uma separação de preocupações entre os desenvolvedores e a infraestrutura básica:

Trabalhos de um desenvolvedor: primeiro, ele precisa reunir todas as dependências e o aplicativo e empacotar tudo em uma imagem de contêiner. Essa imagem é um blueprint portátil do aplicativo.

Depois de concluído, um produto de CaaS assume o controle: depois de criado e armazenado, tudo o que resta é aplicar o gerenciamento com uma API ou interface. Um produto de CaaS, como o Google Kubernetes Engine, pode ajudar a lidar com todo o resto. Agora é hora de definir o estado do programa. Precisa de três servidores executando o mesmo programa? Este serviço pode ajudar.

Depois disso, a nova implantação é feita automaticamente. Isso pode incluir:

  • Colocar aplicativos em nós e gerenciar transferências via conexões
  • Escalonar com diferentes tipos de métricas ou recursos
  • Gerenciar e corrigir automaticamente o código em ação
  • Conectar serviços e recursos

Exemplos e usos de CaaS

O CaaS é uma plataforma versátil que pode servir de base para arquiteturas e práticas de desenvolvimento.

Pode ser uma plataforma ideal para implantações de aplicativos e microsserviços.

Pode ser uma ótima maneira de empacotar aplicativos mais antigos com a modernização de apps legados.

Para estruturas de desenvolvimento, uma plataforma de CaaS pode ser ótima. Um sistema automatizado pode criar uma nova imagem de contêiner, executar testes e implantá-la na plataforma de CaaS sem inatividade.

O CaaS automatiza as necessidades de tráfego. A plataforma pode adicionar ou remover instâncias de contêiner automaticamente para atender à demanda do usuário.

As plataformas de CaaS criadas com base em padrões abertos como o Kubernetes podem oferecer um ambiente operacional consistente em data centers no local e várias nuvens públicas. Isso ajuda empresas a executar os aplicativos conteinerizados em qualquer lugar sem precisar refazer a arquitetura deles.

CaaS versus outros modelos de nuvem

O cenário "como serviço" inclui vários modelos, cada um oferecendo um nível diferente de abstração e gerenciamento. O CaaS se encaixa de forma única entre a infraestrutura como serviço (IaaS) e a plataforma como serviço (PaaS).

Modelo de nuvem

O que você gerencia

Nível de abstração

Caso de uso típico

Infraestrutura como serviço (IaaS)

Sistema operacional, middleware, ambiente de execução, aplicativo, dados.

Baixo: oferece acesso a recursos de computação brutos, como máquinas virtuais e armazenamento.

Criação de infraestrutura personalizada do zero.

Contêineres como serviço (CaaS)

Aplicação e configuração.

Médio: gerencia o cluster e o SO, mas permite controlar o ambiente de contêineres.

Orquestração de aplicativos conteinerizados em escala.

Plataforma como serviço (PaaS)

Aplicativos e dados.

Alto: gerencia quase tudo. Você fornece o código-fonte e a plataforma o executa.

Implantação rápida de web apps e APIs simples.

Função como serviço (FaaS) (sem servidor)

Apenas a função do código.

Muito alta: executa funções individuais e sem estado em resposta a eventos.

Tarefas de processamento de dados leves e orientadas a eventos.

Software com serviço (SaaS)

Nada (você é o usuário final).

Completa: disponibiliza um produto de software finalizado pela Web.

Consumir software pronto para uso, como e-mail ou CRM.

Modelo de nuvem

O que você gerencia

Nível de abstração

Caso de uso típico

Infraestrutura como serviço (IaaS)

Sistema operacional, middleware, ambiente de execução, aplicativo, dados.

Baixo: oferece acesso a recursos de computação brutos, como máquinas virtuais e armazenamento.

Criação de infraestrutura personalizada do zero.

Contêineres como serviço (CaaS)

Aplicação e configuração.

Médio: gerencia o cluster e o SO, mas permite controlar o ambiente de contêineres.

Orquestração de aplicativos conteinerizados em escala.

Plataforma como serviço (PaaS)

Aplicativos e dados.

Alto: gerencia quase tudo. Você fornece o código-fonte e a plataforma o executa.

Implantação rápida de web apps e APIs simples.

Função como serviço (FaaS) (sem servidor)

Apenas a função do código.

Muito alta: executa funções individuais e sem estado em resposta a eventos.

Tarefas de processamento de dados leves e orientadas a eventos.

Software com serviço (SaaS)

Nada (você é o usuário final).

Completa: disponibiliza um produto de software finalizado pela Web.

Consumir software pronto para uso, como e-mail ou CRM.

Perguntas frequentes

Os contêineres foram criados para disponibilizar seu software a qualquer hora e em qualquer lugar. Saiba mais sobre contêineres.

Sim. Na verdade, eles oferecem acesso a muitos outros benefícios, como separação de responsabilidades, isolamento de aplicativos, processamento em lote e implantações de nuvem híbrida.

O Google Kubernetes Engine (GKE) simplifica a descoberta de serviços pela integração total com mecanismos nativos do Kubernetes, como objetos de serviço e DNS. Como uma oferta de serviço gerenciado, o GKE aprimora esses recursos com funcionalidades como os serviços de vários clusters (MCS) e a integração direta com o Diretório de serviços.

É possível criar e implantar novos códigos com mais rapidez, mas os recursos não são gerenciados ou pensados repetidamente.

Benefícios do CaaS

A adoção de uma plataforma de CaaS pode trazer vários benefícios estratégicos para equipes de desenvolvimento e operações empresariais.

Portabilidade

O CaaS ajuda as cargas de trabalho. Se um aplicativo baseado em contêiner estiver em execução no framework CaaS padrão, ele poderá ser editado com facilidade.

Escalonabilidade

É possível adaptar os recursos ao que for necessário.

Programação rápida

Isso ajuda a melhorar as práticas de automação.

Manutenção aprimorada

Se um componente falhar, a plataforma resolverá o problema e corrigirá rapidamente para manter a funcionalidade do usuário.

Segurança do CaaS

O provedor cuida do trabalho básico, o que faz você depender do código do seu aplicativo, do acesso à conta, do firewall e das regras de acesso. A segurança em um ambiente de CaaS opera com um modelo de responsabilidade compartilhada. O provedor de CaaS é responsável por proteger a infraestrutura básica. Isso inclui proteger o plano de controle de orquestração de contêineres, proteger os data centers físicos e a rede e garantir a integridade do serviço gerenciado em si.

O cliente é responsável pela segurança dos componentes que controla. Isso envolve proteger o código do aplicativo, gerenciar o acesso ao cluster usando o Identity and Access Management (IAM), configurar políticas de rede para controlar o tráfego entre contêineres e, principalmente, proteger a cadeia de suprimentos de software. Ou seja, usar um registro de contêiner seguro e verificar se há vulnerabilidades conhecidas nas imagens de contêiner antes da implantação.

Responsabilidades da equipe de TI:

  • Testar o código do aplicativo
  • Usar e controlar o IAM ou o Identify Access Management
  • Segurança de software

Resolva seus desafios comerciais com o Google Cloud

Clientes novos recebem US$ 300 em créditos para usar no Google Cloud.

Como configurar o CaaS com o Google Kubernetes Engine

O Google Kubernetes Engine (GKE) é a principal oferta de CaaS do Google Cloud. A configuração de uma implantação básica segue um fluxo de trabalho lógico e nativo de contêineres.

Etapa 1: conteinerizar o aplicativo. 

Primeiro, escreva um arquivo de texto do aplicativo. Esse arquivo de texto simples contém as instruções para criar o aplicativo, as dependências e o ambiente de execução em uma imagem de contêiner estática.

Etapa 2: armazenar a imagem em um registro. 

Crie a imagem do contêiner com base no arquivo de texto e envie-a para um registro particular e seguro. O Artifact Registry é o serviço gerenciado do Google Cloud para armazenar e controlar versões das imagens de contêiner.

Etapa 3: criar um cluster do GKE. 

Provisione um cluster do Kubernetes usando o console do Google Cloud ou a ferramenta de linha de comando gcloud. Para uma experiência totalmente gerenciada que automatiza o gerenciamento e o escalonamento de nós, selecione um cluster do GKE Autopilot.

Etapa 4: defina sua implantação. 

Crie um arquivo de manifesto do Kubernetes (por exemplo, deployment.yaml). Nesse arquivo, você define de forma declarativa o estado desejado do aplicativo, especificando a imagem do contêiner a ser usada, o número de réplicas que quer e os recursos de CPU e memória necessários.

Etapa 5: implantar o aplicativo no cluster. 

Use a ferramenta de linha de comando do Kubernetes, kubectl, para aplicar o arquivo de manifesto ao cluster. O plano de controle do GKE recebe a solicitação e programa os contêineres do aplicativo para serem executados nos nós de trabalho do cluster.

Etapa 6: publicar o aplicativo. 

Para tornar seu aplicativo acessível aos usuários na Internet, crie um manifesto de serviço do Kubernetes do tipo LoadBalancer. Quando você aplica esse manifesto, o GKE provisiona automaticamente um balanceador de carga na nuvem e atribui a ele um endereço IP público, roteando o tráfego externo para os contêineres em execução.

Qual problema você está tentando resolver?
What you'll get:
Guia explicativo
Arquitetura de referência
Soluções pré-criadas disponíveis
Este serviço foi criado com a Vertex AI. Você precisa ter 18 anos ou mais para usá-lo. Não insira informações sensíveis, confidenciais ou pessoais.

Outros recursos

  • Este vídeo do Google Cloud Skills Boost oferece uma visão geral básica dos contêineres e de como o Kubernetes funciona como um mecanismo de orquestração
  • Este guia útil explica as principais diferenças entre outros modelos de serviço de nuvem, como IaaS, PaaS e SaaS

Vá além

Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos do programa Sempre gratuito.

Google Cloud