Memilih opsi Endpoints

Agar API Anda dikelola oleh Cloud Endpoints, Anda memiliki tiga opsi, bergantung pada tempat API Anda dihosting dan jenis protokol komunikasi yang digunakan API Anda:

Halaman ini menjelaskan opsi Endpoint untuk membantu Anda memutuskan opsi mana yang tepat untuk Anda.

Memilih opsi komputasi

Endpoints mendukung berbagai opsi komputasi yang dapat menghosting kode backend API Anda. Google CloudEndpoints berfungsi dengan Extensible Service Proxy (ESP) atau Extensible Service Proxy V2 (ESPv2) untuk menyediakan pengelolaan API. Tabel berikut merangkum opsi komputasi yang didukung:

ESP untuk OpenAPI ESP untuk gRPC ESPv2 untuk OpenAPI ESPv2 untuk gRPC Framework Endpoints
App Engine
generasi 1 lingkungan standar
Runtime Java 8 dan Python 2.7
App Engine
lingkungan standar generasi 2
Lingkungan fleksibel
App Engine
Cloud Run Functions
Cloud Run
Inferensi Knative
Compute Engine
GKE
Kubernetes
Non-Google Cloud lainnya

Untuk perbandingan fitur yang disediakan oleh App Engine, GKE, dan Compute Engine, lihat Memilih opsi komputasi. Jika ingin menggunakan App Engine, Anda harus memilih lingkungan standar atau fleksibel. Untuk mengetahui perbandingan kedua lingkungan, lihat Memilih lingkungan App Engine.

Tentang batasan opsi komputasi

Endpoints untuk OpenAPI dan Endpoints untuk gRPC dapat menggunakan ESP atau ESPv2 sebagai proxy. Untuk platform non-serverless, ESP atau ESPv2 di-deploy sebagai container di depan aplikasi Anda atau sebagai sidecar dengan aplikasi Anda. Untuk platform serverless, seperti Cloud Run, fungsi Cloud Run, dan App Engine, ESPv2 di-deploy sebagai layanan Cloud Run sebagai proxy jarak jauh untuk mengelola aplikasi platform serverless Anda.

Setelah Anda men-deploy kode backend API, ESP atau ESPv2 akan mencegat semua permintaan dan melakukan pemeriksaan yang diperlukan (seperti autentikasi) sebelum meneruskan permintaan ke backend API. Saat backend merespons, ESP mengumpulkan dan melaporkan telemetri menggunakan Infrastruktur Layanan.

Anda dapat melihat metrik untuk API dan link ke log dan rekaman aktivitas Google Cloud Observability di halaman Layanan Endpoint di konsolGoogle Cloud .

Batasan lingkungan generasi 1 standar App Engine

Endpoints untuk lingkungan App Engine standar generasi 1 sebelumnya menggunakan Framework Endpoints, yang hanya mendukung lingkungan runtime Java 8 dan Python 2.7.

Karena lingkungan standar App Engine tidak mendukung deployment multi-penampung saat Endpoints Frameworks sedang dikembangkan, Endpoints Frameworks tidak menggunakan ESP. Sebagai gantinya, Endpoints Frameworks menyertakan gateway API bawaan yang menyediakan fitur pengelolaan API yang sebanding dengan fitur yang disediakan ESP untuk Endpoints for OpenAPI dan Endpoints for gRPC.

API gRPC tidak didukung di App Engine atau Cloud Run Functions

gRPC adalah framework remote procedure call (RPC) yang dapat berjalan di lingkungan apa pun. Dengan gRPC, aplikasi klien dapat langsung memanggil metode di aplikasi server pada mesin yang berbeda seolah-olah itu adalah objek lokal. Fitur inti gRPC adalah streaming dua arah dengan transport berbasis HTTP/2.

Fungsi App Engine dan Cloud Run tidak mendukung HTTP/2.

Bahasa pemrograman yang didukung

  • Spesifikasi OpenAPI adalah spesifikasi yang tidak bergantung pada bahasa. Anda dapat menerapkan API dalam bahasa pemrograman apa pun.
  • gRPC menyediakan compiler buffer protokol, protoc, untuk banyak bahasa pemrograman utama: C++, C#, Objective-C (untuk iOS), Dart, Go, Java (termasuk dukungan untuk Android), Node.js, Python, dan Ruby. Lihat FAQ gRPC untuk mengetahui daftar terbaru.
  • Endpoints Frameworks hanya mendukung Java 8 dan Python 2.7.

Mendeskripsikan API Anda

Opsi Endpoint menyediakan berbagai cara untuk mendeskripsikan API Anda.

Endpoints untuk OpenAPI

OpenAPI Initiative adalah upaya di seluruh industri untuk menstandardisasi deskripsi REST API. Endpoints mendukung API yang dijelaskan menggunakan OpenAPI 2.0 dan OpenAPI 3.x dari Spesifikasi OpenAPI (sebelumnya Spesifikasi Swagger). Untuk mempelajari lebih lanjut, lihat Versi OpenAPI yang didukung. Anda mendeskripsikan tampilan API Anda dalam file JSON atau YAML (disebut sebagai dokumen OpenAPI). Anda dapat menerapkan API menggunakan framework REST yang tersedia secara publik seperti Django atau Jersey. Jika Anda belum memahami Spesifikasi OpenAPI, lihat Ringkasan OpenAPI.

Untuk mengetahui informasi selengkapnya, lihat Endpoint untuk OpenAPI.

Endpoint untuk gRPC

Dengan gRPC, Anda menentukan struktur data yang ingin Anda serialisasi dalam file proto: ini adalah file teks biasa dengan ekstensi .proto. Anda juga menentukan surface API Anda dalam file proto, dengan parameter metode RPC dan jenis yang ditampilkan ditentukan sebagai pesan buffer protokol. Jika Anda belum memahami gRPC, lihat Apa itu gRPC? di dokumentasi gRPC.

Untuk mengetahui informasi selengkapnya, lihat Endpoint untuk gRPC.

Framework Endpoints

Framework Endpoints adalah framework web untuk lingkungan runtime Python 2.7 dan Java 8 standar App Engine. Anda menambahkan metadata (menggunakan anotasi di Java atau dekorator di Python) ke kode sumber. Metadata menjelaskan platform REST API untuk aplikasi Anda.

Untuk mengetahui informasi selengkapnya, lihat Framework Endpoint.

Langkah berikutnya