Google Cloud para profissionais de data center: gerenciamento

Neste artigo, abordamos as ofertas de gerenciamento e operações do Google Cloud e a maneira como elas se comparam com as tecnologias tradicionais de data center. O artigo se concentra nos tipos de serviço a seguir:

  • Gerenciamento de identidade e acesso
  • Geração de registros (inclusive registros de auditoria)
  • Monitoramento
  • Provisionamento de recursos

Gerenciamento de identidade e acesso

Ao mover as cargas de trabalho para o Google Cloud, é possível continuar gerenciando os usuários finais usando ferramentas e serviços comuns de gerenciamento de usuário, como LDAP, Active Directory ou o serviço de administrador do Google Workspace. Porém, a maneira como você gerencia o acesso aos recursos em rede diverge um pouco daquela com que se acostumou.

No Google Cloud, você configura o acesso a recursos virtuais usando o gerenciamento de identidade e acesso (IAM, na sigla em inglês). O IAM não gerencia identidades diretamente. Em vez disso, permite atribuir papéis (coleções definidas pelo usuário de permissões de acesso) a diversos tipos de identidades do Google. Entre os tipos com suporte estão:

Você também pode atribuir papéis a tipos de identidade que não sejam do Google. Para isso, você associa o tipo que não seja do Google a um tipo de identidade do Google e atribui o papel ao tipo de identidade do Google. Consulte Práticas recomendadas para organizações empresariais para mais informações.

Contas de serviço

Ao executar um aplicativo em um data center tradicional, você normalmente cria uma identidade à parte que o aplicativo usa durante a execução. O aplicativo realiza, em seguida, operações que exigem autenticação, como chamadas à API, nessa entidade.

É possível usar o mesmo modelo no Google Cloud usando contas de serviço. As contas de serviço são contas especiais que pertencem ao aplicativo ou a uma instância de máquina virtual (VM) do Compute Engine, não a um usuário final individual. Seu aplicativo usa a conta de serviço para chamar as APIs dos serviços do Google. É possível criar contas de serviço personalizadas para seu projeto do Google Cloud usando o comando Console do Google Cloud, API IAM ou SDK do Cloud para criar um anexo da VLAN de monitoramento.

Para mais informações sobre contas de serviço, consulte Contas de serviço.

Grupos do Google

Você pode usar os Grupos do Google para aplicar um papel a uma coleção de usuários. Basta criar um Grupo do Google, adicionar suas Contas do Google ou contas de serviço ao grupo e aplicar a ele o papel do IAM.

Para mais informações sobre Grupos do Google, consulte a Central de Ajuda dos Grupos do Google.

Geração de registros

A geração de registros no Google Cloud é quase idêntica à geração de registros em um ambiente tradicional de data center. Para coletar registros, você instala um agente de geração de registros em cada máquina virtual. O agente de geração de registros grava informações sobre a máquina e os respectivos aplicativos e, em seguida, envia os registros para um local centralizado a ser indexado. Depois que tiverem sido agregados e indexados, os registros poderão ser processados, analisados ou visualizados.

O Google Cloud oferece um conjunto integrado eficiente de serviços orientados à geração de registros. Na pilha do Google Cloud, o Cloud Logging funciona como um serviço de coleção e indexação centralizado, agregando registros das instâncias de VM do Compute Engine e de outros recursos do Google Cloud. É possível pesquisar e filtrar registros no visualizador de registros integrado do Console do Cloud ou fazer streaming dos registros para outros endpoints do Google Cloud, como Cloud Storage, BigQuery e Pub/Sub para mais processamento e análise.

Coletar registros

Para coletar registros das instâncias de VM do Compute Engine, instale o agente do Cloud Logging em cada instância. Em seguida, os agentes enviam automaticamente os dados do registro para o Cloud Logging.

Se você planeja manter uma arquitetura híbrida, em que manterá alguns recursos no Google Cloud e outros recursos em outro lugar, ainda assim poderá aproveitar os serviços relacionados à geração de registros do Google Cloud. Por exemplo, a página de plug-ins da comunidade do Fluentd tem um conjunto de plug-ins para streaming de registros agregados para a API Cloud Logging, BigQuery, Cloud Storage e Pub/Sub. Da mesma forma, a página de plug-ins de saída do Logstash tem plug-ins para o streaming de registros do BigQuery e Cloud Storage.

Também é possível usar o Cloud Logging se a arquitetura híbrida incluir máquinas virtuais em outras nuvens. Em especial, o agente do Cloud Logging pode ser instalado diretamente em instâncias do Amazon EC2.

Indexação e armazenamento de registros

À medida que coleta registros das instâncias do Compute Engine, o Cloud Logging armazena e indexa os registros. O Cloud Logging mantém registros por 30 dias. Para armazenar registros para processamento, análise ou auditoria posterior, configure o Cloud Logging para exportar automaticamente os registros para outros serviços do Google Cloud, incluindo:

  • Cloud Storage, serviço de armazenamento de objeto distribuído do Google Cloud. O Cloud Storage é um serviço de armazenamento global altamente disponível e redundante. O Google Cloud também oferece classes extras de armazenamento de longo prazo para otimizar custos de dados acessados com pouca frequência. Para mais detalhes, consulte o artigo Cloud Storage.
  • BigQuery, serviço de armazenamento de dados do Google Cloud. BigQuery é um banco de dados somente para conexão totalmente gerenciado capaz de realizar consultas complexas de bilhões de linhas de dados em segundos.
  • Pub/Sub, serviço de mensagens com base em editores/assinantes do Google Cloud. Use o Pub/Sub para fazer streaming dos registros para serviços de terceiros ou seus próprios endpoints personalizados.

Como analisar e processar registros

Em data centers tradicionais, as tarefas intensas de análise e processamento precisam competir com outras pelos recursos e estão sujeitas às mesmas restrições iniciais de investimento de capital e capacidade. No Cloud Platform, esses problemas desaparecem. Você provisiona e paga por aquilo que precisa, quando precisa, sem ter que se preocupar em reservar tempo, núcleos ou recursos de armazenamento.

A análise e processamento de registros no Google Cloud foram projetados para serem flexíveis. Use a pilha de ferramentas de análise e processamento de registros do Google Cloud, que inclui:

  • Visualizador de registros do Cloud Logging
  • BigQuery
  • Dataproc
  • Dataflow

Se preferir usar as ferramentas para análise e processamento atuais, é possível fazer isso ao configurá-las em instâncias de VM do Compute Engine. Também é possível integrar a pilha do Cloud Logging aos pipelines atuais de análise e processamento.

Análise de registros com o visualizador de registros do Cloud Logging e o BigQuery

O Console do Cloud oferece um visualizador de registros do Cloud Logging integrado que pode ser usado para pesquisar e filtrar dados registrados. Para uma análise em larga escala em um conjunto de dados grande, é possível fazer streaming ou exportar registros para o BigQuery. Diferentemente de um job MapReduce pesado, que pode demorar minutos ou horas, o BigQuery é capaz de realizar consultas em terabytes de registros em décimos de segundos, o que permite identificar rapidamente anomalias no aplicativo, realizar análises de registros de auditoria, fazer análises de tendência nos registros e muito mais.

Processamento de registros com Dataproc e Dataflow

Caso seja necessário processar os registros antes da análise, exporte-os para o Cloud Pub/Sub ou o Cloud Storage. Em seguida, use o Dataproc ou o Dataflow para processá-los. Depois de processar os registros com o Dataproc ou o Dataflow, é possível enviar os resultados ao BigQuery para uma análise interativa ou em lote.

O Dataproc é o serviço gerenciado do Apache Hadoop e do Apache Spark do Google Cloud. Se você já estiver usando Hadoop e Spark, poderá reutilizar os jobs no Dataproc sem se preocupar em adquirir recursos de hardware antecipadamente. Como pode armazenar os registros originais e processados no Cloud Storage, você também pode desligar o cluster do Dataproc quando ele não estiver em uso. Quanto aos clusters do Dataproc, serão cobrados apenas os recursos de CPU virtual usados, de acordo com o período de uso.

Outra opção é o Dataflow, um serviço de processamento de stream e lote totalmente gerenciado. Baseado no Apache Beam, o Dataflow é uma solução verdadeiramente sem servidor. O Dataflow aprovisiona e aloca dinamicamente recursos sob demanda, minimizando a latência e mantendo a eficiência em alta utilização. Para mais informações sobre como integrar o Dataflow ao pipeline de processamento de registros, consulte Processamento de registros em escala com o Dataflow.

Visualização de registros

O Google oferece dois serviços gerenciados que você pode usar para visualizar os dados dos registros:

  • Datalab: integrado ao modelo de notebook Jupyter, permite consultar e visualizar dados armazenados no BigQuery e no Cloud Storage. Como bônus, já que o Datalab é integrado a notebooks Jupyter, já existe um enorme ecossistema implantado para ajudar você a dar os primeiros passos.
  • Google Data Studio 360: permite a criação de relatórios personalizáveis e compartilháveis, com o suporte do BigQuery.

Além disso, vários serviços de visualização de parceiros do Google Cloud fornecem conectores nativos ao BigQuery, incluindo Tableau, BIME e re:dash. Consulte Parceiros do BigQuery para mais informações.

Por fim, para personalização máxima, você pode construir um painel acima do BigQuery usando a BigQuery API e uma biblioteca de gráficos JavaScript à sua escolha. Consulte Criação de um painel do BigQuery para detalhes.

Custos

O Cloud Logging oferece um nível básico gratuito até 5 GB por mês e um nível Premium. O preço do nível Premium é determinado por recurso monitorado mensalmente, pago proporcionalmente por hora.

Se você exportar registros para o Cloud Storage, o BigQuery ou o Pub/Sub, o uso desses serviços também será cobrado. Se exportar registros para o BigQuery, você também receberá a cobrança de uma pequena taxa pelo streaming dos dados. Consulte Preços do BigQuery para mais informações.

Auditoria

O Google Cloud oferece uma geração de registros de auditoria integrada e também facilita a integração das soluções atuais de geração de registros de auditoria. Para informações sobre quais serviços atualmente geram registros de auditoria, consulte Registros de auditoria do Cloud.

Geração de registros da instância de VM

Se você usar soluções de registro de auditoria nativas do SO padrão, como syslog no Linux ou Windows Event Log no Windows, poderá defini-las criando uma instância de VM do Linux ou do Windows no Compute Engine. Também é possível implantar soluções de terceiros em instâncias do Compute Engine.

Geração de registros de recursos do Google Cloud

O Google Cloud também oferece recursos integrados para geração de registros de auditoria. O Google Cloud inclui dois tipos de geração de registros de auditoria:

  • Registros de auditoria da atividade do administrador, que contêm uma entrada para cada chamada de API ou ação administrativa que modifica a configuração ou os metadados de um serviço ou projeto. Esse tipo de registro está sempre ativado.
  • Registros de auditoria de acesso a dados, que contêm uma entrada para cada instância dos seguintes eventos:

    • Uma chamada de API ou ação administrativa que lê a configuração ou os metadados de um serviço ou projeto
    • Uma chamada de API ou ação administrativa que cria, modifica ou lê dados fornecidos pelo usuário gerenciados por um serviço, como dados armazenados em um serviço de banco de dados

Na maioria dos serviços do Google Cloud, os registros de auditoria de acesso a dados não estão ativados por padrão, porque têm um volume muito maior do que os registros de atividade do administrador. Os registros de acesso aos dados também são mais restritos do que os registros de atividade do administrador. Por padrão, somente proprietários de projetos e usuários com o papel Visualizador de registros particular podem acessar registros Acesso aos dados. Os registros Atividade do administrador permanecem visíveis a todos os membros do projeto.

O Cloud Logging permite gerenciar o acesso aos registros de auditoria pelo IAM, o nível de gerenciamento de identidade e acesso do Google Cloud. Para mais informações, consulte a seção Gerenciamento de identidade e acesso.

Assim como acontece com outros registros do Cloud Logging, por padrão, os registros de auditoria são mantidos por 30 dias. Também é possível exportar registros de auditoria para o BigQuery, o Cloud Storage e o Pub/Sub, se quiser armazená-los por um período maior.

Integração com serviços de terceiros

Diversas soluções terceirizadas de geração de registros, como Splunk, oferecem complementos integrados ao serviço da geração de registros de auditoria do Google Cloud.

Monitoramento

Assim como acontece com a geração de registros, o monitoramento em um ambiente de nuvem usa um modelo comum a ambientes de data center. Você instala um agente de monitoramento nas máquinas virtuais que gostaria de monitorar. Esse agente de monitoramento acaba enviando métricas para um local centralizado. Lá você pode definir configurações de alertas e criar painéis para visualizar as métricas em tempo real.

Para tarefas de monitoramento, o Google Cloud oferece o Cloud Monitoring, um framework de monitoramento repleto de recursos. Assim como acontece com a geração de registros, é possível usar as ferramentas e os serviços de monitoramento atuais, como Splunk, DataDog, a pilha Elastic/ELK, Sensu ou Nagios.

Coleta de métricas

Para coletar métricas das instâncias de VM do Compute Engine, instale o agente do Cloud Monitoring em cada instância. Os agentes enviam métricas automaticamente ao Cloud Monitoring.

Por padrão, o Cloud Monitoring monitora os recursos da máquina para cada instância, como a carga da CPU e a I/O da rede. No entanto, com uma pequena configuração extra, ele também pode monitorar vários aplicativos comuns de terceiros, incluindo o servidor da Web do Apache, MongoDB, NGINX, Redis e Varnish. Consulte Monitoramento de aplicativos de terceiros para mais informações.

Além de coletar métricas das instâncias de VM do Compute Engine, o Cloud Monitoring coleta automaticamente métricas de vários outros serviços do Google Cloud. O agente do Cloud Monitoring também pode ser instalado diretamente em instâncias do Amazon EC2, e o Cloud Monitoring também pode ser configurado para coletar métricas de muitos serviços da Amazon Web Services (AWS). Para uma lista completa de métricas disponíveis no Cloud Monitoring, consulte Lista de métricas.

Também é possível criar métricas personalizadas e instrumentar os aplicativos para enviá-las ao Cloud Monitoring pela API Monitoring.

O Cloud Monitoring mantém métricas por seis semanas.

Alertas

O Cloud Monitoring pode ser configurado para enviar alertas a vários endpoints. Por padrão, endpoints de alerta compatíveis incluem:

Caso queira segmentar um endpoint que não tenha compatibilidade nativa com o Cloud Monitoring, configure um webhook. Consulte Configuração de webhooks para mais informações.

Visualização

Como a maioria das bibliotecas de monitoramento, o Cloud Monitoring oferece uma IU de painel personalizável que permite visualizar eventos de maneira significativa e prática. Ele permite criar gráficos que exibem métricas específicas para um determinado tipo de recurso, métricas agregadas, métricas de acordo com um determinado código de recurso e muito mais. Além disso, você pode exibir registros de eventos indexados e listas de incidentes.

O Console do Cloud também fornece visualizações por serviço para métricas comuns, como CPU, uso de disco e tráfego de rede. Assim como no Cloud Logging, é possível usar o Datalab para visualizar e manipular os dados das métricas.

Custos

O Cloud Monitoring oferece um nível básico gratuito até 5 GB por mês e um nível Premium. O preço do nível Premium é determinado por recurso monitorado mensalmente, pago proporcionalmente por hora.

Provisionamento de recursos

Nesta seção, abordamos maneiras de provisionar recursos virtuais no Google Cloud e discutimos o papel do controle de versões no processo de provisionamento.

Provisionamento de instâncias de VM

O Compute Engine inclui alguns recursos integrados que aprimoram o aprovisionamento da instância. É possível criar perfis de máquina chamados modelos de instância e atribuí-los a grupos de instância para criar dezenas ou centenas de instâncias idênticas, conforme necessário.

Você pode escalar automaticamente o número de instâncias de VM dentro desses grupos usando o autoescalador integrado do Compute Engine. Para usar o autoescalador, você define os números mínimo e máximo de instâncias para execução em determinado momento e, em seguida, especifica as métricas que serão usadas como base pelo autoescalador para criar ou destruir instâncias. Você pode definir o autoescalador de acordo com a utilização da CPU, a capacidade do balanceador de carga ou as próprias métricas personalizadas. Para mais informações, consulte Escalonamento automático de grupos de instâncias.

Provisionamento geral de recursos

É possível automatizar a implantação de todos os recursos do Google Cloud com o Cloud Deployment Manager. Assim como acontece com outras ferramentas de gerenciamento da configuração, como Puppet e Chef, você especifica os recursos em um modelo de implantação, e o Deployment Manager usa esse modelo para instanciar e gerenciar recursos. É possível especificar o modelo de implantação em diversos formatos, inclusive YAML, Python e Jinja2.

O Deployment Manager também pode ser usado com as ferramentas que você utiliza para automatizar as configurações da máquina atualmente, como Chef, Puppet, Ansible ou Terraform. Para uma configuração de exemplo usando Puppet, consulte Automatização do gerenciamento de configuração com Cloud Deployment Manager e Puppet.

Controle da versão e repositórios de origem

Se você prefere usar as soluções de controle de versão atuais, é possível fazer isso no Google Cloud hospedando-as e executando-as no Google Cloud ou se conectando a um serviço hospedado ou gerenciado externamente, como o GitHub ou o Bitbucket.

Para usuários familiarizados com o Git, o Google também oferece Cloud Source Repositories, que são repositórios Git particulares e repletos de recursos, hospedados no Google Cloud. O Cloud Source Repositories pode ser adicionado a um repositório Git local como um repositório remoto ou hospedado no GitHub ou no Bitbucket. O Cloud Source Repositories também oferece um editor de origem que você pode usar para procurar, ver, editar e confirmar alterações feitas em arquivos do repositório no Console do Cloud.

Custos

O uso do Cloud Deployment Manager não é cobrado, mas qualquer recurso implantado usando o Cloud Deployment Manager incorrerá em cobranças.

Durante o lançamento Beta, o Cloud Source Repositories está disponível sem custos.

A seguir

Veja outros artigos do Google Cloud para profissionais de data center: