Container as a Service (CaaS) é o serviço que oferece plataformas de contêiner como soluções completas, hospedadas em nuvem. Explicamos o conceito e apresentamos quatro das plataformas de CaaS mais populares do mercado. Além disso, mostramos como empresas podem se beneficiar de serviços de contêiner baseados em nuvem.

O que é CaaS?

CaaS, abreviação de Container as a Service, é o modelo de negócios no qual provedores de computação em nuvem oferecem plataformas para virtualização baseada em contêineres como serviço on-line escalável. Isso permite que empresas utilizem serviços de contêiner sem precisar implementar a infraestrutura necessária. O termo é um conceito de marketing, inspirado em outros modelos de serviços em nuvem, como Infrastructure as a Service (IaaS), Platform as a Service (PaaS) e Software as a Service (SaaS).

O que são serviços de contêiner?

Um serviço de contêiner é oferecido por um provedor de computação em nuvem e permite que usuários desenvolvam, testem, executem ou distribuam software em contêineres de aplicativos em diversas infraestruturas de TI. O conceito vem do universo Linux e utiliza a virtualização no nível do sistema operacional. Com isso, aplicativos são executados como instâncias isoladas, incluindo todas as dependências necessárias, como bibliotecas e arquivos de configuração. Essa abordagem a execução simultânea de várias aplicações com requisitos diferentes em um único sistema operacional, além de facilitar a implantação em sistemas diversos.

Serviços de CaaS normalmente oferecem um ambiente completo de contêiner, incluindo ferramentas de orquestração, catálogo de imagens (registro), software de gerenciamento de clusters, um conjunto de ferramentas para desenvolvedores e APIs.

Cloud Compute Engine da IONOS

Empresas de médio e grande porte optam pela nuvem da Alemanha. Serviços IaaS e PaaS são para campeões.

  • Seguro
  • Confiável
  • Flexível

Diferenças entre CaaS e outros serviços em nuvem

Desde meados dos anos 2000, a computação em nuvem tem sido uma alternativa para empresas e usuários domésticos que desejam evitar a implementação de recursos de TI (on-premises). Além do CaaS, três modelos de serviço em nuvem são especialmente populares:

  • IaaS: Infrastructure as a Service fornece recursos virtuais de hardware, como poder de processamento, armazenamento e capacidade de rede. Os provedores de IaaS disponibilizam essas estruturas básicas de infraestrutura de TI na forma de máquinas virtuais (VM) ou redes locais virtuais (VLANs).
  • PaaS: A camada intermediária do modelo de computação em nuvem é chamada de Platform as a Service. Com PaaS, os provedores de nuvem oferecem plataformas de programação e ambientes de desenvolvimento pela internet, baseando-se na infraestrutura de IaaS.
  • SaaS: A camada mais alta do modelo de computação em nuvem é uma camada puramente de aplicação. O termo Software as a Service refere-se à disponibilização de softwares pela internet. Nesse modelo, os programas não são executados no hardware do cliente, mas nos servidores do provedor.
Imagem: Representação dos modelos de serviço em nuvem IaaS, PaaS e SaaS
Os modelos de serviço em nuvem IaaS, PaaS e SaaS em comparação com a provisão de recursos local (on-premises)

Nesta divisão clássica dos três modelos estabelecidos de computação em nuvem, o CaaS pode ser posicionado entre IaaS e PaaS. No entanto, o Container as a Service se diferencia desses modelos de serviço por adotar uma abordagem de virtualização fundamentalmente distinta: a tecnologia de contêineres.

Definição

Containers as a Service é uma forma de virtualização baseada em contêineres, na qual o ambiente de execução, as ferramentas de orquestração e os recursos de infraestrutura subjacentes são fornecidos por um provedor de computação em nuvem.

Como funciona o CaaS?

A base do Container as a Service é um cluster de computadores, disponibilizado por meio da nuvem e alugado sob demanda pelos usuários para fazer upload, criar, gerenciar centralmente e executar aplicações baseadas em contêineres na plataforma em nuvem. A interação com o ambiente de contêiner baseado na nuvem ocorre através de uma interface gráfica de usuário (GUI) ou por chamadas de API. As tecnologias de contêineres disponíveis para os usuários variam de acordo com o provedor.

O núcleo de qualquer plataforma CaaS é uma ferramenta de orquestração (também chamada de orquestrador), que permite o gerenciamento de arquiteturas complexas de contêineres. As seguintes funções são essenciais:

  • Distribuição de contêineres em vários hosts.
  • Agrupamento de contêineres em unidades lógicas.
  • Escalabilidade de contêineres.
  • Balanceamento de carga (load balancing).
  • Alocação de capacidade de armazenamento.
  • Interface de comunicação entre contêineres.
  • Descoberta de serviços (service discovery).

O orquestrador utilizado em uma plataforma CaaS tem impacto direto nas funcionalidades disponíveis para os usuários do serviço em nuvem. Atualmente, o mercado de virtualização baseada em contêineres é dominado por ferramentas como Docker Swarm, Kubernetes, OpenShift e Amazon Elastic Container Service (ECS).

Dica

Você pode encontrar uma descrição detalhada das ferramentas de orquestração e das ferramentas Docker mais populares em artigos especializados do nosso Digital Guide. Lá, você também encontra uma comparação completa entre OpenShift e Kubernetes.

Como deve ser um provedor de CaaS confiável?

Na escolha de um serviço CaaS para uso corporativo, os usuários devem considerar as seguintes questões:

  • Quais ferramentas de orquestração são oferecidas?
  • Quais formatos de arquivo para aplicações baseadas em contêineres são suportados?
  • É possível operar aplicações com múltiplos contêineres?
  • Como os clusters para a operação de contêineres são gerenciados?
  • Quais funções de rede e armazenamento estão disponíveis?
  • O provedor oferece um registro privado para imagens de contêineres?
  • Qual é o nível de integração do ambiente de execução de contêineres com outros serviços em nuvem do provedor?
  • Quais modelos de cobrança são oferecidos?

Os melhores provedores de CaaS

A tecnologia de contêineres está em alta, e, como resultado, a oferta de serviços CaaS é ampla. Soluções de virtualização em nível de sistema operacional estão presentes no portfólio de quase todos os provedores de nuvem pública. Grandes players como Amazon, Microsoft, Google e IONOS, que estão entre os mais influentes no mercado de CaaS, expandiram suas plataformas de nuvem com soluções baseadas em Docker.

Nota

Docker é a plataforma de contêineres mais conhecida e importante do mercado. O formato de contêiner desenvolvido pelo Docker, uma evolução de contêineres Linux (LXC), é amplamente utilizado e suportado por todos os provedores de CaaS.

IONOS Cloud Managed Kubernetes

O Managed Kubernetes da IONOS é a plataforma ideal para aplicações em contêineres de alto desempenho e alta escalabilidade. O serviço está disponível diretamente pelo painel da IONOS Cloud e combina a plataforma IaaS da IONOS com as tecnologias de contêiner líderes de mercado, como Docker e Kubernetes.

Imagem: Captura de tela do IONOS Managed Kubernetes
IONOS Cloud Managed Kubernetes: Hospedagem de clusters, implantação e orquestração de contêineres em um único pacote.

A solução CaaS da IONOS é voltada para desenvolvedores e equipes de TI, permitindo a implantação, gerenciamento e escalabilidade de aplicações baseadas em contêineres em clusters Kubernetes. O serviço inclui:

  • Nós em nuvem gerenciados com recursos dedicados de servidor.
  • Gerenciamento personalizado de clusters.
  • Acesso total aos contêineres de aplicação.
  • Orquestração personalizada.
  • Suporte técnico para utilização e criação de clusters de contêineres no painel da nuvem pelo suporte de primeiro nível da IONOS.
  • Comunidade IONOS Cloud.

O suporte da IONOS cobre a configuração e gerenciamento de clusters de contêineres. No entanto, não oferece suporte direto para o kubectl ou o painel do Kubernetes. Por meio do painel da IONOS Cloud, os usuários têm acesso a várias soluções de terceiros, como Helm, GitLab ou Autoscaler, disponíveis como soluções de clique único. Para o registro de imagens Docker, é possível integrar o serviço on-line DockerHub.

O IONOS Cloud Managed Kubernetes permite a configuração totalmente automática de clusters Kubernetes. O serviço em si é gratuito – os custos estão relacionados apenas à infraestrutura da IONOS Cloud efetivamente utilizada.

Vantagens Desvantagens
Compatibilidade total com Kubernetes. Sem suporte para kubectl e Kubernetes Dashboard.
Grande variedade de soluções de terceiros pré-instaladas.
Alta portabilidade.
Managed Kubernetes da IONOS
O jeito mais simples de gerenciar cargas de trabalho em contêineres.

Instalação de clusters Kubernetes totalmente automatizada, visibilidade máxima e controle de clusters K8s.

Amazon Elastic Container Service (ECS)

Desde abril de 2015, a Amazon oferece soluções de conteneirização sob o nome de Amazon Elastic Container Service (ECS) dentro da plataforma de cloud computing AWS (Amazon Web Services). Assim como o serviço da IONOS, o ECS suporta exclusivamente contêineres no formato Docker.

FnFvpIsBrog.jpg Para exibir esse vídeo precisamos usar cookies de terceiros. Você pode acessar e mudar suas configurações de cookies here.

O Amazon ECS oferece várias interfaces para executar aplicativos isolados em contêineres Docker na Amazon Elastic Compute Cloud (EC2). O serviço é baseado nas seguintes infraestruturas de nuvem:

  • Instâncias Amazon EC2 (Elastic Compute Cloud): A Amazon EC2 oferece capacidade de computação escalável como instâncias, que podem ser alugadas conforme a demanda.
  • Amazon S3 (Simple Storage Service): O Amazon S3 é uma plataforma de armazenamento de objetos baseada em nuvem.
  • Amazon EBS (Elastic Block Store): O Amazon EBS fornece volumes de armazenamento de blocos altamente disponíveis para as instâncias EC2.
  • Amazon RDS (Relational Database Service): O Amazon RDS é um serviço de banco de dados que gerencia motores de banco de dados relacionais como Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle e Microsoft SQL Server.

A gestão de contêineres no ECS é feita, por padrão, através de um orquestrador proprietário, que funciona como master e se comunica com um agente em cada nó do cluster a ser gerenciado. Como alternativa, é oferecido o módulo de código aberto Blox, que permite integrar agendadores desenvolvidos pelo usuário e ferramentas de terceiros, como o Mesos, ao ECS.

Uma das vantagens do Amazon EC2 Container Service é sua integração com outros serviços da Amazon, como a ferramenta de gerenciamento de permissões “AWS Identity and Access Management (IAM)”, o balanceador de carga em nuvem “Elastic Load Balancing” e o serviço de monitoramento “Amazon CloudWatch”.

Uma desvantagem do Amazon EC2 Container Service é a limitação às instâncias EC2. O serviço CaaS da Amazon não oferece suporte a infraestruturas de TI fora da AWS – nem físicas nem virtuais. Cenários de nuvem híbrida não são possíveis, assim como a combinação de recursos de TI de diferentes fornecedores de nuvem pública (Multicloud). Isso provavelmente está relacionado ao modelo de negócios no qual a Amazon oferece seu serviço CaaS: o Amazon EC2 Container Service está disponível gratuitamente via AWS, sendo cobrada apenas a infraestrutura em nuvem utilizada – como um cluster de instâncias EC2, que serve de base para o funcionamento das aplicações conteinerizadas.

Vantagens Desvantagens
Integração com outros produtos da AWS Deployment de contêineres limitado às instâncias EC2
Gratuito para usar (infraestrutura paga) Orquestrador proprietário

Google Kubernetes Engine (GKE)

O Google também integrou um serviço de contêineres hospedado na nuvem pública através do Google Kubernetes Engine (GKE). O principal componente do serviço CaaS é a ferramenta de orquestração Kubernetes.

pQ87vVMZK-A.jpg Para exibir esse vídeo precisamos usar cookies de terceiros. Você pode acessar e mudar suas configurações de cookies here.

O GKE (Google Kubernetes Engine) utiliza recursos da Google Compute Engine (GCE) e permite que os usuários executem aplicações baseadas em contêineres em clusters na Google Cloud. Com o GKE, não há limitação à infraestrutura do Google: o Cluster Federation System do orquestrador Kubernetes possibilita agrupar recursos de diferentes clusters de computadores em uma federação lógica e, quando necessário, implementar cenários de Hybrid-Cloud e Multi-Cloud.

Cada cluster criado com o GKE consiste em um ponto final mestre do Kubernetes, onde o servidor de API do Kubernetes é executado, e um número variável de nós de trabalho que respondem às solicitações REST enviadas ao servidor de API e executam os serviços necessários para suportar contêineres Docker. O GKE também oferece suporte ao amplamente utilizado formato de contêineres Docker. Para o armazenamento de Docker Images, os usuários podem contar com um registro de contêiner privado. Uma sintaxe baseada em JSON permite que os serviços de contêineres sejam definidos como templates.

A integração do Kubernetes no GKE oferece as seguintes funcionalidades para orquestrar aplicações em contêineres:

  • Binpacking automático: O Kubernetes distribui automaticamente os contêineres com base nas restrições e requisitos de recursos, garantindo a utilização otimizada do cluster.
  • Verificação de integridade com função de autorreparo: O Kubernetes realiza verificações automáticas de integridade, garantindo que todas as contas e contêineres estejam funcionando corretamente.
  • Escalabilidade horizontal: O Kubernetes permite escalar as aplicações para cima ou para baixo conforme necessário.
  • Descoberta de serviço e balanceamento de carga: O Kubernetes oferece dois modos de descoberta de serviço: via variáveis de ambiente e DNS Records. O balanceamento de carga entre contêineres é feito por meio de endereços IP e nomes DNS.
  • Orquestração de armazenamento: O Kubernetes permite montar automaticamente diferentes sistemas de armazenamento.

Em relação à precificação do serviço CaaS, o Google adota uma abordagem diferente da da Amazon. Na edição básica gratuita, é possível utilizar um crédito mensal de 74,40 dólares por conta de faturamento, que se aplica a clusters zonais e de Autopilot. Nas edições “Kubernetes”, a cobrança é feita por hora, por vCPU ou por cluster. Os custos da edição “Compute” são baseados nas tarifas da Compute Engine.

Vantagens Desvantagens
Integração com outros produtos do Google Curva de aprendizado íngreme
Interoperabilidade Pode se tornar rapidamente caro

Microsoft Azure Kubernetes Service (AKS)

O Azure Kubernetes Service (AKS) é um ambiente de hospedagem otimizado para a plataforma de computação em nuvem da Microsoft, o Azure, que permite aos usuários desenvolver e implantar aplicações baseadas em contêineres em clusters de computação escaláveis. O AKS utiliza uma versão otimizada para o Azure de ferramentas de contêineres de código aberto e permite a execução de contêineres Linux e Windows no formato Docker.

Imagem: Página do Produto Microsoft Azure Kubernetes Service (AKS)
Captura de tela da página do Azure Kubernetes Service (AKS); Fonte: https://azure.microsoft.com/products/kubernetes-service/

Quais recursos estão disponíveis para os usuários do AKS ao operar aplicativos containerizados na nuvem Azure dependem principalmente da escolha do orquestrador. Orquestradores de contêiner populares que são suportados incluem Kubernetes, DC/OS e Docker Swarm. Na versão Docker-Swarm, o AKS depende da pilha Docker, utilizando as mesmas tecnologias open-source do Docker Universal Control Plane (um componente principal do Docker Datacenter). Implementado no Azure Container Service, o Docker Swarm oferece o seguinte conjunto de recursos para orquestração e escalabilidade de aplicativos em contêineres:

  • Docker Compose: A solução do Docker para aplicativos multi-contêiner permite vincular vários contêineres e executá-los centralmente com um único comando.
  • Controle por linha de comando: A interface de linha de comando do Docker (CLI) e a ferramenta multi-contêiner Docker Compose possibilitam o gerenciamento direto de clusters de contêineres pela linha de comando.
  • REST API: A Docker Remote API oferece acesso a diversas ferramentas de terceiros do ecossistema Docker.
  • Deployment baseado em regras: A distribuição de contêineres Docker no cluster pode ser gerida por meio de rótulos e restrições.
  • Service discovery: O Docker Swarm oferece diversas funções de descoberta de serviços.

Além disso, a Microsoft expandiu o ACS com funções CI/CD (integração e entrega contínuas) para aplicativos multi-contêiner desenvolvidos com o Visual Studio, o Visual Studio Team Services ou a ferramenta open-source Visual Studio Code. O gerenciamento de identidade e acesso no Azure é feito por meio do Active Directory, cujas funcionalidades básicas são fornecidas gratuitamente até um limite de 500.000 objetos de diretório. Assim como no Amazon ECS, não há custos pelo uso das ferramentas de contêiner no Azure Container Service. As taxas são cobradas apenas pelo uso da infraestrutura subjacente.

Vantagens Desvantagens
Totalmente integrado na plataforma em nuvem Azure Seleção de sistemas operacionais limitada
Suporta todas as ferramentas de orquestração padrão
Este artigo foi útil?
Ir para o menu principal