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, termasuk produk Firebase yang didukung
- Persona utama dan peran IAM yang diperlukan untuk mengontrol akses
- Alur kerja umum
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:
- Firebase AI Logic
- Firebase Authentication
- Firebase App Check
- Cloud Firestore
- Firebase Security Rules
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 |
| Membuat dan mengelola template serta mengonfigurasi dan men-deploy aplikasi | Engineer Platform |
Application Design Center User ( roles/designcenter.user |
| Membuat akun layanan untuk men-deploy aplikasi ADC | ||
| Membuat akun layanan | Engineer Platform |
Create Service Accounts ( roles/iam.serviceAccountCreator |
| Memberi akun layanan akses ke project yang digunakan untuk deployment ADC | Engineer Platform |
Project IAM Admin ( roles/resourcemanager.projectIamAdmin |
| 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 |
| Mengonfigurasi dan men-deploy aplikasi berdasarkan template dan koneksi yang ada yang disiapkan oleh Admin | Developer Aplikasi: |
Application Editor ( roles/designcenter.applicationEditor |
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.
- Langkah 1: Menyiapkan ADC (Platform Engineer)
- Langkah 2: Membuat template (Platform Engineer)
- Langkah 3: Gunakan template (Developer Aplikasi)
- 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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.jsonke direktori yang sesuai dalam project Android Anda.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.