O Google Service Control é um serviço de infraestrutura do Google Cloud Platform. Com ele, os serviços gerenciados têm a funcionalidade de plano de controle, como geração de registros, monitoramento e verificação de status. O Google Service Control é muito utilizado pelas APIs do Google e pelo Google Cloud Endpoints. Nesta página, você encontra uma visão geral do que ele faz e como ele funciona.
Por que usar o Service Control?
Para desenvolver um serviço na nuvem, é preciso começar pelos requisitos dos negócios e pelo design da arquitetura e, depois, prosseguir para a definição e a implantação da API. Antes de colocar o serviço em produção, é necessário resolver problemas do plano de controle. Veja alguns deles abaixo:
- Como controlar o acesso ao serviço.
- Como validar as chaves de API.
- Como enviar dados de registros e monitoramento a consumidores e produtores.
- Como criar e gerenciar painéis para visualizar esses dados.
- Como dimensionar os componentes do plano de controle ao seu serviço.
O Service Control é um provedor de plano de controle que atende a essas necessidades com alta eficiência, escalabilidade e disponibilidade. Ele oferece uma API pública simples que pode ser acessada a partir de qualquer lugar por meio dos clientes JSON REST e gRPC. Assim, quando você move o seu serviço local para um provedor de nuvem, ou de um provedor de nuvem para outro, não é necessário alterar o provedor de plano de controle.
Serviços desenvolvidos com o Google Cloud Endpoints já se integram com o Service Control. O Cloud Endpoints envia os dados de registros e monitoramento pelo Service Control para cada solicitação que chega no proxy. Se você precisar gerar relatórios para quaisquer dados de registros e monitoramento para o serviço do Cloud Endpoints, chame a Service Control API diretamente do seu serviço.
A Service Control API tem o código aberto e está disponível no GitHub. Altere o nome DNS para usar implementações alternativas da Service Control API.
Arquitetura
O Google Service Control funciona com um grupo de serviços gerenciados e as operações ou atividades deles, verifica se uma operação tem permissão para continuar e gera relatórios de operações concluídas. Ele utiliza, em segundo plano, outros serviços do Google Cloud, como o Google Service Management, o Stackdriver Logging e o Stackdriver Monitoring. Dessa forma, a complexidade deles não é mostrada para os produtores de serviço. Ele usa armazenamento em cache, operações em lote, agregação e repetições para fornecer desempenho e disponibilidade melhores que os de sistemas de back-end individuais encapsulados por ele.
Serviços gerenciados
Um serviço gerenciado é um serviço de rede gerenciado pelo Google Service Management. Cada serviço gerenciado tem um nome de serviço exclusivo como example.googleapis.com, que precisa ser um nome DNS válido e totalmente qualificado de acordo com a RFC 1035.
Por exemplo:
- Google Cloud Pub/Sub (
pubsub.googleapis.com) - Google Cloud Vision (
vision.googleapis.com) - Google Cloud Bigtable (
bigtable.googleapis.com) - Google Cloud Datastore (
datastore.googleapis.com)
O Google Service Management gerencia o ciclo de vida de cada serviço e a configuração deles para personalizar o comportamento do Google Service Control. Configurações de serviço também são usadas pelo console do Google Cloud Platform para exibir APIs e as configurações delas, ativar/desativar APIs, dentre outras coisas.
Operações
O Google Service Control utiliza o conceito genérico de uma operação para representar as atividades de um serviço gerenciado, como chamadas de API e uso de recursos. Cada operação é associada a um serviço gerenciado e a um consumidor de serviço específico e tem um grupo de propriedades que a descreve, como o nome do método da API e a quantidade de uso de recursos. Para mais informações, consulte Definição de operação.
Verificação
A Service Control API fornece o método services.check para determinar se uma operação tem a permissão de continuar para um serviço gerenciado.
Por exemplo:
- Verificar se o consumidor ainda está ativo.
- Verificar se o consumidor ativou o serviço.
- Verificar se a chave de API ainda é válida.
Executar múltiplas verificações em uma única chamada de API em vez de verificar muitos sistemas de back-end melhora o desempenho, aumenta a confiabilidade e reduz os custos de desenvolvimento para os produtores de serviço.
Geração de relatórios
A Service Control API fornece o método services.report para gerar relatórios de operações concluídas de um serviço gerenciado para vários sistemas de back-end, como Stackdriver Logging e Stackdriver Monitoring. Veja os dados dos relatórios no console do Google Cloud Platform e recupere-os com as APIs apropriadas, como a Stackdriver Logging API e a Stackdriver Monitoring API.
Próximas etapas
- Leia o Guia de primeiros passos para descobrir como configurar e usar a Google Service Control API.