Memilih opsi Endpoint

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 mana yang tepat untuk Anda.

Memilih opsi komputasi

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

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

Untuk membandingkan fitur-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 perbandingan kedua lingkungan tersebut, lihat Memilih lingkungan App Engine.

Tentang batasan opsi komputasi

Endpoint untuk OpenAPI dan Endpoint untuk gRPC dapat menggunakan ESP atau ESPv2 sebagai proxy. Untuk platform non-serverless, ESP atau ESPv2 di-deploy sebagai penampung di depan aplikasi Anda atau sebagai file bantuan dengan aplikasi Anda. Untuk platform tanpa server, seperti Cloud Run, Cloud Functions, 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 akan mengumpulkan dan melaporkan telemetri menggunakan Infrastruktur Layanan.

Anda dapat melihat metrik untuk API dan link ke log dan trace Google Cloud Observability di halaman Layanan Endpoint pada Konsol Google Cloud.

Batasan lingkungan pembuatan standar App Engine 1

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

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

gRPC API tidak didukung di App Engine atau Cloud Functions

gRPC adalah framework panggilan prosedur jarak jauh (RPC) yang dapat berjalan di lingkungan apa pun. Dengan gRPC, aplikasi klien dapat langsung memanggil metode di aplikasi server pada komputer lain seolah-olah merupakan objek lokal. Fitur inti gRPC adalah streaming dua arah dengan transport berbasis HTTP/2.

App Engine dan Cloud Functions tidak mendukung HTTP/2.

Bahasa pemrograman yang didukung

  • Spesifikasi OpenAPI adalah spesifikasi tanpa bahasa. Anda dapat mengimplementasikan API dalam bahasa pemrograman apa pun.
  • gRPC menyediakan compiler buffering 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 daftar terbaru.
  • Endpoint Frameworks hanya mendukung Java 8 dan Python 2.7.

Mendeskripsikan API

Opsi Endpoint menyediakan berbagai cara untuk mendeskripsikan API Anda.

Endpoint untuk OpenAPI

Inisiatif OpenAPI adalah upaya berskala industri untuk menstandarkan deskripsi REST API. Endpoint mendukung API yang dijelaskan menggunakan Spesifikasi OpenAPI versi 2.0 (sebelumnya Spesifikasi Swagger). Anda mendeskripsikan tampilan API 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 tidak terbiasa dengan Spesifikasi OpenAPI, lihat Ringkasan OpenAPI.

Untuk mengetahui informasi selengkapnya, lihat Endpoint untuk OpenAPI.

Endpoint untuk gRPC

Dengan gRPC, Anda menentukan struktur data yang ingin diserialisasi dalam file proto: ini adalah file teks biasa dengan ekstensi .proto. Anda juga menentukan platform API dalam file proto, dengan parameter metode RPC dan jenis nilai yang ditampilkan yang ditentukan sebagai pesan buffering protokol. Jika tidak terbiasa dengan gRPC, lihat Apa yang dimaksud dengan gRPC? di dokumentasi gRPC.

Untuk informasi selengkapnya, lihat Endpoint untuk gRPC.

Framework Endpoint

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

Untuk mengetahui informasi selengkapnya, lihat Framework Endpoint.

Langkah selanjutnya