Memilih lingkungan App Engine

Anda dapat menjalankan aplikasi di App Engine menggunakan lingkungan fleksibel App Engine atau lingkungan standar App Engine. Anda juga dapat memilih untuk menggunakan kedua lingkungan secara simultan untuk aplikasi Anda dan memungkinkan layanan Anda memanfaatkan tiap-tiap manfaat di setiap lingkungan.

Lingkungan App Engine

App Engine sangat cocok untuk aplikasi yang didesain menggunakan arsitektur microservice, terutama jika Anda memutuskan untuk menggunakan kedua lingkungan tersebut. Gunakan bagian berikut untuk mempelajari dan memahami lingkungan mana yang paling sesuai dengan kebutuhan aplikasi Anda.

Kapan harus memilih lingkungan standar

Instance aplikasi berjalan di sandbox, menggunakan lingkungan runtime dari bahasa yang didukung yang tercantum di bawah ini.

Aplikasi yang perlu menangani penskalaan yang cepat.

Lingkungan standar optimal untuk aplikasi dengan karakteristik berikut:

  • Dimaksudkan untuk dijalankan secara gratis atau dengan biaya yang sangat rendah, Anda hanya membayar sesuai kebutuhan Anda dan saat Anda membutuhkannya. Misalnya, aplikasi Anda dapat menskalakan hingga 0 instance saat tidak ada traffic.
  • Mengalami lonjakan traffic yang tiba-tiba dan ekstrem yang memerlukan penskalaan langsung.

Kapan harus memilih lingkungan fleksibel

Instance aplikasi berjalan di dalam container Docker di virtual machine (VM) Compute Engine.

Aplikasi yang menerima traffic yang konsisten, mengalami fluktuasi traffic yang teratur, atau memenuhi parameter untuk meningkatkan dan menurunkan skala secara bertahap.

Lingkungan fleksibel tersebut optimal untuk aplikasi dengan karakteristik berikut:

  • Berjalan di container Docker yang menyertakan runtime atau kode sumber kustom yang ditulis dalam bahasa pemrograman lain.
  • Menggunakan atau bergantung pada framework yang menyertakan kode native.
  • Mengakses resource atau layanan project Google Cloud Anda yang berada di jaringan Compute Engine.

Membandingkan fitur umum

Tabel berikut merangkum perbedaan antara kedua lingkungan tersebut:

Fitur Lingkungan standar Lingkungan fleksibel
Waktu startup instance Detik Menit
Waktu tunggu permintaan maksimum Bergantung pada runtime dan jenis penskalaan. 60 menit
Thread latar belakang Ya, dengan pembatasan Ya
Proses latar belakang Tidak Ya
Proses debug SSH Tidak Ya
Penskalaan Manual, Dasar, Otomatis Manual, Otomatis
Penskalaan hingga nol Ya Tidak, minimal 1 instance
Menulis ke disk lokal
  • Java 8, Java 11, Java 17, Node.js, Python 3, PHP 7.X, PHP 8.1, Ruby, Go 1.11, dan Go 1.12+ memiliki akses baca dan tulis ke /tmp saat ini.
  • Python 2.7 dan PHP 5.5 tidak memiliki akses tulis ke disk.
Ya, ephemeral (disk diinisialisasi pada setiap startup VM)
Mengubah runtime Tidak Ya (melalui Dockerfile)
Waktu deployment Detik Menit
Patch keamanan yang diterapkan otomatis Ya Ya (tidak termasuk runtime image container)
Akses ke Layanan & Google Cloud API seperti Cloud Storage, Cloud SQL, Memorystore, Google Tasks dan lain-lain. Ya Ya
WebSockets Tidak
Java 8, Python 2, dan PHP 5 menyediakan Sockets API (beta) eksklusif, tetapi API tersebut tidak tersedia dalam runtime standar yang lebih baru.
Ya
Mendukung penginstalan biner pihak ketiga
  • Ya untuk Java 8, Java 11, Java 17, Node.js, Python 3, PHP 7.X, PHP 8.1, Ruby, Go 1.11, dan Go 1.12+.
  • Tidak untuk Python 2.7 dan PHP 5.5.
Ya
Location Lokasi untuk lingkungan standar Lokasi untuk lingkungan fleksibel
Harga Berdasarkan jam kerja instance Berdasarkan penggunaan vCPU, memori, dan persistent disk

Lihat juga perbandingan lingkungan secara mendalam.

Membandingkan lingkungan fleksibel dengan Compute Engine

Lingkungan fleksibel App Engine memiliki perbedaan berikut dibandingkan dengan Compute Engine:

  • Instance VM lingkungan fleksibel dimulai ulang setiap minggu. Selama memulai ulang, layanan pengelolaan Google menerapkan update keamanan dan sistem operasi yang diperlukan.

  • Anda selalu memiliki akses root ke instance VM Compute Engine. Secara default, akses SSH ke instance VM di lingkungan fleksibel dinonaktifkan. Jika mau, Anda dapat mengaktifkan akses root ke instance VM aplikasi Anda.

  • Deployment kode dapat memerlukan waktu lebih lama karena image container dibangun menggunakan layanan Cloud Build.

  • Region geografis dari instance VM lingkungan fleksibel ditentukan berdasarkan lokasi yang Anda tentukan untuk aplikasi App Engine dari project Google Cloud Anda. Layanan pengelolaan Google memastikan bahwa instance VM ditempatkan bersama untuk performa yang optimal.

Bermigrasi dari lingkungan standar ke lingkungan fleksibel

Jika memiliki aplikasi di lingkungan standar, Anda mungkin ingin memindahkan beberapa layanan ke lingkungan fleksibel. Untuk mengetahui panduan, lihat rekomendasi di perbandingan lingkungan.

Guna memigrasikan layanan tertentu untuk Python, Java, Go, dan PHP, lihat Memigrasikan layanan dari lingkungan standar ke lingkungan fleksibel.

Cobalah sendiri

Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa lingkungan standar Ruby dalam skenario dunia nyata. Pelanggan baru juga akan mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.

Coba lingkungan standar Ruby secara gratis