Pengelola Siklus Proses Aplikasi memungkinkan Anda menyimpan, menghosting, mengelola, dan memantau aplikasi software as a service (SaaS) di Google Cloud. Pengelola Siklus Proses Aplikasi mengelola deployment Terraform dalam skala besar, sehingga Anda dapat mengelola aplikasi SaaS dan infrastruktur yang menjalankannya.
App Lifecycle Manager dapat digunakan dengan berbagai cara oleh berbagai pemangku kepentingan dalam pipeline SaaS. Jika pekerjaan Anda sesuai dengan salah satu peran ini, Anda mungkin tertarik untuk menggunakan Pengelola Siklus Proses Aplikasi:
- Administrator platform
- Developer aplikasi
- Arsitek
- Administrator kepatuhan
- Platform engineer
- Operasi keuangan
App Lifecycle Manager 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 pembaruan dan deployment grup berbasis unit untuk meningkatkan efisiensi dan penggunaan kembali.
Bagaimana cara kerja Pengelola Siklus Proses Aplikasi?
App Lifecycle Manager men-deploy artefak yang menentukan penawaran SaaS Anda. Artefak ini harus memiliki konfigurasi Terraform. Deployment diatur ke dalam unit berbeda yang dapat diupdate dengan rilisan yang berisi perubahan pada penawaran Anda melalui proses peluncuran yang dapat dikonfigurasi.
Untuk mengetahui informasi selengkapnya tentang nomenklatur App Lifecycle Manager, lihat Glosarium.
Menyiapkan workload untuk Pengelola Siklus Proses Aplikasi
Sebelum men-deploy penawaran SaaS, sebaiknya tentukan pengaturan ideal penawaran SaaS Anda dalam ekosistem App Lifecycle Manager.
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 App Lifecycle Manager, Anda dapat membuat penawaran SaaS, jenis unit, lalu men-deploy unit menggunakan peluncuran.
Untuk mengetahui contoh penyiapan App Lifecycle Manager, lihat panduan memulai.
Menggunakan template komposit dengan Pengelola Siklus Proses Aplikasi
Anda dapat menggunakan template komposit melalui Application Design Center untuk menentukan infrastruktur penawaran aplikasi App Lifecycle Manager Anda.
Setelah Anda melampirkan template komposit ke penawaran SaaS, App Lifecycle Manager akan mengisi jenis unit yang ditentukan dalam template Anda. Dengan demikian, Anda dapat men-deploy unit berdasarkan struktur dan resource yang ditentukan dalam template komposit.
Anda dapat mengedit template komposit di Pusat Desain Aplikasi, dan melihat perubahan yang tercermin dalam penawaran SaaS Pengelola Siklus Proses Aplikasi.
Untuk mengetahui informasi selengkapnya tentang template gabungan, lihat dokumentasi Mendesain template gabungan. Untuk mengetahui informasi selengkapnya tentang melampirkan template komposit ke penawaran App Lifecycle Manager, lihat Membuat model dan mengemas unit deployment.
Akun layanan App Lifecycle Manager
App Lifecycle Manager menggunakan kombinasi akun layanan yang dikelola Google dan akun layanan yang dikelola pengguna:
Akun layanan App Lifecycle Manager (dikelola Google): Akun ini dibuat secara otomatis setelah membuat resource penawaran SaaS pertama. Fitur ini dikelola oleh Google. Aplikasi 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. App Lifecycle Manager (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 aktuasi 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 App Lifecycle Manager (dikelola Google)
Akun layanan App Lifecycle Manager adalah agen layanan yang dikelola Google dan digunakan oleh App Lifecycle Manager untuk melakukan operasi dalam project Anda.
Akun layanan ini otomatis disediakan saat Anda membuat resource App Lifecycle Manager pertama. Akun layanan App Lifecycle Manager 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. App Lifecycle Manager (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, diperlukan:
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 App Lifecycle Manager 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
App Lifecycle Manager 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 penundaan di antara lokasi. Unit dipilih secara acak dalam suatu lokasi, dengan maksimal 20% unit lokasi diperbarui pada waktu tertentu.
Strategi ini direkomendasikan untuk lingkungan pengembangan dan skenario darurat.
Sekaligus (sederhana): Semua lokasi mulai meluncurkan pada waktu yang sama.
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 penyerapan 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. Proses ini 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.
Regionalisasi App Lifecycle Manager
Resource penawaran SaaS menentukan tempat unit App Lifecycle Manager Anda dapat berada, dan cara pengelolaan peluncuran Anda. Saat Anda membuat penawaran SaaS, wilayah yang Anda pilih berfungsi sebagai satu sumber tepercaya untuk wilayah yang didukung penawaran SaaS Anda. Wilayah yang Anda pilih adalah wilayah yang tersedia yang telah Anda tetapkan untuk penawaran SaaS Anda.
Saat Anda menggunakan Pengelola Siklus Proses Aplikasi melalui konsol Google Cloud , Pengelola Siklus Proses Aplikasi akan mengotomatiskan replikasi resource yang Anda tentukan dalam penawaran SaaS di seluruh wilayah. Hal ini memastikan konsistensi dan ketersediaan resource Pengelola Siklus Proses Aplikasi Anda di semua region yang tersedia yang telah Anda tentukan dalam penawaran SaaS Anda.
App Lifecycle Manager mereplikasi resource berikut:
- Penawaran SaaS (
Saas) - Jenis unit (
UnitKind) - Rilis (
Release)
Menggunakan global sebagai wilayah
Menyertakan global sebagai region dalam penawaran SaaS Anda umumnya
tidak direkomendasikan untuk target deployment. App Lifecycle Manager menggunakan region global
untuk menyebarkan peluncuran regional. Peluncuran regional tidak dapat dijalankan di region global.
Regionalisasi peluncuran
Lokasi yang didukung untuk peluncuran ditentukan oleh region tingkat teratas yang ditentukan di region yang tersedia untuk penawaran SaaS Anda.
Peluncuran membaca daftar region yang tersedia dari penawaran SaaS terkait.
Replikasi resource
App Lifecycle Manager menangani pembuatan dan pembaruan resource ke semua wilayah yang tersedia untuk penawaran SaaS Anda.
Saat Anda memperbarui wilayah yang tersedia untuk penawaran SaaS, Pengelola Siklus Proses Aplikasi akan menangani replikasi:
- Lokasi ditambahkan: Resource direplikasi ke lokasi yang baru ditambahkan.
- Lokasi dengan salinan lama: Konten diperbarui.
Lokasi Artifact Registry dan Developer Connect
Lokasi repositori Artifact Registry dan instance Developer Connect Anda memiliki persyaratan tertentu:
Region repositori Artifact Registry dan instance Developer Connect Anda dapat berupa region Google Cloud valid apa pun. Wilayah tersebut tidak perlu disertakan dalam wilayah yang tersedia untuk penawaran SaaS Anda.
Region repositori Artifact Registry Anda harus cocok dengan region instance Developer Connect Anda.
Hal ini memerlukan kehadiran resource jenis penawaran, rilis, dan unit SaaS di semua region yang ditentukan dalam penawaran SaaS Anda, meskipun Artifact Registry dan Developer Connect berada di satu region (yang berpotensi berbeda).
Unit hanya dapat dibuat di region yang ditentukan dalam penawaran SaaS Anda.
Contoh konfigurasi wilayah App Lifecycle Manager
Kami memberikan contoh ini untuk menunjukkan cara kerja regionalisasi saat menggunakan App Lifecycle Manager dengan replikasi resource terkelola.
Misalnya, jika Anda ingin men-deploy penawaran SaaS di us-central1 dan
europe-west4, sekaligus menghosting repositori Artifact Registry dan
instance Developer Connect di us-east1, infrastruktur region App Lifecycle Manager
Anda akan terlihat seperti:
- Wilayah tempat penawaran SaaS tersedia:
['us-central1', 'europe-west4'] - Region repositori Artifact Registry:
us-east1 - Region Developer Connect instance:
us-east1 - Resource jenis unit, dan rilis: App Lifecycle Manager mengelola pembuatan dan pembaruan resource ini di seluruh wilayah
global,us-central1, daneurope-west4 - Unit: Unit dapat dibuat di
us-central1, ataueurope-west4
Konfigurasi ini memungkinkan Anda mengelola deployment di dua region sekaligus mempertahankan pengelolaan artefak yang terpusat di region ketiga yang berbeda dengan replikasi resource otomatis. Anda harus mempertimbangkan persyaratan latensi, kepatuhan, dan residensi data dengan cermat saat memilih region.
Langkah berikutnya
- Coba panduan memulai untuk mempelajari cara men-deploy VM menggunakan App Lifecycle Manager.
- Untuk mulai menggunakan App Lifecycle Manager, mulailah dengan Membuat penawaran SaaS.