Firebase, Google Cloud'den Application Design Center (ADC) ile entegre olarak kurumsal müşterilerin standardizasyon ve yönetim ihtiyaçlarını karşılamasına, aynı zamanda uygulama geliştiricilerinin hızlı bir şekilde ürün yayınlamasına olanak tanır. ADC kullanmak, kaynak sağlama, IAM izinleri verme vb. için koruma sınırlarını tanımlayan önceden tanımlanmış şablonlar aracılığıyla altyapının kuruluş standartlarına ve en iyi uygulamalara uymasını sağlar.
Bu sayfada aşağıdaki konular hakkında bilgi edineceksiniz:
- ADC ve Firebase'e genel bakış, desteklenen Firebase ürünleri dahil
- Temel roller ve erişimi kontrol etmek için gereken IAM rolleri
- Genel iş akışı
ADC ve Firebase'e genel bakış
Google Cloud dokümanlarını inceleyerek ADC'a genel bakış yapmanızı öneririz. Google Cloud belgelerinde ayrıca ADC ile ilgili ADC, temel kavramlar ve ilk kurulum kılavuzu dahil olmak üzere çeşitli ayrıntılı kılavuzlar da yer alır.
ADC kullanılırken "uygulama", birlikte bir işlevi yerine getiren kaynakların ve hizmetlerin mantıksal bir gruplandırması olarak tanımlanır. Firebase geliştiricileri için bir ADC "uygulama"yı, kayıtlı iOS, Android ve web uygulamalarınızın tümünün aynı kaynakları ve hizmetleri paylaştığı ve bunlara erişebildiği birFirebase projesine eşdeğer olarak düşünebilirsiniz.
Başlamak için ADC ile çalışmanızı öneririz. ADC, Google Cloud konsolunda bulunan tasarım tuvali adlı GUI deneyimini sunar. Tasarım tuvali, uygulamalarınızda kullanılmasını istediğiniz altyapının mimari diyagramlarını görselleştirmenize ve oluşturmanıza olanak tanır.
ADC'nın Terraform tarafından desteklendiğini unutmayın. Bu nedenle, ADC kullanılarak tanımlanan altyapının kod tanımına her zaman erişebilirsiniz.
Desteklenen Firebase ürünleri
ADC ile kullanılabilecek desteklenen Firebase ürünlerinin ilk grubu aşağıda verilmiştir:
- Firebase AI Logic
- Firebase Authentication
- Firebase App Check
- Cloud Firestore
- Firebase Security Rules
ADC'yı kullanmaya yönelik temel karakterler
ADC'ı anlamanın ve kullanmanın yaygın bir yolu, ADC ile ilgili görevleri iki kişiye göre ayırmaktır:
Platform Mühendisi: Bu kişi, yeniden kullanılabilir ve politika zorunlu ADC şablonları tasarlar, doğrular ve ADC kataloğunda yayınlar.
Uygulama Geliştiricisi: Bu kişi, altyapıyı yapılandırmak ve dağıtmak için yayınlanmış ADC şablonları (ör. ekibin ADC kataloğundaki) kullanır. Ayrıca uygulamanın gerçek kod tabanını ve özelliklerini geliştirirler.
Erişimi kontrol etmek için gereken IAM rolleri
IAM rolleri atayarak hangi proje üyelerinin (veya asıl kullanıcıların) belirli görevleri gerçekleştirebileceğini kontrol edebilirsiniz.
Örneğin, alan oluşturup ataması, katalogları yönetmesi ve şablon tasarlaması gereken Platform Mühendisi'ne Uygulama Tasarım Merkezi Yöneticisi rolünü (roles/designcenter.admin) atayabilirsiniz. Ancak, şablonları kullanabilmesi için bir uygulama geliştiriciye Uygulama Düzenleyici rolünü (roles/designcenter.applicationEditor) atamanız, şablon oluşturabilmesi için ise atamamanız gerekir.
Aşağıdaki tabloda, ADC ile ilgili görevler, amaçlanan karakter ve gerekli roller açıklanmaktadır:
| Görev | Karakter | IAM rolü 1 |
|---|---|---|
| Şablon oluşturma ve yönetme | ||
|
ADCYaşam döngüsünün tamamını yönetme (alanları, katalogları, şablonları yönetme, uygulamaları yapılandırma ve dağıtma dahil) |
Platform Mühendisi |
Uygulama Tasarım Merkezi Yöneticisi ( roles/designcenter.admin |
| Şablon oluşturma ve yönetmenin yanı sıra uygulamaları yapılandırma ve dağıtma | Platform Mühendisi |
Application Design Center User ( roles/designcenter.user |
| ADC uygulamalarını dağıtmak için hizmet hesabı oluşturma | ||
| Hizmet hesabı oluşturma | Platform Mühendisi |
Hizmet hesapları oluşturma ( roles/iam.serviceAccountCreator |
| Bir hizmet hesabına ADC dağıtımı için kullanılan bir projeye erişim izni verme | Platform Mühendisi |
Project IAM Admin ( roles/resourcemanager.projectIamAdmin |
| ADC uygulamalarını yapılandırma ve dağıtma | ||
|
Uygulama yaşam döngüsünün tamamını kontrol edin (kaynak kodu ve CI/CD sistemleriyle entegrasyon dahil) |
Uygulama Geliştiricisi |
Uygulama yöneticisi ( roles/designcenter.applicationAdmin |
| Yöneticiler tarafından oluşturulan mevcut şablonlara ve bağlantılara göre uygulamaları yapılandırma ve dağıtma | Uygulama Geliştiricisi |
Uygulama Düzenleyici ( roles/designcenter.applicationEditor |
1 Bu rollerden bazıları, Google Cloud hiyerarşisinde üst düzey bir kaynak olan yönetim projesinde ayarlanmalıdır.
Genel iş akışı
Bu bölümde, ADC şablonu oluşturma ve kullanmayla ilgili genel iş akışı açıklanmaktadır. Adımlar, genellikle adımı gerçekleştirecek kişiyle etiketlenir.
- 1. adım: ADC'ı (Platform Mühendisi) ayarlayın
- 2. adım: Şablon oluşturun (Platform Mühendisi)
- 3. adım: Şablon kullanın (uygulama geliştiricisi)
- 4. adım: Gerçek uygulamanızı geliştirin (Uygulama Geliştirici)
1. adım: ADC (Platform Mühendisi) rolünü ayarlayın
Platform mühendisi rolü (veya daha yüksek bir rol) ADC'yı ayarlamak için bu görevleri tamamlar. ADC'yı kullanmak için her şeyin ayarlanması amacıyla bu görevlerin genellikle yalnızca bir kez tamamlanması gerekir.
İlk ADC kurulum.
Google Cloud dokümanlarındaki ADC için ilk kurulum kılavuzundaki adımları ve yönergeleri uygulayın. Bu kılavuzda, klasör düzeyinde sınırlar belirleyeceğiniz varsayılmaktadır.
Bu kurulumu tamamladıktan sonra, ekiplerin ortak çalışabileceği, şablon oluşturabileceği ve uygulama dağıtabileceği özel bir alan olan alanınız olur. Bu alanın (ve klasör ile kataloğun) birlikte çalışmak istediğiniz herkesle paylaşıldığından emin olun ADC.
Alana erişimi ve kullanıcıları ayarlayın.
Google Cloud dokümanlarındaki ADC için Alan kullanıcılarını yönetme başlıklı makaledeki adımları uygulayın. Bu sayfanın önceki bölümlerinde açıklanan Erişimi kontrol etmek için gereken IAM rolleri ile ilgili yönergeleri uygulayın.
Projeleri önceden sağlama
Klasörde bir veya daha fazla yeni Google Cloud projesi oluşturun. Bu projelere bir Cloud Billing hesabı bağladığınızdan emin olun. Bu projeler, şablonda tanımlanan altyapıyı dağıtırken Uygulama Geliştiriciniz tarafından kullanılır.
Bir dağıtım hizmet hesabı yapılandırın.
ADC, dar kapsamlı bir hizmet hesabı kullanarak kaynakların otomatik olarak sağlanmasını yönetir. Bu, uygulama geliştiricinin altyapı dağıtmak için kendi hesabını kullanmasını engeller.
ADC, oluşturduğunuz şablonların dağıtımını test ederken sizin adınıza otomatik olarak sıkı kapsamlı bir hizmet hesabı oluşturabilir. Ayrıca, uygulama geliştiriciler için uygun olduğunu düşündüğünüz izinlere sahip kendi hizmet hesabınızı getirme seçeneğiniz de vardır.
2. adım: Şablon oluşturma (Platform Mühendisi)
Platform mühendisi personası, yeni bir ADC şablonu oluşturmak için tasarım tuvalini veya Gemini Cloud Assist kullanır.
Kaynakları tanımlayın.
Tasarım tuvalini kullanarak bileşenleri tuvale sürükleyip bırakın ve aralarında bağlantılar oluşturun. Bu bileşenler, uygulama geliştiricilerin kullanmasını istediğiniz Firebase (ve Google Cloud) hizmetlerini tanımlama şeklinizdir.
Örneğin, şablon aşağıdaki gibi kaynakları tanımlayabilir:
- Uygulama geliştiriciler, kaynakları kullanan iOS, Android ve web uygulamaları geliştirebilir.
- Uygulama Geliştiricileri, uygulamalarında Firebase AI Logic, Firebase Authentication, Cloud Firestore ve Firebase Security Rules kullanabilir (ADC için desteklenen tüm Firebase ürünlerinin listesine bakın).
- Firebase Security Rules başlangıçta varsayılan olarak tüm erişim isteklerini reddedecek şekilde ayarlanır. Ardından, Uygulama Geliştirici bu şablonu kendi dağıtımı için kullandığında, bu Security Rules değerlerini gerekli erişim modeliyle uyumlu olacak şekilde değiştirebilir.
Politikaları tanımlayın.
Dağıtılan altyapı için IAM rolleri veya kaynaklar için izin verilen bölgeler gibi politikalar tanımlamak istiyorsanız bunları ilgili politika arayüzlerinde ayarlamanız gerekir. ADC şu anda şablon düzeyinde politikalar tanımlamayı desteklememektedir.
Proje üyelerine, yapmalarını istediğiniz işlemlere bağlı olarak belirli Firebase IAM rolleri atayabilirsiniz. Örneğin, üyelerin yalnızca Firebase konsolundaki kaynakları görüntülemesi gerekiyorsa onlara Firebase Görüntüleyici rolünü (
roles/firebase.viewer) atayın.Kaynaklar için klasör veya kuruluş düzeyinde bölge sınırlamaları belirleyebilirsiniz.
Şablonu kataloga ekleyin.
Şablonunuzu test ettikten sonra ekibinizin ADC kataloğuna ekleyin. Bu katalog, özellikle uygulama geliştiricilerle paylaşılmalıdır. Böylece, şablonları kullanabilirler (yukarıdaki 1. adım: ADC'ı ayarlayın bölümüne bakın).
3. adım: Şablon kullanın (uygulama geliştirici)
Uygulama Geliştiricisi personası, önceden tanımlanmış bir şablon seçer, bunu kendi özel kullanım alanına göre yapılandırır ve ardından altyapıyı dağıtır.
Bir şablon seçip yapılandırın.
ADC kataloğundan bir şablon seçin ve uygulama taslağı oluşturmak için yapılandırın. Kullanılabilir yapılandırmalar (ör. kaynaklar için olası bölgeler), şablonu oluştururken Platform Mühendisi tarafından belirlenenlerle sınırlıdır.
Altyapıyı dağıtın.
Uygulama taslağı oluşturulduktan sonra, altyapı dağıtımı için oluşturulan önceden sağlanmış projelerden birine ADC uygulamayı dağıtın (yukarıdaki 1. Adım: AyarlamaADC bölümüne bakın).
Firebase konsolunu ziyaret edip projeniz için sağlanan kaynakları ve etkinleştirilen hizmetleri görüntüleyebilirsiniz.
4. adım: Gerçek uygulamanızı geliştirin (Uygulama Geliştirici)
ADC, Firebase'in ve Google Cloud altyapının (ör. kaynak sağlama ve API'leri etkinleştirme) ayarlanmasına yardımcı olur. Ancak bu kaynakları ve API'leri kullanan gerçek uygulamanın kodlamasını yapmaz.
Uygulama Geliştirici personasının yapması gereken bazı önemli işlemler şunlardır:
Uygulamanızın kod tabanını Firebase'e bağlayın.
Firebase yapılandırmasını alıp her uygulamanın kod tabanına ekleyin.
Örneğin, şablon bir Android uygulamasına izin veriyorsa
google-services.jsondosyasını Android projenizdeki uygun dizine eklemeniz gerekir.Kodu ve kaynakları uyumlu tutun.
(Cloud Firestore kullanılıyorsa) Firebase Security Rules'ü, uygulama için Cloud Firestore veri modeliyle uyumlu olacak şekilde güncelleyip yayınladığınızdan emin olun.
Başka ne yapabilirsin?
- Uygulama Merkezi'ne otomatik olarak kaydedilen dağıtılmış ADC "uygulamaları" izleyin. Bu sayede, daha geniş Google Cloud dağıtımları bağlamında Firebase kaynakları için birleştirilmiş izleme, maliyet gözlemi ve sorun giderme yapılabilir.