Runtime SaaS memungkinkan Anda menyimpan, menghosting, mengelola, dan memantau aplikasi software as a service (SaaS) di Google Cloud. SaaS Runtime mengelola deployment Terraform dalam skala besar, sehingga Anda dapat mengelola aplikasi SaaS dan infrastruktur yang menjalankannya.
Runtime SaaS dapat digunakan dalam berbagai cara oleh berbagai pemangku kepentingan dalam pipeline SaaS. Jika pekerjaan Anda sesuai dengan salah satu peran ini, Anda mungkin tertarik untuk menggunakan SaaS Runtime:
- Administrator platform
- Developer aplikasi
- Arsitek
- Administrator kepatuhan
- Platform engineer
- Operasi keuangan
Runtime SaaS memberikan manfaat berikut:
- Sederhanakan pengelolaan layanan Anda dalam skala besar dengan mengotomatiskan tugas pengelolaan layanan (seperti deployment, peluncuran, dan pengelolaan tombol fitur) di seluruh tenant SaaS Anda.
- Perluas kemampuan observasi dan kontrol Anda dengan menyesuaikan pembaruan dan rilis di seluruh unit yang dapat dikonfigurasi untuk mengelola penawaran SaaS Anda dengan presisi dalam skala besar.
- Bangun konsistensi di seluruh ekosistem Anda dengan mengelola layanan di berbagai produk, termasuk Google Distributed Cloud, Penagihan, Kemampuan Observasi, dan Resource Manager. Google Cloud Google Cloud Google Cloud
- Gunakan arsitektur fleksibel dan dapat dibuat template yang mempromosikan update dan deployment grup berbasis unit untuk meningkatkan efisiensi dan kemampuan penggunaan ulang.
Bagaimana cara kerja Runtime SaaS?
Runtime SaaS men-deploy artefak yang menentukan penawaran SaaS Anda. Artefak ini harus memiliki konfigurasi Terraform. Deployment diatur ke dalam unit terpisah yang dapat diupdate dengan rilisan yang berisi perubahan pada penawaran Anda melalui proses peluncuran yang dapat dikonfigurasi.
Untuk mengetahui informasi selengkapnya tentang nomenklatur SaaS Runtime, lihat Glosarium.
Menyiapkan workload untuk Runtime SaaS
Sebelum men-deploy penawaran SaaS, sebaiknya tentukan pengaturan ideal penawaran SaaS Anda dalam ekosistem SaaS Runtime.
Atur bagian penawaran SaaS Anda yang harus diperbarui atau dimodifikasi bersama-sama ke dalam konfigurasi Terraform yang berbeda. Saat merencanakan penawaran SaaS, gunakan jenis unit untuk setiap pengelompokan penawaran SaaS Anda.
Setelah menentukan struktur ideal untuk beban kerja Anda di SaaS Runtime, Anda dapat membuat penawaran SaaS, jenis unit, lalu men-deploy unit menggunakan peluncuran.
Untuk mengetahui contoh penyiapan SaaS Runtime, lihat panduan memulai.
Akun layanan Runtime SaaS
Runtime SaaS menggunakan kombinasi akun layanan yang dikelola Google dan akun layanan yang dikelola pengguna:
Akun layanan SaaS Runtime (dikelola Google): Akun ini dibuat secara otomatis setelah membuat resource penawaran SaaS pertama. Fitur ini dikelola oleh Google. Layanan ini melakukan tindakan atas nama Anda, seperti berinteraksi dengan layanan Google Cloud lain selama penyediaan unit.
Akun layanan aktivasi (Dikelola pengguna): Anda membuat dan mengelola akun layanan ini. Runtime SaaS (melalui Infrastructure Manager) menggunakan akun ini untuk menjalankan konfigurasi Terraform Anda saat menyediakan atau memperbarui unit. Akun ini bertindak sebagai identitas untuk membuat dan mengelola resource yang ditentukan di Terraform Anda. Izin akun layanan aktuasi terkait langsung dengan resource yang dikelola konfigurasi Terraform Anda.
Anda dapat memiliki beberapa akun layanan aktuasi. Sebaiknya Anda memiliki satu akun layanan aktivasi untuk setiap tenant.
Opsional: Akun layanan pembuatan artefak (Dikelola pengguna): Akun layanan ini digunakan untuk membangun dan mengupload paket Terraform Anda ke artefak OCI. Biasanya ini adalah akun layanan Cloud Build, tetapi dapat berupa akun layanan apa pun dengan izin yang sesuai untuk penawaran SaaS Anda.
Akun layanan Runtime SaaS (dikelola Google)
Akun layanan SaaS Runtime adalah agen layanan yang dikelola Google dan digunakan oleh SaaS Runtime untuk melakukan operasi dalam project Anda.
Akun layanan ini otomatis disediakan saat Anda membuat resource SaaS Runtime pertama. Akun layanan SaaS Runtime dibuat menggunakan format ini:
service-PROJECT_NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.com
Ganti:
- PROJECT_NUMBER: Nomor project Anda.
Akun layanan aktuasi (Dikelola pengguna)
Akun layanan aktuasi adalah akun layanan yang dikelola pengguna yang harus Anda buat. Runtime SaaS (melalui Infra Manager) menggunakan akun layanan ini untuk menjalankan konfigurasi Terraform Anda. Identitas ini adalah identitas yang membuat, mengubah, dan menghapus resource yang ditentukan di Terraform Anda.
Anda bertanggung jawab untuk membuat akun layanan ini dalam project Anda, atau dalam project tenant Anda.
Variabel input akun layanan aktuasi
Saat membuat unit, Anda harus memberikan akun layanan aktuasi sebagai variabel input pasangan nilai kunci untuk konfigurasi Terraform:
- Nama:
actuation_sa - Jenis variabel:
String Nilai variabel: Alamat email akun layanan aktuasi:
my-actuation-sa@my-identifier.iam.gserviceaccount.com
Izin yang Diperlukan
Akun layanan aktuasi memerlukan izin yang memadai untuk mengelola resource yang ditentukan dalam konfigurasi Terraform Anda. Setidaknya, Anda memerlukan:
roles/iam.serviceAccountTokenCreator: Mengizinkan akun layanan untuk membuat token untuk autentikasi.roles/config.admin: Memberikan kontrol penuh atas resource Infra Manager.roles/storage.admin: Memberikan kontrol penuh atas Cloud Storage.
Akun layanan aktuasi juga memerlukan izin untuk membuat dan mengelola resource Google Cloud tertentu yang digunakan oleh aplikasi Anda.
Contoh:
- Jika Terraform Anda membuat cluster Google Kubernetes Engine (GKE), akun layanan memerlukan peran GKE yang sesuai (
roles/container.admin, misalnya). - Jika Terraform Anda membuat instance Compute Engine, akun layanan memerlukan peran
roles/compute.admin. - Jika Terraform Anda membuat instance Cloud SQL, akun layanan
memerlukan peran Cloud SQL yang sesuai (misalnya,
roles/cloudsql.admin).
Lihat dokumentasi untuk setiap resource Google Cloud yang Anda gunakan di Terraform untuk menentukan izin yang diperlukan. Berikan hak istimewa terendah yang diperlukan agar aplikasi Anda dapat berfungsi.
Akun layanan pembuatan artefak (Dikelola pengguna)
Akun layanan pembuatan artefak adalah akun layanan yang dikelola pengguna yang Anda buat untuk menggunakan sistem build (seperti Cloud Build) guna mengemas dan mengupload artefak Terraform Anda ke Artifact Registry.
Akun layanan ini terpisah dari akun layanan SaaS Runtime dan layanan aktuasi, serta membangun kode Terraform Anda dan mengirimkan artefak yang dihasilkan ke Artifact Registry. Biasanya, akun ini adalah akun layanan Cloud Build.
Pembuatan artefak manual
Jika Anda membuat dan mengupload artefak Terraform secara manual (misalnya, menggunakan build Docker dan push Docker secara langsung), Anda tidak memerlukan akun layanan pembuatan artefak terpisah.
Sebagai gantinya, Anda harus melakukan autentikasi menggunakan kredensial Anda sendiri atau akun layanan dengan izin Artifact Registry yang diperlukan.
Izin yang Diperlukan
Jika Anda menggunakan Cloud Build, akun layanan Cloud Build biasanya memerlukan peran berikut:
roles/artifactregistry.writer: Untuk mengirim artefak ke Artifact Registry.roles/artifactregistry.repoAdmin: Untuk mengelola repositori Artifact Registry.roles/storage.admin: Untuk mengelola bucket Cloud Storage.roles/developerconnect.admin: Izin untuk menggunakan Developer Connect.roles/developerconnect.readTokenAccessor: Izin untuk mendapatkan token baca Developer Connect.roles/logging.logWriter: Izin untuk menulis log.- Jika Anda men-deploy konfigurasi Terraform menggunakan Developer Connect:
roles/cloudbuild.builds.builder: Untuk menjalankan build. - Izin lain yang diperlukan oleh proses build Anda (misalnya, akses ke repositori kode sumber).
Strategi peluncuran
SaaS Runtime menggunakan beberapa strategi peluncuran untuk mengelola cara unit dalam penawaran SaaS Anda diupdate. Strategi peluncuran ini mengikuti pendekatan Google Cloudterhadap perubahan dengan menerapkan pendekatan yang konsisten terhadap penerapan perubahan di seluruh penawaran SaaS Anda.
Gunakan strategi peluncuran untuk meminimalkan dampak negatif pada pelanggan dan mengisolasi masalah ke domain kegagalan logis dan fisik individual. Tentukan strategi peluncuran dengan membuat jenis peluncuran yang menentukan salah satu strategi peluncuran berikut:
Satu lokasi dalam satu waktu (sederhana): Satu lokasi diluncurkan dalam satu waktu, tanpa penantian di antara lokasi. Unit dipilih secara acak dalam suatu lokasi, dengan maksimum 20% unit lokasi diperbarui pada waktu tertentu.
Strategi ini direkomendasikan untuk lingkungan pengembangan dan skenario darurat.
Sekaligus (sederhana): Semua lokasi mulai meluncurkan secara bersamaan.
Strategi ini direkomendasikan untuk lingkungan pengembangan dan skenario darurat.
Progresif (bertahap): Di setiap lokasi, unit diluncurkan dalam batch berbasis persentase statis (misalnya, 1%, 10%, 20%, 30%, ~40%) dengan waktu perendaman di antara batch. Di seluruh lokasi, peluncuran berlangsung dengan peningkatan eksponensial dalam jumlah lokasi serentak (misalnya, satu lokasi, lalu dua, lalu empat) dengan waktu perendaman (misalnya, 18 jam) di antara gelombang. Unit dalam lokasi dipilih secara acak.
Strategi ini dirancang untuk peluncuran yang aman dan dapat diprediksi di beberapa lokasi. Dimulai dengan jejak karbon kecil dan diperluas secara bertahap seiring meningkatnya keyakinan. Strategi ini direkomendasikan di lingkungan produksi dengan lebih dari satu lokasi.
Progresif (satu lokasi): Unit diperbarui dalam batch berbasis persentase statis (misalnya, 1%, 10%, 20%, 30%, ~40%) dengan waktu perendaman yang lebih lama (misalnya, 18 jam) di antara batch untuk memberikan waktu yang cukup untuk mendeteksi masalah dan membatasi dampak buruk perubahan peluncuran.
Strategi ini disesuaikan untuk penawaran SaaS yang beroperasi di satu lokasi, dengan memprioritaskan keselamatan dan kehati-hatian. Sebaiknya gunakan strategi ini di lingkungan produksi dengan satu lokasi.
Untuk mengetahui informasi selengkapnya tentang cara membuat jenis peluncuran, lihat Membuat jenis peluncuran.
Langkah berikutnya
- Coba panduan memulai untuk mempelajari cara men-deploy VM menggunakan SaaS Runtime.
- Untuk mulai menggunakan SaaS Runtime, mulailah dengan Membuat penawaran SaaS.