Escolher uma opção de pontos finais

Para ter a sua API gerida pelo Cloud Endpoints, tem três opções, consoante onde a API está alojada e o tipo de protocolo de comunicações que a API usa:

Esta página descreve as opções de Endpoints para ajudar a decidir qual é a mais adequada para si.

Escolher uma opção de computação

Os Endpoints suportam diferentes Google Cloud opções de computação que podem alojar o código de back-end da sua API. O Endpoints funciona com o proxy de serviço extensível (ESP) ou o proxy de serviço extensível V2 (ESPv2) para fornecer gestão de APIs. A tabela seguinte resume as opções de computação suportadas:

ESP para OpenAPI ESP para gRPC ESPv2 para OpenAPI ESPv2 para gRPC Frameworks de pontos finais
App Engine
ambiente padrão de 1.ª geração
Tempos de execução do Java 8 e Python 2.7
App Engine
standard environment generation 2
App Engine
ambiente flexível
Funções do Cloud Run
Cloud Run
Knative serving
Compute Engine
GKE
Kubernetes
Outro nãoGoogle Cloud

Para uma comparação das funcionalidades fornecidas pelo App Engine, pelo GKE e pelo Compute Engine, consulte o artigo Escolher uma opção de computação. Se estiver a pensar em usar o App Engine, tem de escolher o ambiente padrão ou flexível. Para uma comparação dos dois ambientes, consulte o artigo Escolher um ambiente do App Engine.

Acerca das limitações da opção de computação

Os pontos finais para OpenAPI e os pontos finais para gRPC podem usar o ESP ou o ESPv2 como proxy. Para plataformas sem servidor, o ESP ou o ESPv2 é implementado como um contentor à frente da sua aplicação ou como um sidecar com a sua aplicação. Para plataformas sem servidor, como o Cloud Run, as funções do Cloud Run e o App Engine, o ESPv2 é implementado como um serviço do Cloud Run como um proxy remoto para gerir as suas aplicações de plataforma sem servidor.

Depois de implementar o código de back-end das suas APIs, o ESP ou o ESPv2 intercetam todos os pedidos e realizam todas as verificações necessárias (como a autenticação) antes de encaminhar o pedido para o back-end da API. Quando o back-end responde, o ESP recolhe e comunica a telemetria através da infraestrutura de serviços.

Pode ver métricas para a sua API e links para registos e rastreios da Google Cloud Observability na página Serviços de pontos finais na Google Cloud consola.

Limitações do ambiente padrão de 1.ª geração do App Engine

Os pontos finais para o ambiente padrão de 1.ª geração do App Engine usavam historicamente os frameworks de pontos finais, que só suportam os ambientes de execução Java 8 e Python 2.7.

Uma vez que o ambiente padrão do App Engine não suportava implementações com vários contentores quando as Frameworks de Endpoints estavam em desenvolvimento, as Frameworks de Endpoints não usam o ESP. Em alternativa, o Endpoints Frameworks inclui um gateway de API incorporado que oferece funcionalidades de gestão de APIs comparáveis às funcionalidades que o ESP oferece para o Endpoints para OpenAPI e o Endpoints para gRPC.

As APIs gRPC não são suportadas em funções do App Engine ou do Cloud Run

gRPC é uma framework de chamadas de procedimento remoto (RPC) que pode ser executada em qualquer ambiente. Com o gRPC, uma aplicação cliente pode chamar diretamente métodos numa aplicação servidor numa máquina diferente como se fosse um objeto local. Uma funcionalidade essencial do gRPC é o streaming bidirecional com transporte baseado em HTTP/2.

As funções do App Engine e do Cloud Run não suportam HTTP/2.

Linguagens de programação suportadas

  • A especificação OpenAPI é uma especificação independente do idioma. Pode implementar a sua API em qualquer linguagem de programação.
  • O gRPC fornece o compilador de buffers do protocolo, protoc>, para muitas linguagens de programação principais: C++, C#, Objective-C (para iOS), Dart, Go, Java (incluindo suporte para Android), Node.js, Python e Ruby. Consulte as Perguntas frequentes sobre o gRPC para ver a lista mais atualizada.
  • O Endpoints Frameworks só suporta Java 8 e Python 2.7.

Descrever a sua API

As opções do Endpoints oferecem diferentes formas de descrever a sua API.

Pontos finais para a OpenAPI

A OpenAPI Initiative é um esforço em toda a indústria para padronizar a descrição das APIs REST. Os pontos finais suportam APIs descritas através da versão 2.0 da especificação OpenAPI (anteriormente a especificação Swagger). Descreve a superfície da sua API num ficheiro JSON ou YAML (denominado documento OpenAPI). Pode implementar a sua API através de qualquer framework REST disponível publicamente, como o Django ou o Jersey. Se não conhece a especificação OpenAPI, consulte a vista geral da OpenAPI.

Para mais informações, consulte o artigo Pontos finais para a OpenAPI.

Pontos finais para gRPC

Com o gRPC, define a estrutura dos dados que quer serializar num ficheiro proto: este é um ficheiro de texto normal com uma extensão .proto. Também define a superfície da sua API em ficheiros proto, com parâmetros do método RPC e tipos de retorno especificados como mensagens de buffer de protocolo. Se não conhece o gRPC, consulte o artigo O que é o gRPC? na documentação do gRPC.

Para mais informações, consulte o artigo Pontos finais para gRPC.

Endpoints Frameworks

O Endpoints Frameworks é uma framework Web para os ambientes de tempo de execução padrão do App Engine Python 2.7 e Java 8. Adiciona metadados (através de anotações em Java ou decoradores em Python) ao seu código fonte. Os metadados descrevem a superfície das APIs REST para a sua aplicação.

Para mais informações, consulte o artigo Frameworks de pontos finais.

O que se segue?