Google Cloud Platform para profissionais de data center: gerenciamento

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

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

Gestão de acesso e identidade

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

No Cloud Platform, você configura o acesso aos seus recursos virtuais usando o Google Cloud IAM. O Cloud IAM não gerencia identidades diretamente. Em vez disso, ele permite atribuir papéis, que são coleções definidas pelo usuário de permissões de acesso para diversos tipos de identidade do Google. Entre os tipos com suporte estão:

  • Contas do Google
  • Contas de usuários em domínios do G Suite e do G Suite for Education
  • Contas de serviço do Cloud Platform
  • Grupos do Google

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 acaba realizando operações que exijam autenticação, como chamadas à API, nessa entidade.

Você pode usar o mesmo modelo no Cloud Platform utilizando 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 Google Compute Engine, e não a um usuário final individual. O 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 Cloud Platform usando o Console do Google Cloud, a API do Cloud IAM ou o Cloud SDK.

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 as contas do Google ou as contas de serviço ao grupo e aplicar o papel do Cloud IAM ao grupo.

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

Registros

A geração de registros no Cloud Platform é quase idêntica à geração de registros em um ambiente de data center tradicional. Para coletar logs, você instala um agente de geração de registros em cada máquina virtual. O agente da 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 Cloud Platform oferece um conjunto integrado eficiente de serviços orientados à geração de registros. Na pilha do Cloud Platform, a Geração de registros do Stackdriver funciona como um serviço de coleção e indexação centralizado, agregando registros das instâncias de VM do Compute Engine e dos outros recursos do Cloud Platform. Você pode pesquisar e filtrar seus registros no visualizador de registros integrado do Console do Cloud ou fazer streaming dos seus registros para outros endpoints do Cloud Platform, como Google Cloud Storage, Google BigQuery e Google Cloud Pub/Sub, para processamento e análise adicionais.

Coletar registros

Para coletar registros das instâncias de VM do Compute Engine, você instala o agente Stackdriver Logging em cada instância. Os agentes acabam enviando automaticamente os dados do registro para o Stackdriver.

Se pretender manter uma arquitetura híbrida, na qual você manterá alguns recursos no Cloud Platform e outros em outros lugares, você ainda conseguirá usufruir os serviços relacionados à geração de registros do Cloud Platform. Por exemplo, a página de plug-ins da comunidade do Fluentd contém um conjunto de plug-ins para streaming de registros agregados para Stackdriver Logging API, BigQuery, Cloud Storage e Cloud Pub/Sub. Da mesma forma, a página de plug-ins de saída do Logstash contém plug-ins para o streaming de logs para BigQuery e Cloud Storage.

Você também poderá usar o Stackdriver Logging se a arquitetura híbrida incluir máquinas virtuais em outras nuvens. Em especial, o agente do Stackdriver 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 Stackdriver Logging armazena e indexa os registros. O Stackdriver Logging mantém registros por 30 dias. Para armazenar os registros para uma análise de processamento posterior, ou auditoria, você pode configurar o Stackdriver Logging para exportar automaticamente os registros para outros serviços do Cloud Platform, inclusive:

  • Cloud Storage, serviço de armazenamento de objeto distribuído do Cloud Platform. O Cloud Storage é um serviço de armazenamento global altamente disponível e redundante. Ele também oferece classes adicionais de armazenamento de longo prazo a fim de otimizar custos sobre os dados pouco acessados. Para mais detalhes, consulte o artigo Armazenamento.
  • BigQuery, serviço de armazenamento de dados do Cloud Platform. 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.
  • Cloud Pub/Sub, serviço de mensagens com base em editor/inscritos do Cloud Platform. É possível usar o Cloud Pub/Sub no streaming de registros para serviços de terceiros ou seus próprios endpoints personalizados.

Como analisar e processar registros

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

A análise e o processamento de registros no Cloud Platform foram projetados para serem flexíveis. Você pode usar a pilha de ferramentas para análise e processamento de registros do Cloud Platform, que inclui:

  • Visualizador de registros do Stackdriver
  • BigQuery
  • Google Cloud Dataproc
  • Google Cloud Dataflow

Se preferir usar as ferramentas para análise e processamento atuais, você poderá fazer isso as configurando em instâncias de VM do Compute Engine. Você também pode integrar a pilha da geração de registros do Cloud Platform aos pipelines de análise e processamento atuais.

Análise de registros com o Visualizador de registros do Stackdriver e o BigQuery

O Console do Cloud oferece um visualizador de registros do Stackdriver integrado que pode ser usado para pesquisar e filtrar os dados registrados. Para uma análise em larga escala em um conjunto de dados grande, você pode fazer streaming ou exportar os 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 em alguns casos, 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 Cloud Dataproc e Cloud 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 Cloud Dataproc ou o Cloud Dataflow para processá-los. Depois de processar os registros com Cloud Dataproc ou Cloud Dataflow, você poderá enviar os resultados ao BigQuery para uma análise interativa ou em lote.

Cloud Dataproc é o serviço Apache Hadoop e Apache Spark do Cloud Platform. Se já estiver usando Hadoop e Spark, você poderá reutilizar os jobs existentes no Cloud Dataproc sem se preocupar em adquirir recursos de hardware antecipadamente. Como pode armazenar os registros original e processado no Cloud Storage, você também poderá desligar o cluster do Cloud Dataproc quando ele não estiver sendo usado. Os clusters do Cloud Dataproc cobram apenas pelos recursos de CPU virtual que você usa e somente pelo período que os utiliza.

Também convém considerar o Cloud Dataflow, um serviço de processamento de stream e lote totalmente gerenciado. Com base no Apache Beam, Cloud Dataflow é uma solução verdadeiramente sem servidor. O Cloud 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 você pode integrar o Cloud Dataflow ao pipeline de processamento dos registros, consulte Processamento de registros em escala com o Cloud Dataflow.

Visualização de registros

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

  • Cloud 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 Cloud 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 Cloud Platform 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 Stackdriver 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. Para mais informações, consulte a postagem do blog Anúncio de preços do Google Stackdriver.

Se exportar registros para o Cloud Storage, o BigQuery ou o Cloud Pub/Sub, você também receberá a cobrança pelo uso desses serviços. Se exportar os 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 Cloud Platform 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 Geração de registros de auditoria do Google 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á criá-las criando uma instância de VM do Linux ou do Windows no Compute Engine. Você também pode implantar as soluções de terceiros preferidas em instâncias do Compute Engine.

Geração de registros do recurso do Cloud Platform

O Cloud Platform também oferece recursos integrados para geração de registros de auditoria. O Cloud Platform 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 Cloud Platform, 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 Acesso aos dados também são mais restritos do que os registros 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 Stackdriver Logging permite gerenciar o acesso aos registros de auditoria por meio do Cloud IAM, a camada de gerenciamento de identidade e acesso do Cloud Platform. Para mais informações, consulte a seção Gerenciamento de identidade e acesso.

Assim como acontece com outros registros do Stackdriver Logging, por padrão, os registros de auditoria são mantidos por 30 dias. Você poderá exportar os registros de auditoria para o BigQuery, o Cloud Storage e o Cloud Pub/Sub, se quiser mantê-los por um período maior.

Integração com serviços de terceiros

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

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 Cloud Platform fornece o Stackdriver Monitoring, uma biblioteca de monitoramento repleta de recursos. Assim como acontece com a geração de registros, você também pode 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, você instala o agente Stackdriver Monitoring em cada instância. O agente acaba enviando automaticamente as métricas para o Stackdriver Monitoring.

Por padrão, o Stackdriver 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 adicional, o Stackdriver Monitoring 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 Stackdriver Monitoring coleta automaticamente métricas de diversos outros serviços do Cloud Platform. O agente Stackdriver Monitoring também pode ser instalado diretamente em instâncias do Amazon EC2, e o Stackdriver Monitoring também pode ser configurado para coletar métricas de muitos serviços do Amazon Web Services (AWS). Para uma lista completa de métricas disponíveis no Stackdriver Monitoring, consulte Lista de métricas.

Você também pode criar métricas personalizadas e instrumentar os aplicativos para enviá-las ao Stackdriver Monitoring por meio da Monitoring API.

O Stackdriver Monitoring mantém métricas por seis meses.

Alertas

O Stackdriver Monitoring pode ser configurado para enviar alertas a vários pontos de extremidade. Por padrão, entre os pontos de extremidade de alertas com suporte estão:

Caso você queira segmentar um endpoint sem suporte nativo do Stackdriver Monitoring, configure um webhook. Consulte Configuração de webhooks para mais informações.

Visualização

Assim como a maioria das bibliotecas de monitoramento, o Stackdriver Monitoring oferece uma IU de painel personalizável que permite visualizar eventos de maneira significativa e prática. Você pode criar gráficos que exibem métricas específicas para um determinado tipo de recurso, métricas agregadas, métricas por 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 acontece com o Stackdriver Logging, você também pode usar o Cloud Datalab para visualizar e manipular os dados das métricas.

Custos

O Stackdriver 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. Para mais informações, consulte a postagem do blog Anúncio de preços do Google Stackdriver.

provisionamento de recursos

Esta seção aborda as maneiras como você pode aprovisionar os recursos virtuais no Cloud Platform e o papel das versões no processo de aprovisionamento.

Provisionamento da instância de VM

O Compute Engine inclui alguns recursos integrados que aprimoram o aprovisionamento da instância. É possível criar perfis de máquina chamados de modelos de instância e atribuí-los a grupos de instâncias 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 Autoescala de grupos de instâncias.

Provisionamento geral de recursos

Você pode automatizar a implantação de todos os recursos do Cloud Platform com o Google 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 os recursos. Você pode 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

Caso prefira usar as soluções de controle da versão atuais, você pode fazer isso no Cloud Platform as hospedando e executando no Cloud Platform ou se conectando a um serviço hospedado ou gerenciado externamente como GitHub ou Bitbucket.

Para usuários familiarizados com Git, o Google também oferece Google Cloud Source Repositories, que são repositórios Git particulares repletos de recursos e hospedados no Cloud Platform. 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 Deployment Manager não é cobrado, mas qualquer recurso implantado usando o Deployment Manager incorrerá em cobranças.

O Cloud Source Repositories está isento de cobrança durante a versão beta.

Próximas etapas

Confira os outros artigos do Google Cloud Platform para profissionais de data center: