Pierwsze kroki z App Design Center (ADC) i Firebase

Firebase integruje się z Application Design Center (ADC) z Google Cloud aby umożliwić klientom korporacyjnym spełnianie wymagań dotyczących standaryzacji i zarządzania, a jednocześnie dać deweloperom aplikacji możliwość szybkiego wdrażania. Korzystanie z ADC zapewnia, że infrastruktura jest zgodna ze standardami organizacyjnymi i sprawdzonymi metodami dzięki wstępnie zdefiniowanym szablonom, które określają wytyczne dotyczące udostępniania zasobów, przyznawania uprawnień itp.

Na tej stronie dowiesz się więcej o tych kwestiach:

Omówienie ADC i Firebase

Aby zapoznać się z omówieniem ADC, przeczytaj dokumentację Google Cloud. Dokumentacja Google Cloud zawiera też kilka szczegółowych przewodników dotyczących ADC, w tym opis najważniejszych pojęć i przewodnik po wstępnej konfiguracji.

W przypadku korzystania z ADC „aplikacja” jest definiowana jako logiczne grupowanie zasobów i usług, które razem realizują funkcję biznesową. Deweloperzy Firebase mogą traktować ADC „aplikację” jako odpowiednik projektu w Firebase , w którym zarejestrowane aplikacje na iOS, Androida i aplikacje internetowe mają dostęp do tych samych zasobów i usług.

Na początek zalecamy korzystanie z ADC za pomocą interfejsu graficznego o nazwie płótno projektowe który jest dostępny w konsoli Google Cloud. Płótno projektowe umożliwia wizualizację i tworzenie diagramów architektury infrastruktury, która ma być dostępna dla Twoich aplikacji.

Pamiętaj, że ADC jest obsługiwane przez Terraform, więc zawsze będziesz mieć dostęp do definicji kodu infrastruktury zdefiniowanej za pomocą ADC.

Obsługiwane usługi Firebase

Oto początkowy zestaw obsługiwanych usług Firebase, których można używać z ADC:

Główne role w ADC

Aby zrozumieć i używać ADC, możesz podzielić zadania związane z ADC na 2 role:

  • Inżynier platformy: ta rola projektuje, weryfikuje i publikuje szablony ADC wielokrotnego użytku, które są zgodne z zasadami, w katalogu ADC.

  • Programista aplikacji: ta rola używa opublikowanych ADC szablonów (np. z katalogu ADC zespołu) do konfigurowania i wdrażania infrastruktury. Tworzą też rzeczywistą bazę kodu aplikacji i jej funkcje.

Wymagane role uprawnień do kontrolowania dostępu

Przypisując role uprawnień, możesz kontrolować, którzy członkowie projektu (lub podmioty zabezpieczeń) mogą wykonywać określone zadania.

Możesz na przykład przypisać rolę Administrator App Design Center (roles/designcenter.admin) inżynierowi platformy, który musi tworzyć i przypisywać przestrzenie, zarządzać katalogami oraz projektować szablony. Jednak programiście aplikacji prawdopodobnie przypiszesz tylko rolę Edytujący aplikację (roles/designcenter.applicationEditor), aby mógł używać szablonów, ale nie tworzyć ich.

W tabeli poniżej znajdziesz opis zadań związanych z ADC-related , ich przeznaczenie oraz wymagane role:

Działanie Rola Rola uprawnień 1
Tworzenie szablonów i zarządzanie nimi
Zarządzanie pełnym cyklem życia ADC
(w tym zarządzanie przestrzeniami, katalogami, szablonami, konfigurowanie i wdrażanie aplikacji)
Inżynier platformy Administrator App Design Center
(roles/designcenter.admin) w projekcie zarządzania
Tworzenie szablonów i zarządzanie nimi oraz konfigurowanie i wdrażanie aplikacji Inżynier platformy Użytkownik App Design Center
(roles/designcenter.user) w projekcie zarządzania
Tworzenie konta usługi na potrzeby wdrażania ADC aplikacji
Tworzenie kont usługi Inżynier platformy Tworzenie kont usługi
(roles/iam.serviceAccountCreator) w projekcie zarządzania
Przyznawanie kontu usługi dostępu do projektu używanego do ADC wdrażania Inżynier platformy Administrator uprawnień projektu
(roles/resourcemanager.projectIamAdmin) w projekcie wdrożenia
Konfigurowanie i wdrażanie ADC aplikacji
Kontrolowanie pełnego cyklu życia aplikacji
(w tym integracja z kodem źródłowym i systemami CI/CD)
Programista aplikacji Administrator aplikacji
(roles/designcenter.applicationAdmin) w projekcie zarządzania
Konfigurowanie i wdrażanie aplikacji na podstawie istniejących szablonów i połączeń skonfigurowanych przez administratora Programista aplikacji Edytujący aplikację
(roles/designcenter.applicationEditor) w projekcie zarządzania

1 Kilka z tych ról musi być ustawionych w projekcie zarządzania, który jest zasobem najwyższego poziomu w hierarchii Google Cloud.

Ogólny przepływ pracy

W tej sekcji opisujemy ogólny przepływ pracy związany z tworzeniem i używaniem szablonu ADC. Poszczególne kroki są oznaczone rolą, która zwykle wykonuje dany krok.

  1. Krok 1. Skonfiguruj ADC (inżynier platformy)
  2. Krok 2. Utwórz szablon (inżynier platformy)
  3. Krok 3. Użyj szablonu (programista aplikacji)
  4. Krok 4. Utwórz rzeczywistą aplikację (programista aplikacji)

Krok 1. Skonfiguruj ADC (inżynier platformy)

Aby skonfigurować ADC, inżynier platformy (lub osoba z wyższymi uprawnieniami) wykonuje te zadania. Zwykle wystarczy wykonać te zadania tylko raz, aby skonfigurować wszystko do korzystania z ADC

  1. Wstępna ADC konfiguracja.

    Postępuj zgodnie z instrukcjami i wskazówkami w przewodniku po wstępnej konfiguracji dla ADC w dokumentacji Google Cloud. Pamiętaj, że w tym przewodniku przyjęto założenie, że skonfigurujesz granice na poziomie folderu.

    Po zakończeniu konfiguracji powinna być dostępna przestrzeń, czyli obszar przeznaczony do współpracy zespołu, tworzenia szablonów i wdrażania aplikacji. Upewnij się, że ta przestrzeń (oraz folder i katalog) jest udostępniona wszystkim osobom, które mają pracować z ADC.

  2. Skonfiguruj dostęp i użytkowników przestrzeni.

    Postępuj zgodnie z instrukcjami w artykule Zarządzanie użytkownikami przestrzeni dla ADC w dokumentacji Google Cloud. Postępuj zgodnie ze wskazówkami podanymi wcześniej na tej stronie w sekcji Wymagane role uprawnień do kontrolowania dostępu.

  3. Wstępnie udostępnij projekty.

    Utwórz w folderze co najmniej 1 nowy projekt Google Cloud. Upewnij się, że z tymi projektami jest połączone konto Cloud Billing. Te projekty będą używane przez programistę aplikacji podczas wdrażania infrastruktury zdefiniowanej w szablonie.

  4. Skonfiguruj konto usługi wdrożenia.

    ADC zarządza automatycznym udostępnianiem zasobów za pomocą konta usługi o ograniczonym zakresie. Dzięki temu programista aplikacji nie może używać własnego konta do wdrażania infrastruktury.

    ADC może automatycznie utworzyć w Twoim imieniu konto usługi o ograniczonym zakresie podczas testowania wdrażania utworzonych szablonów. Możesz też użyć własnego konta usługi, które ma uprawnienia uznane przez Ciebie za odpowiednie dla programistów aplikacji.

Krok 2. Utwórz szablon (inżynier platformy)

Inżynier platformy używa płótna projektowego lub nawet Gemini Cloud Assist do utworzenia nowego ADC szablonu.

  1. Zdefiniuj zasoby.

    Za pomocą płótna projektowego przeciągnij komponenty na płótno i utwórz między nimi połączenia. Te komponenty określają, z których usług Firebase (i Google Cloud) mają korzystać programiści aplikacji.

    Szablon może na przykład definiować te zasoby:

    • Programiści aplikacji mogą tworzyć aplikacje na iOS, Androida i aplikacje internetowe, które korzystają z tych zasobów.
    • Programiści aplikacji mogą używać Firebase AI Logic, Firebase Authentication, Cloud Firestore i Firebase Security Rules w swoich aplikacjach (zobacz a listę wszystkich obsługiwanych usług Firebase w ADC).
    • Firebase Security Rules są domyślnie ustawione tak, aby odrzucać wszystkie żądania dostępu. Gdy programista aplikacji użyje tego szablonu do własnego wdrożenia, będzie mógł zmienić te Security Rules aby dostosować do wymaganego modelu dostępu.
  2. Zdefiniuj zasady.

    Jeśli chcesz zdefiniować zasady, np. role uprawnień dla wdrożonej infrastruktury lub dozwolone regiony dla zasobów, musisz je ustawić w odpowiednich interfejsach tych zasad. ADC nie obsługuje obecnie definiowania zasad na poziomie szablonu.

    Możesz przypisać członkom projektu określone role uprawnień Firebase IAM w zależności od tego, co mają robić. Jeśli na przykład mają tylko wyświetlać zasoby w Firebase konsoli, przypisz im rolę Przeglądający Firebase (roles/firebase.viewer).

    Ograniczenia regionalne dla zasobów możesz ustawić na poziomie folderu lub organizacji.

  3. Dodaj szablon do katalogu.

    Po przetestowaniu szablonu dodaj go do katalogu ADC swojego zespołu. Ten katalog musi być udostępniony odpowiednim osobom, w szczególności programistom aplikacji, aby mogli oni używać szablonów (patrz Krok 1. Skonfiguruj ADC powyżej).

Krok 3. Użyj szablonu (programista aplikacji)

Programista aplikacji wybiera wstępnie zdefiniowany szablon, konfiguruje go pod kątem konkretnego przypadku użycia, a następnie wdraża infrastrukturę.

  1. Wybierz szablon i skonfiguruj go.

    W katalogu ADC wybierz szablon i skonfiguruj go, aby utworzyć wersję roboczą aplikacji. Dostępne konfiguracje, np. możliwe regiony dla zasobów, są ograniczone do tych, które zostały ustawione przez inżyniera platformy podczas tworzenia szablonu.

  2. Wdróż infrastrukturę.

    Po utworzeniu wersji roboczej aplikacji wdróż aplikację ADC w jednym z wstępnie udostępnionych projektów utworzonych na potrzeby wdrożenia infrastruktury (patrz Krok 1. Skonfiguruj ADC powyżej).

    Możesz otworzyć Firebase konsolę i wyświetlić udostępnione zasoby oraz włączone usługi w projekcie.

Krok 4. Utwórz rzeczywistą aplikację (programista aplikacji)

ADC pomaga skonfigurować Firebase i Google Cloud infrastrukturę (np. udostępnić zasoby i włączyć interfejsy API). Jednak nie koduje rzeczywistej aplikacji, która korzysta z tych zasobów i interfejsów API.

Oto kilka ważnych czynności, które musi wykonać programista aplikacji:

  1. Połącz bazę kodu aplikacji z Firebase.

    Pobierz konfigurację Firebase, a następnie dodaj ją do bazy kodu każdej aplikacji.

    Jeśli na przykład szablon zezwala na aplikację na Androida, musisz dodać plik google-services.json do odpowiedniego katalogu w projekcie aplikacji na Androida.

  2. Zadbaj o spójność kodu i zasobów.

    (Jeśli używasz Cloud Firestore) Zaktualizuj i opublikuj Firebase Security Rules, aby były zgodne z modelem danych Cloud Firestore w aplikacji.

Co jeszcze możesz zrobić?

  • Monitoruj wdrożone ADC „aplikacje”, które są automatycznie rejestrowane w Centrum aplikacji. Umożliwia to skonsolidowane monitorowanie, obserwowanie kosztów i rozwiązywanie problemów z zasobami Firebase w kontekście szerszych Google Cloud wdrożeń.