Neste artigo, descrevemos as ofertas de computação do Google Cloud e como elas se comparam às tecnologias tradicionais de data centers. O foco deste artigo é o Compute Engine, o produto de infraestrutura como serviço (IaaS) do Google Cloud.
Comparação do modelo de serviço
Normalmente, os data centers usam a virtualização de servidores, em que diversos servidores virtuais Unix/Linux ou Windows são executados em uma única máquina física. Essas máquinas virtuais são criadas, provisionadas e gerenciadas por um conjunto de software, como o VMware vSphere ou o XenCenter.
Esse modelo também é usado pelo Compute Engine, combinando virtualização de servidor e ferramentas de gerenciamento relacionadas em um conjunto integrado. No Compute Engine, as máquinas virtuais são chamadas de instâncias de máquina virtual (VM, na sigla em inglês). É possível criar e gerenciar essas instâncias de diversas maneiras, incluindo:
- o Console do Google Cloud, uma IU da Web que é comparável a ferramentas de gerenciamento, como vCenter ou XenCenter;
- o SDK do Cloud;
- a API Compute Engine, que permite interagir com os recursos do Compute Engine a partir de aplicativos.
Administração
O Compute Engine elimina uma grande parte da sobrecarga administrativa associada ao gerenciamento de máquinas virtuais. Você não precisa mais se preocupar com provisionamento de servidor físico, rede ou capacidade de armazenamento nem com a definição e configuração da rede física. Do lado do software, você não precisa mais se preocupar com a instalação e atualização de ferramentas de gerenciamento virtuais, com a manipulação de atualizações automáticas de software hipervisor virtual, firmware de servidor e ferramentas relacionadas ou com a migração das máquinas virtuais durante a manutenção física da máquina. Todas essas tarefas são realizadas sem problemas, nos bastidores, pelo Google.
Planejamento de capacidade e provisionamento de recursos
Em data centers tradicionais, você costuma gastar períodos todo trimestre analisando os requisitos de recursos atuais e prevendo os futuros. Você deve considerar problemas físicos, logísticos e relacionados a recursos humanos, como espaço em rack, resfriamento, eletricidade, largura de banda, cabeamento, épocas de aquisição, épocas de envio e engenheiros disponíveis para a instalação de equipamentos novos. Além disso, é preciso gerenciar ativamente as distribuições de capacidade e carga de trabalho para que os jobs com uso intensivo de recursos, como os pipelines do Hadoop, não interfiram com os serviços que devem estar altamente disponíveis, como os servidores da Web.
Em contraste, quando você usa o Compute Engine, deixa a maior parte do planejamento da capacidade para o Google. É possível expandir e reduzir o escalonamento das instâncias de VM conforme necessário. Como a cobrança é feita com base na utilização por segundo, é possível otimizar os custos sem precisar pagar pela capacidade em excesso desnecessária ou necessária apenas em horários de pico do tráfego. Para ajudar a cortar custos, você receberá notificações do Cloud Console, se forem detectadas instâncias subutilizadas que possam ser redimensionadas ou excluídas.
Além disso, quando você cria uma instância, recebe a RAM e as CPUs que especificou para ela. O desempenho não será degradado por causa de outras instâncias ou serviços que ocupam recursos adicionais na máquina host física da instância.
O Google Cloud exige que você gerencie sua cota, que especifica o número de recursos que você tem permissão para consumir no Google Cloud. É possível analisar e solicitar cotas complementares no Console do Cloud com facilidade. Para ajudar a não atingir o teto das cotas de uso das APIs Google Cloud, solicite uma cota extra com antecedência, principalmente se estiver esperando um aumento grande. Para gerenciar sua despesas e restringir o consumo de muitos recursos por parte de pessoas e processos, é possível também solicitar uma redução na cota.
Garantias mensais do tempo de atividade
No Compute Engine, o contrato de nível de serviço (SLA, na sigla em inglês) oferece pelo menos 99,95% do tempo de atividade mensal, sujeito a certas limitações. Para mais detalhes, veja o SLA do Google Compute Engine.
Comparação de recursos
Configuração e gerenciamento básicos
No Compute Engine são oferecidas as mesmas funcionalidades e a flexibilidade básicas que você espera dos serviços de hipervisor conhecidos, como o VMware ESXi, o KVM e o Xen. Assim como nesses serviços, é possível:
- personalizar a CPU e a RAM disponíveis nas instâncias de VM ou usar um dos tipos de máquinas predefinidos do Compute Engine;
- configurar scripts de inicialização personalizados e scripts de desligamento para as instâncias de VM;
- armazenar e recuperar metadados personalizados associados a uma instância de VM;
- acessar remotamente o console serial para solução de problemas;
- iniciar e provisionar rapidamente as instâncias de VM.
Imagens da máquinas
Assim como em outras máquinas virtuais, as instâncias de VM do Compute Engine são instanciadas a partir de imagens de disco. O Compute Engine é compatível com diversas abordagens:
Use imagens de máquina predefinidas do Compute Engine. O Compute Engine oferece imagens predefinidas para diversos sistemas operacionais e configurações relacionadas, incluindo estes:
- CentOS
- CoreOS
- Debian
- Red Hat Enterprise Linux (Premium)
- SUSE (Premium)
- Ubuntu
- Windows Server 2008 R2, 2012, 2016 (Premium)
- SQL Server no Windows Server (Premium)
Use uma imagem predefinida como ponto de partida, personalize-a de acordo com suas necessidades e exporte o resultado final como imagem de máquina personalizada.
Importe uma imagem atual do Linux a partir de uma imagem do Virtualbox, uma imagem de disco bruta ou uma Amazon Machine Image.
Crie uma imagem personalizada a partir do zero e configure-a para ser executada em uma instância do Compute Engine.
Acesso e permissões
Para se conectar às instâncias do Compute Engine, use o SSH, o RDP ou a
porta serial.
O Console do Cloud fornece um terminal SSH baseado em navegador, e a ferramenta de linha de comando gcloud
permite estabelecer uma conexão por meio do terminal que você escolher. Se você optar por ativar IPs estáticos externos para suas
instâncias, será possível usar ferramentas tradicionais, como a Área de trabalho remota do Windows ou
ssh
.
Uma instância de VM pode se conectar a recursos do Google Cloud usando uma conta de serviço. Uma conta de serviço é uma conta especial do Google que pode ser usada por aplicativos para acessar os serviços do Google de modo programático. Essa conta pertence ao aplicativo ou a uma instância de VM em vez de pertencer a um usuário final individual. O aplicativo usa a conta de serviço para chamar a API de um serviço para que os usuários não sejam envolvidos diretamente.
O Google Cloud oferece gerenciamento de identidade e acesso (IAM, na sigla em inglês) para gerenciamento de identidades federadas e de acesso granular. Para ler uma discussão sobre o IAM no que diz respeito ao Compute Engine, consulte Papéis de gerenciamento de identidade e acesso. Para uma discussão mais geral sobre o gerenciamento de identidades no Google Cloud, consulte o artigo Gerenciamento.
Provisionamento de máquinas
É possível usar o Cloud Deployment Manager para gerenciar de maneira declarativa o provisionamento e a configuração dos recursos de computação (incluindo instâncias de VM, discos, rede e quase todos os outros recursos no projeto do Google Cloud). O Cloud Deployment Manager permite usar marcações de dados simples para personalizar e automatizar as implantações. Para o gerenciamento de configurações e a automação nas instâncias de VM, você pode usar as mesmas ferramentas que já utiliza, como Chef, Puppet, Packer ou Vagrant.
Para uma discussão mais completa sobre o provisionamento de recursos no Google Cloud, consulte o artigo Gerenciamento.
Recursos preemptivos
Para tarefas que podem ser interrompidas e continuadas em um host diferente, o Google Cloud oferece VMs preemptivas. As VMs preemptivas são exatamente como as normais, mas é possível forçar a interrupção delas: ou seja, elas não podem ser executadas por mais de 24 horas e o Google pode forçar a interrupção da VM mais cedo se for necessário usar a capacidade para outros fins. As VMs preemptivas podem ser até 80% mais baratas do que as instâncias de VM padrão, dependendo do tipo de instância que você escolher.
Armazenamento
As instâncias de VM do Compute Engine usam disco permanente, ou armazenamento em bloco virtualizado, para volumes de disco de inicialização e armazenamento. Discos permanentes existem em tipos de volume padrão (HDD) e SSD, e você pode provisionar dinamicamente até 128 discos permanentes, dependendo do tipo da máquina virtual. Para mais informações sobre discos permanentes no Compute Engine, consulte o artigo Armazenamento.
Rede
O Compute Engine oferece rede definida por software, em que é possível configurar as redes privadas e públicas no Compute Engine em nível de software. Para uma discussão sobre como a rede do Google Cloud se compara à rede tradicional de data centers, consulte o artigo Rede.
Migração e recuperação
Por padrão, o Compute Engine permite migração ao vivo, na qual as instâncias são migradas de maneira automática e sem interrupção quando o hardware físico precisa de manutenção.
Assim como acontece com os conjuntos de hipervisor padrão, o Compute Engine também permite tirar instantâneos ao vivo de instâncias de VM. Você pode usar esses instantâneos para criar novas instâncias dentro de uma zona ou mover uma instância para uma zona diferente.
Se a instância de VM do Compute Engine for encerrada devido a problemas com o host físico subjacente, ela será automaticamente recuperada em um host diferente dentro da mesma zona. Você também pode optar por deixar as máquinas desativadas, bastando desativar a reinicialização automática.
Custos
Consulte Preços do Compute Engine para ver detalhes completos dos preços.
A seguir
A seguir: armazenamento no Google Cloud