Firebase terintegrasi dengan Application Design Center (ADC) dari Google Cloud untuk memungkinkan pelanggan perusahaan memenuhi kebutuhan standarisasi 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 ditentukan sebelumnya, yang menentukan batas aman untuk penyediaan resource, pemberian izin IAM, dll.
Di halaman ini, pelajari hal-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 mengetahui 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 pengelompokan logis resource dan layanan yang bersama-sama memberikan fungsi bisnis. Untuk developer Firebase, Anda dapat menganggap ADC "aplikasi" setara dengan project Firebase, tempat semua aplikasi iOS, Android, dan web yang terdaftar 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 konsol Google Cloud. Kanvas desain memungkinkan Anda memvisualisasikan dan membuat diagram arsitektur infrastruktur yang ingin Anda sediakan untuk aplikasi Anda.
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 principal) mana yang dapat melakukan tugas tertentu.
Misalnya, Anda dapat menetapkan peran Admin Application Design Center (roles/designcenter.admin) kepada Platform Engineer yang perlu membuat dan menetapkan ruang, mengelola katalog, serta mendesain template. Namun, Anda kemungkinan hanya akan
menetapkan peran Editor Aplikasi (roles/designcenter.applicationEditor) kepada
Developer Aplikasi agar mereka dapat menggunakan template, tetapi tidak membuat
template.
Tabel berikut menjelaskan tugas terkait ADC, persona yang dituju, dan peran yang diperlukan:
| Tugas | Persona | Peran IAM 1 |
|---|---|---|
| Membuat dan mengelola template | ||
|
Mengelola siklus proses ADC lengkap (termasuk mengelola ruang, katalog, template, mengonfigurasi dan men-deploy aplikasi) |
Engineer Platform |
Admin Application Design Center ( roles/designcenter.admin |
| Membuat dan mengelola template serta mengonfigurasi dan men-deploy aplikasi | Engineer Platform |
Pengguna Application Design Center ( roles/designcenter.user |
| Membuat akun layanan untuk men-deploy aplikasi ADC | ||
| Membuat akun layanan | Engineer Platform |
Buat Akun Layanan ( roles/iam.serviceAccountCreator |
| Memberi akun layanan akses ke project yang digunakan untuk ADC deployment | Engineer Platform |
Project IAM Admin ( roles/resourcemanager.projectIamAdmin |
| Mengonfigurasi dan men-deploy ADC aplikasi | ||
|
Mengontrol siklus proses aplikasi 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: |
Editor Aplikasi ( roles/designcenter.applicationEditor |
1 Beberapa peran ini harus ditetapkan di project pengelolaan, yang merupakan resource tingkat teratas dalam hierarki Google Cloud.
Alur kerja umum
Bagian ini menjelaskan alur kerja umum untuk membuat dan menggunakan template ADC. Langkah-langkah ditandai dengan persona yang biasanya melakukan langkah tersebut.
- Langkah 1: Siapkan ADC (Platform Engineer)
- Langkah 2: Buat template (Platform Engineer)
- Langkah 3: Menggunakan template (Developer Aplikasi)
- Langkah 4: Mengembangkan aplikasi sebenarnya (Developer Aplikasi)
Langkah 1: Siapkan ADC (Platform Engineer)
Persona Platform Engineer (atau yang lebih tinggi) menyelesaikan tugas ini untuk menyiapkan ADC. Tugas ini biasanya hanya perlu diselesaikan satu kali 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 berkolaborasi ADC.
Siapkan akses dan pengguna untuk ruang.
Ikuti langkah-langkah di Mengelola pengguna ruang untuk ADC di dokumentasi Google Cloud. Gunakan panduan yang dijelaskan sebelumnya di halaman ini tentang Peran IAM yang diperlukan untuk mengontrol akses.
Project pra-penyediaan.
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.
Konfigurasi akun layanan deployment.
ADC mengelola penyediaan otomatis resource menggunakan akun layanan dengan cakupan yang ketat. Hal ini mencegah Developer Aplikasi menggunakan akunnya sendiri untuk men-deploy infrastruktur.
ADC dapat otomatis membuat akun layanan dengan cakupan sempit untuk Anda saat Anda menguji deployment template yang Anda buat. Anda juga memiliki opsi untuk menggunakan akun layanan Anda sendiri yang memiliki izin yang Anda anggap sesuai untuk Developer Aplikasi.
Langkah 2: Buat 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 digunakan oleh Developer Aplikasi.
Misalnya, template dapat menentukan resource seperti berikut:
- Developer Aplikasi dapat mengembangkan aplikasi iOS, Android, dan web yang semuanya menggunakan resource.
- 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 disetel untuk menolak semua permintaan akses secara default. Kemudian, saat Developer Aplikasi menggunakan template ini untuk deployment-nya sendiri, dia dapat mengubah Security Rules ini agar sesuai 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 menyetelnya di antarmuka masing-masing untuk kebijakan tersebut. ADC saat ini tidak mendukung definisi kebijakan di tingkat template.
Anda dapat menetapkan peran IAM Firebase tertentu kepada anggota project, bergantung pada tindakan yang ingin Anda izinkan. Misalnya, jika mereka hanya perlu melihat resource di konsol Firebase, tetapkan peran Firebase Viewer kepada mereka (
roles/firebase.viewer).Anda dapat menetapkan batasan wilayah untuk resource di tingkat folder atau organisasi.
Tambahkan template ke katalog.
Setelah menguji template, tambahkan ke katalog tim Anda.ADC 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 sebelumnya, mengonfigurasinya untuk kasus penggunaan spesifik mereka, 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.
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 konsol Firebase dan melihat resource yang disediakan serta layanan yang diaktifkan untuk project Anda.
Langkah 4: Kembangkan aplikasi Anda yang sebenarnya (Developer Aplikasi)
ADC membantu menyiapkan Firebase dan Google Cloud infrastruktur (seperti penyediaan resource dan pengaktifan API). Namun, hal ini tidak melakukan pengodean aplikasi sebenarnya yang menggunakan resource dan API tersebut.
Berikut beberapa hal penting yang perlu dilakukan 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 selaras.
(jika menggunakan Cloud Firestore) Pastikan untuk memperbarui dan memublikasikan Firebase Security Rules agar sesuai dengan model data Cloud Firestore untuk aplikasi.
Kamu bisa apa lagi?
- Pantau ADC "aplikasi" yang di-deploy, yang otomatis terdaftar di App Hub. Hal ini memungkinkan pemantauan gabungan, pengamatan biaya, dan pemecahan masalah untuk resource Firebase dalam konteks deployment Google Cloud yang lebih luas.