Mulai menggunakan Application Design Center (ADC) dan Firebase

Firebase terintegrasi dengan Application Design Center (ADC) dari Google Cloud untuk memungkinkan pelanggan perusahaan memenuhi kebutuhan standardisasi dan tata kelola sekaligus memberdayakan developer aplikasi mereka untuk melakukan pengiriman dengan cepat. Penggunaan ADC memastikan bahwa infrastruktur mematuhi standar dan praktik terbaik organisasi melalui template yang telah ditetapkan, yang menentukan batasan untuk menyediakan resource, memberikan izin IAM, dll.

Di halaman ini, pelajari hal berikut:

Ringkasan ADC dan Firebase

Sebaiknya tinjau dokumentasi Google Cloud untuk mendapatkan ringkasan ADC. Dokumentasi Google Cloud juga menyediakan beberapa panduan mendalam untuk ADC, termasuk konsep utama dan panduan penyiapan awal.

Saat menggunakan ADC, "aplikasi" didefinisikan sebagai grup logis resource dan layanan yang bersama-sama memberikan fungsi bisnis. Bagi developer Firebase, Anda dapat menganggap "aplikasi" ADC setara dengan project Firebase, tempat aplikasi iOS, Android, dan aplikasi web yang terdaftar semuanya berbagi dan memiliki akses ke semua resource dan layanan yang sama untuk project tersebut.

Untuk memulai, sebaiknya gunakan ADC menggunakan pengalaman GUI yang disebut kanvas desain yang tersedia di Google Cloud console. Dengan kanvas desain, Anda dapat memvisualisasikan dan membuat diagram arsitektur infrastruktur yang ingin Anda sediakan untuk aplikasi.

Perhatikan bahwa ADC didukung oleh Terraform, sehingga Anda akan selalu memiliki akses ke definisi kode infrastruktur yang ditentukan menggunakan ADC.

Produk Firebase yang didukung

Berikut adalah kumpulan awal produk Firebase yang didukung dan dapat digunakan dengan ADC:

Persona utama untuk menggunakan ADC

Cara umum untuk memahami dan menggunakan ADC adalah dengan menguraikan tugas terkait ADC berdasarkan dua persona:

  • Platform Engineer: Persona ini mendesain, memverifikasi, dan memublikasikan template ADC yang dapat digunakan kembali dan menerapkan kebijakan ke katalog ADC.

  • Developer Aplikasi: Persona ini menggunakan template ADC yang dipublikasikan (seperti dari katalog ADC tim) untuk mengonfigurasi dan men-deploy infrastruktur. Mereka juga mengembangkan codebase dan fitur aplikasi yang sebenarnya.

Peran IAM yang diperlukan untuk mengontrol akses

Dengan menetapkan peran IAM, Anda dapat mengontrol anggota project (atau akun utama) yang dapat melakukan tugas tertentu.

Misalnya, Anda dapat menetapkan peran Application Design Center Admin (roles/designcenter.admin) kepada Platform Engineer yang perlu membuat dan menetapkan ruang, mengelola katalog, dan mendesain template. Namun, Anda mungkin hanya akan menetapkan peran Application Editor (roles/designcenter.applicationEditor) kepada Developer Aplikasi agar mereka dapat menggunakan template, tetapi tidak dapat membuat template.

Tabel berikut menjelaskan tugas terkait ADC, persona yang dimaksud, dan peran yang diperlukan:

Tugas Persona Peran IAM 1
Membuat dan mengelola template
Mengelola ADC siklus proses
penuh (termasuk mengelola ruang, katalog, template, mengonfigurasi, dan men-deploy aplikasi)
Engineer Platform Application Design Center Admin
(roles/designcenter.admin) pada project pengelolaan
Membuat dan mengelola template serta mengonfigurasi dan men-deploy aplikasi Engineer Platform Application Design Center User
(roles/designcenter.user) di project pengelolaan
Membuat akun layanan untuk men-deploy aplikasi ADC
Membuat akun layanan Engineer Platform Create Service Accounts
(roles/iam.serviceAccountCreator) di project pengelolaan
Memberi akun layanan akses ke project yang digunakan untuk deployment ADC Engineer Platform Project IAM Admin
(roles/resourcemanager.projectIamAdmin) pada project deployment
Mengonfigurasi dan men-deploy aplikasi ADC
Mengontrol siklus proses aplikasi secara penuh
(termasuk integrasi dengan kode sumber dan sistem CI/CD)
Developer Aplikasi: Application Admin
(roles/designcenter.applicationAdmin) di project pengelolaan
Mengonfigurasi dan men-deploy aplikasi berdasarkan template dan koneksi yang ada yang disiapkan oleh Admin Developer Aplikasi: Application Editor
(roles/designcenter.applicationEditor) di project pengelolaan

1 Beberapa peran ini perlu ditetapkan di project pengelolaan, yang merupakan resource level teratas dalam hierarki Google Cloud.

Alur kerja umum

Bagian ini menjelaskan alur kerja umum untuk membuat dan menggunakan template ADC. Langkah-langkahnya diberi tag dengan persona yang biasanya akan melakukan langkah tersebut.

  1. Langkah 1: Menyiapkan ADC (Platform Engineer)
  2. Langkah 2: Membuat template (Platform Engineer)
  3. Langkah 3: Gunakan template (Developer Aplikasi)
  4. Langkah 4: Kembangkan aplikasi Anda yang sebenarnya (Developer Aplikasi)

Langkah 1: Menyiapkan ADC (Platform Engineer)

Persona Platform Engineer (atau yang lebih tinggi) menyelesaikan tugas ini untuk menyiapkan ADC. Tugas ini biasanya hanya perlu diselesaikan sekali agar semuanya siap untuk menggunakan ADC.

  1. Penyiapan ADC awal.

    Ikuti langkah-langkah dan panduan dalam panduan penyiapan awal untuk ADC dalam dokumentasi Google Cloud. Perhatikan bahwa panduan ini mengasumsikan bahwa Anda akan menyiapkan batas tingkat folder.

    Setelah menyelesaikan penyiapan ini, Anda akan memiliki ruang, yang merupakan area khusus bagi tim untuk berkolaborasi, membuat template, dan men-deploy aplikasi. Pastikan ruang ini (serta folder dan katalog) dibagikan kepada semua orang yang ingin Anda ajak bekerja sama ADC.

  2. Siapkan akses dan pengguna untuk ruang.

    Ikuti langkah-langkah di bagian Mengelola pengguna ruang untuk ADC dalam dokumentasi Google Cloud. Gunakan panduan yang dijelaskan sebelumnya di halaman ini tentang Peran IAM yang diperlukan untuk mengontrol akses.

  3. Pra-penyediaan project.

    Buat satu atau beberapa project Google Cloud baru di folder. Pastikan Anda menautkan akun Cloud Billing ke project ini. Project ini akan digunakan oleh Developer Aplikasi Anda saat mereka men-deploy infrastruktur yang ditentukan dalam template.

  4. Konfigurasikan akun layanan deployment.

    ADC mengelola penyediaan resource otomatis menggunakan akun layanan dengan cakupan yang ketat. Hal ini mencegah Developer Aplikasi menggunakan akun mereka sendiri untuk men-deploy infrastruktur.

    ADC dapat secara otomatis membuat akun layanan dengan cakupan ketat atas nama Anda saat Anda menguji deployment template yang Anda buat. Anda juga memiliki opsi untuk membawa akun layanan Anda sendiri yang memiliki izin yang Anda anggap sesuai untuk Developer Aplikasi.

Langkah 2: Membuat template (Platform Engineer)

Persona Platform Engineer menggunakan kanvas desain atau bahkan Gemini Cloud Assist untuk membuat template ADC baru.

  1. Tentukan resource.

    Dengan menggunakan kanvas desain, tarik lalu lepas komponen ke kanvas dan buat koneksi di antara komponen tersebut. Komponen ini adalah cara Anda menentukan layanan Firebase (dan Google Cloud) yang ingin Anda gunakan oleh Developer Aplikasi.

    Misalnya, template dapat menentukan resource seperti berikut:

    • Developer Aplikasi dapat mengembangkan aplikasi iOS, Android, dan aplikasi web yang semuanya menggunakan resource tersebut.
    • Developer Aplikasi dapat menggunakan Firebase AI Logic, Firebase Authentication, Cloud Firestore, dan Firebase Security Rules di aplikasi mereka (lihat daftar semua produk Firebase yang didukung untuk ADC).
    • Firebase Security Rules awalnya ditetapkan untuk menolak semua permintaan akses secara default. Kemudian, saat Developer Aplikasi menggunakan template ini untuk deployment mereka sendiri, mereka akan dapat mengubah Security Rules ini agar selaras dengan model akses yang diperlukan.
  2. Tentukan kebijakan.

    Jika Anda ingin menentukan kebijakan, seperti peran IAM untuk infrastruktur yang di-deploy atau region yang diizinkan untuk resource, Anda harus menetapkannya di antarmuka masing-masing untuk kebijakan tersebut. ADC saat ini tidak mendukung penentuan kebijakan di tingkat template.

    Anda dapat menetapkan peran Firebase IAM tertentu kepada anggota project, bergantung pada apa yang Anda ingin mereka lakukan. Misalnya, jika mereka hanya perlu melihat resource di Firebase console, tetapkan peran Firebase Viewer (roles/firebase.viewer) kepada mereka.

    Anda dapat menetapkan batasan region untuk resource di level folder atau organisasi.

  3. Tambahkan template ke katalog.

    Setelah menguji template, tambahkan template ke katalog ADC tim Anda. Katalog ini harus dibagikan kepada orang yang tepat, khususnya Developer Aplikasi, agar mereka dapat menggunakan template (lihat Langkah 1: Siapkan ADC di atas).

Langkah 3: Menggunakan template (Developer Aplikasi)

Persona Developer Aplikasi memilih template yang telah ditentukan, mengonfigurasinya untuk kasus penggunaan spesifik, lalu men-deploy infrastruktur.

  1. Pilih template dan konfigurasikan.

    Dari katalog ADC, pilih template dan konfigurasikan untuk membuat draf aplikasi. Konfigurasi yang tersedia — seperti kemungkinan region untuk resource — terbatas pada konfigurasi yang ditetapkan oleh Platform Engineer saat membuat template.

  2. Men-deploy infrastruktur.

    Setelah draf aplikasi dibuat, deploy aplikasi ADC ke salah satu project yang telah disediakan sebelumnya yang dibuat untuk deployment infrastruktur (lihat Langkah 1: Siapkan ADC di atas)

    Anda dapat membuka Firebase console dan melihat resource yang disediakan serta layanan yang diaktifkan untuk project Anda.

Langkah 4: Mengembangkan aplikasi yang sebenarnya (Developer Aplikasi)

ADC membantu menyiapkan Firebase dan infrastruktur Google Cloud (seperti menyediakan resource dan mengaktifkan API). Namun, alat ini tidak melakukan coding aplikasi sebenarnya yang menggunakan resource dan API tersebut.

Berikut beberapa hal penting yang perlu dilakukan oleh persona Developer Aplikasi:

  1. Hubungkan codebase aplikasi Anda ke Firebase.

    Dapatkan, lalu tambahkan konfigurasi Firebase ke codebase setiap aplikasi.

    Misalnya, jika template mengizinkan aplikasi Android, Anda harus menambahkan file google-services.json ke direktori yang sesuai dalam project Android Anda.

  2. Pastikan kode dan resource tetap selaras.

    (jika menggunakan Cloud Firestore) Pastikan untuk mengupdate dan memublikasikan Firebase Security Rules agar sesuai dengan model data Cloud Firestore untuk aplikasi.

Kamu bisa apa lagi?

  • Memantau "aplikasi" ADC yang di-deploy, yang otomatis terdaftar di App Hub. Hal ini memungkinkan pemantauan, pengamatan biaya, dan pemecahan masalah gabungan untuk resource Firebase dalam konteks deployment Google Cloud yang lebih luas.