Начните работу с Application Design Center (ADC) и Firebase.

Firebase интегрируется с Application Design Center ( ADC ) от Google Cloud , позволяя корпоративным клиентам удовлетворять потребности в стандартизации и управлении, а также предоставляя разработчикам приложений возможность быстро выпускать новые приложения. Использование ADC гарантирует соответствие инфраструктуры организационным стандартам и передовым практикам благодаря предопределенным шаблонам , которые определяют ограничения для выделения ресурсов, предоставления разрешений IAM и т. д.

На этой странице вы узнаете о следующем:

Обзор ADC и Firebase

Мы рекомендуем ознакомиться с документацией Google Cloud для получения общего представления об ADC . В документации Google Cloud также содержится несколько подробных руководств по ADC , включая ключевые понятия и руководство по первоначальной настройке .

При использовании ADC «приложение» определяется как логическая группа ресурсов и сервисов, которые вместе выполняют бизнес-функцию. Для разработчиков Firebase «приложение» ADC можно рассматривать как эквивалент проекта Firebase , где зарегистрированные приложения для iOS, Android и веб-приложения совместно используют одни и те же ресурсы и сервисы для всего проекта.

Для начала мы рекомендуем работать с ADC используя их графический интерфейс пользователя, называемый « холст проектирования» , который доступен в консоли Google Cloud . Холст проектирования позволяет визуализировать и создавать архитектурные схемы инфраструктуры, которую вы хотите использовать для своих приложений.

Обратите внимание, что ADC работает на базе Terraform, поэтому у вас всегда будет доступ к коду инфраструктуры, определенной с помощью ADC .

Поддерживаемые продукты Firebase

Вот первоначальный список поддерживаемых продуктов Firebase, которые можно использовать с ADC :

Ключевые пользователи ADC

Распространенный способ понять и использовать ADC — это разбить задачи, связанные с ADC на две категории пользователей:

  • Инженер платформы : Этот специалист разрабатывает, проверяет и публикует многократно используемые шаблоны ADC с соблюдением политик в каталоге ADC .

  • Разработчик приложений : Этот специалист использует опубликованные шаблоны ADC (например, из каталога ADC команды) для настройки и развертывания инфраструктуры. Он также разрабатывает код и функциональные возможности приложения.

Необходимые роли IAM для управления доступом

Назначая роли в системе управления идентификацией и доступом (IAM), вы можете контролировать, какие участники проекта (или субъекты ) могут выполнять определенные задачи.

Например, вы можете назначить роль администратора центра проектирования приложений ( roles/designcenter.admin ) инженеру платформы, которому необходимо создавать и назначать пространства, управлять каталогами и шаблонами дизайна. Однако роль редактора приложений ( roles/designcenter.applicationEditor ) вы, скорее всего, назначите разработчику приложений только для того, чтобы он мог использовать шаблоны, но не создавать их.

В следующей таблице описаны задачи, связанные с ADC , их целевая аудитория и необходимые для них роли:

Задача Персона Роль IAM 1
Создавайте и управляйте шаблонами.
Управление полным жизненным циклом ADC
(включая управление пространствами, каталогами, шаблонами, настройку и развертывание приложений)
Инженер платформы Администратор Центра проектирования приложений
( roles/designcenter.admin ) в проекте управления
Создавайте и управляйте шаблонами, а также настраивайте и развертывайте приложения. Инженер платформы Пользователь Центра проектирования приложений
( roles/designcenter.user ) в проекте управления
Создайте учетную запись службы для развертывания приложений ADC
Создание учетных записей служб Инженер платформы Создание учетных записей служб
( roles/iam.serviceAccountCreator ) в проекте управления
Grant a service account access to a project used for ADC deployment Инженер платформы Администратор проекта IAM
( roles/resourcemanager.projectIamAdmin ) в проекте развертывания
Настройка и развертывание приложений ADC
Контролируйте весь жизненный цикл приложения.
(включая интеграцию с исходным кодом и системами CI/CD)
Разработчик приложений Администратор приложения
( roles/designcenter.applicationAdmin ) в проекте управления
Настраивайте и развертывайте приложения на основе существующих шаблонов и подключений, созданных администратором. Разработчик приложений Редактор приложений
( roles/designcenter.applicationEditor ) в проекте управления

1. Некоторые из этих ролей необходимо назначить руководителю проекта , который является ресурсом высшего уровня в иерархии Google Cloud .

Общий рабочий процесс

В этом разделе описывается общий алгоритм создания и использования шаблона ADC . Шаги помечены в соответствии с ролью пользователя, который обычно выполняет данный шаг.

  1. Шаг 1: Настройка ADC (инженера платформы)
  2. Шаг 2: Создайте шаблон (Инженер платформы)
  3. Шаг 3: Используйте шаблон (разработчик приложений)
  4. Шаг 4: Разработка самого приложения (Разработчик приложений)

Шаг 1 : Настройка ADC (инженера платформы)

Эти задачи по настройке ADC выполняет специалист с должностью инженера платформы (или выше). Как правило, эти задачи достаточно выполнить один раз, чтобы всё было готово к использованию ADC .

  1. Первоначальная настройка ADC .

    Следуйте инструкциям и рекомендациям в руководстве по первоначальной настройке ADC в документации Google Cloud . Обратите внимание, что в этом руководстве предполагается, что вы настроите границы на уровне папок .

    После завершения этой настройки у вас должно появиться пространство , представляющее собой выделенную область для совместной работы команды, создания шаблонов и развертывания приложений. Убедитесь, что это пространство (а также папка и каталог) доступны всем, с кем вы хотите работать в ADC .

  2. Настройте доступ и учетных записей пользователей для этого пространства.

    Следуйте инструкциям в разделе «Управление пользователями пространства для ADC в документации Google Cloud . Используйте рекомендации, описанные ранее на этой странице, о необходимых ролях IAM для управления доступом .

  3. Проекты предварительного обеспечения.

    Создайте один или несколько новых проектов Google Cloud в этой папке. Убедитесь, что вы связали учетную запись Cloud Billing с этими проектами. Эти проекты будут использоваться вашим разработчиком приложений при развертывании инфраструктуры, определенной в шаблоне.

  4. Настройте учетную запись службы развертывания.

    ADC управляет автоматическим выделением ресурсов с помощью узкоспециализированной учетной записи службы. Это предотвращает использование разработчиком приложений собственной учетной записи для развертывания инфраструктуры.

    ADC может автоматически создать для вас узкоспециализированную учетную запись службы при тестировании развертывания созданных вами шаблонов. Вы также можете использовать собственную учетную запись службы с правами, которые считаете подходящими для разработчиков приложений.

Шаг 2 : Создайте шаблон (Инженер платформы)

Специалист по платформенной инженерии использует холст проектирования или даже Gemini Cloud Assist для создания нового шаблона ADC .

  1. Определите ресурсы.

    Используя холст для проектирования, перетаскивайте компоненты на холст и создавайте между ними связи. Эти компоненты позволяют определить, какие сервисы Firebase (и Google Cloud ) должны использовать разработчики приложений.

    Например, шаблон может определять ресурсы следующим образом:

    • Разработчики приложений могут создавать приложения для iOS, Android и веб-приложения, использующие эти ресурсы.
    • Разработчики приложений могут использовать Firebase AI Logic , Firebase Authentication , Cloud Firestore и Firebase Security Rules в своих приложениях (см. список всех поддерживаемых продуктов Firebase для ADC ).
    • Firebase Security Rules изначально настроены на отклонение всех запросов доступа по умолчанию. Затем, когда разработчик приложения использует этот шаблон для собственного развертывания, он сможет изменить эти Security Rules в соответствии со своей требуемой моделью доступа.
  2. Определите политику.

    Если вы хотите определить политики, такие как роли IAM для развернутой инфраструктуры или разрешенные регионы для ресурсов, вам необходимо установить их в соответствующих интерфейсах для этих политик. В настоящее время ADC не поддерживает определение политик на уровне шаблонов.

    Вы можете назначать участникам проекта определенные роли Firebase IAM в зависимости от того, какие функции вы хотите им предоставить. Например, если им нужно только просматривать ресурсы в консоли Firebase , назначьте им роль Firebase Viewer ( roles/firebase.viewer ).

    Вы можете установить региональные ограничения для ресурсов на уровне папки или организации.

  3. Добавьте шаблон в каталог.

    После тестирования шаблона добавьте его в каталог ADC вашей команды. Этот каталог необходимо предоставить соответствующим лицам, в частности разработчикам приложений, чтобы они могли использовать шаблоны (см. Шаг 1: Настройка ADC выше).

Шаг 3 : Используйте шаблон (разработчик приложений)

Разработчик приложений выбирает предопределенный шаблон, настраивает его под конкретный сценарий использования, а затем развертывает инфраструктуру.

  1. Выберите шаблон и настройте его.

    В каталоге ADC выберите шаблон и настройте его для создания черновика приложения . Доступные конфигурации — например, возможные регионы для ресурсов — ограничены теми, которые были заданы инженером платформы при создании шаблона.

  2. Разверните инфраструктуру.

    После создания черновика приложения разверните приложение ADC в одном из предварительно подготовленных проектов, созданных для развертывания инфраструктуры (см. Шаг 1: Настройка ADC выше).

    Вы можете перейти в консоль Firebase и просмотреть выделенные ресурсы и включенные сервисы для вашего проекта.

Шаг 4 : Разработка самого приложения (Разработчик приложений)

ADC помогает настраивать инфраструктуру Firebase и Google Cloud (например, выделять ресурсы и включать API). Однако он не занимается написанием кода для самого приложения, использующего эти ресурсы и API.

Вот несколько важных задач, которые должен выполнить разработчик приложений:

  1. Подключите кодовую базу вашего приложения к Firebase.

    Получите и добавьте конфигурацию Firebase в код каждого приложения.

    Например, если шаблон допускает создание Android-приложения, то необходимо добавить файл google-services.json в соответствующую директорию вашего Android-проекта.

  2. Обеспечьте согласованность кода и ресурсов.

    (Если используется Cloud Firestore ) Убедитесь, что вы обновили и опубликовали Firebase Security Rules в соответствии с моделью данных Cloud Firestore для приложения.

Что еще можно сделать?

  • Мониторинг развернутых приложений ADC , которые автоматически регистрируются в App Hub. Это позволяет осуществлять консолидированный мониторинг, отслеживание затрат и устранение неполадок ресурсов Firebase в контексте более масштабных развертываний Google Cloud .