Lingkungan standar App Engine memiliki dua generasi lingkungan runtime. Runtime generasi kedua secara signifikan meningkatkan kemampuan App Engine dan menghilangkan beberapa batasan runtime generasi pertama. Halaman ini menjelaskan persamaan dan perbedaan antara runtime generasi pertama dan kedua.
Generasi kedua | Generasi pertama | |
---|---|---|
Bahasa yang didukung |
Python 3 Java 11+ Node.js PHP 7/8 Ruby Go 1.12+ |
Python 2.7 Java 8 PHP 5.5 Go 1.11 |
Dukungan Ekstensi bahasa dan library sistem | Semua ekstensi atau library | Python 2.7, PHP 5.5: Ekstensi dan library yang menggunakan daftar yang diizinkan Java 8, Go 1.11: Semua ekstensi atau library |
API yang didukung |
Untuk mengakses layanan Google Cloud berfitur lengkap, gunakan Library Klien Cloud open source. Saat mengupdate ke runtime Python 3, Java 11+, atau Go 1.12+, Anda dapat terus menggunakan banyak layanan paket App Engine. Untuk mempelajari lebih lanjut, lihat panduan Python 3, Java 11+ dan Go 1.12+ untuk mengetahui detailnya. |
Layanan paket Library Klien Cloud dan App Engine |
Untuk penyimpanan file blob yang besar, gunakan
Cloud Storage atau tetap gunakan layanan paket App Engine Blobstore API. |
App Engine Blobstore API | |
Untuk persistensi data, gunakan Firestore dalam mode Datastore dan Cloud SQL untuk penyimpanan relasional. Atau, Anda dapat terus menggunakan layanan paket App Engine Datastore API. |
App Engine Datastore API | |
Untuk eksekusi tugas yang ditangguhkan, terus gunakan Deferred API (Python),
DeferredTask API (Java), dan Delay API (Go). Pengguna PHP dapat terus menentukan eksekusi yang ditangguhkan melalui layanan paket Task Queues API.
Atau, Anda dapat menerapkan fungsi yang ditangguhkan menggunakan
Cloud Tasks. |
API yang Ditangguhkan App Engine | |
Untuk pemrosesan gambar, Anda dapat menggunakan Cloud Storage untuk menayangkan gambar secara langsung, atau menggunakan jaringan penayangan konten (CDN) atau library pemrosesan gambar pihak ketiga singkat ini.
Atau, Anda dapat terus menggunakan layanan paket App Engine Images API. |
App Engine Images API | |
Untuk pesan masuk atau keluar, terus gunakan layanan paket App Engine Mail API. Atau untuk pesan keluar, Anda dapat menggunakan penyedia email pihak ketiga seperti SendGrid, Mailgun, atau Mailjet. Alternatif pihak ketiga yang direkomendasikan untuk pesan masuk tidak tersedia pada saat ini. |
App Engine Mail API | |
Untuk meng-cache data aplikasi, buat instance Memorystore dan hubungkan ke aplikasi Anda menggunakan Akses VPC Tanpa Server. Atau, lanjutkan menggunakan layanan paket App Engine Memcache API. | App Engine Memcache API | |
Untuk indeks dokumen yang dapat ditelusuri, hosting database penelusuran teks lengkap apa pun seperti Elasticsearch di Compute Engine dan akses dari layanan Anda. Google Cloud Marketplace juga menawarkan layanan Elasticsearch berbasis SaaS. Atau, lanjutkan menggunakan layanan paket App Engine Search API. | App Engine Search API | |
Untuk menjalankan tugas eksternal, tetap gunakan layanan paket App Engine Task Queues API untuk push queue dan pull queue, atau migrasikan push queue ke Cloud Tasks. dan pull queue ke Pub/Sub. |
App Engine Task Queue API | |
Untuk autentikasi pengguna, lanjutkan menggunakan layanan paket App Engine Users API, atau migrasikan ke layanan autentikasi apa pun yang dijelaskan dalam Opsi Autentikasi Pengguna. | App Engine Users API | |
Akses jaringan eksternal | Akses penuh | Python 2.7, PHP 5.5: Melalui URL Fetch API Java 8, Go 1.11: Akses penuh. |
Akses sistem file | Akses baca/tulis ke /tmp |
Python 2.7, PHP 5.5: Tidak ada Java 8, Go 1.11: Akses baca/tulis ke /tmp |
Runtime bahasa | Runtime open source yang tidak dimodifikasi | Diubah untuk App Engine |
Mekanisme isolasi | Sandbox container berbasis gVisor | Sandbox container berbasis gVisor |
Dukungan runtime generasi pertama App Engine
Runtime generasi pertama App Engine telah mencapai akhir dukungan. Google tidak akan lagi menerapkan patch atau update keamanan ke komponen lingkungan runtime yang telah mencapai akhir dukungan.
Untuk mempelajari lebih lanjut paket dukungan bagi runtime generasi pertama, lihat Dukungan untuk runtime lama dan Siklus proses runtime.
Persamaan antara runtime generasi pertama dan kedua
- Waktu peningkatan skala hampir seketika untuk merespons lonjakan traffic
- Aplikasi di-build menggunakan proses build yang sama
- SLA yang sama untuk layanan GA
- Dukungan perintah
gcloud
yang identik dan antarmuka GCP console yang sama - Tingkatan gratis
Resource migrasi runtime generasi pertama ke generasi kedua
Panduan migrasi tersedia untuk setiap runtime bahasa di halaman Dukungan jangka panjang (LTS).