Bắt đầu sử dụng Application Design Center (ADC) và Firebase

Firebase tích hợp với Application Design Center (ADC) của Google Cloud để giúp khách hàng doanh nghiệp đáp ứng các nhu cầu về tiêu chuẩn hoá và quản trị, đồng thời hỗ trợ nhà phát triển ứng dụng của họ phát hành ứng dụng nhanh chóng. Việc sử dụng ADC đảm bảo rằng cơ sở hạ tầng tuân thủ các tiêu chuẩn và phương pháp hay nhất của tổ chức thông qua mẫu được xác định trước, trong đó xác định các biện pháp bảo vệ để cấp tài nguyên, cấp quyền IAM, v.v.

Trên trang này, bạn có thể tìm hiểu về những nội dung sau:

Tổng quan về ADC và Firebase

Bạn nên xem tài liệu về Google Cloud để biết thông tin tổng quan về ADC. Tài liệu về Google Cloud cũng cung cấp một số hướng dẫn chuyên sâu về ADC, bao gồm cả các khái niệm chính và hướng dẫn thiết lập ban đầu.

Khi sử dụng ADC, "ứng dụng" được định nghĩa là một nhóm logic gồm các tài nguyên và dịch vụ cùng nhau cung cấp một chức năng kinh doanh. Đối với nhà phát triển Firebase, bạn có thể coi một ADC "ứng dụng" tương đương với một dự án Firebase, trong đó các ứng dụng iOS, Android và ứng dụng web đã đăng ký của bạn đều dùng chung và có quyền truy cập vào tất cả tài nguyên và dịch vụ giống nhau cho dự án.

Để bắt đầu, bạn nên làm việc với ADC bằng cách sử dụng trải nghiệm GUI của họ có tên là khung vẽ thiết kế có trong bảng điều khiển Google Cloud. Khung vẽ thiết kế cho phép bạn trực quan hoá và tạo sơ đồ cấu trúc của cơ sở hạ tầng mà bạn muốn cung cấp cho ứng dụng của mình.

Xin lưu ý rằng ADC được Terraform hỗ trợ, vì vậy, bạn sẽ luôn có quyền truy cập vào định nghĩa mã của cơ sở hạ tầng được xác định bằng ADC.

Các sản phẩm Firebase được hỗ trợ

Dưới đây là nhóm sản phẩm Firebase ban đầu được hỗ trợ và có thể dùng với ADC:

Các đối tượng chính sử dụng ADC

Một cách phổ biến để hiểu và sử dụng ADC là chia nhỏ các nhiệm vụ liên quan đến ADC dựa trên hai vai trò:

  • Kỹ sư nền tảng: Người này thiết kế, xác minh và xuất bản các mẫu ADC có thể sử dụng lại và tuân thủ chính sách vào danh mục ADC.

  • Nhà phát triển ứng dụng: Người này sử dụng các mẫu ADC đã xuất bản (chẳng hạn như từ danh mục ADC của nhóm) để định cấu hình và triển khai cơ sở hạ tầng. Họ cũng phát triển cơ sở mã và các tính năng thực tế của ứng dụng.

Các vai trò IAM cần thiết để kiểm soát quyền truy cập

Bằng cách chỉ định vai trò IAM, bạn có thể kiểm soát những thành viên dự án (hoặc chủ thể) có thể thực hiện các nhiệm vụ cụ thể.

Ví dụ: bạn có thể chỉ định vai trò Quản trị viên Trung tâm thiết kế ứng dụng (roles/designcenter.admin) cho Kỹ sư nền tảng cần tạo và chỉ định không gian, quản lý danh mục và thiết kế mẫu. Tuy nhiên, bạn có thể chỉ chỉ định vai trò Người chỉnh sửa ứng dụng (roles/designcenter.applicationEditor) cho Nhà phát triển ứng dụng để họ có thể sử dụng mẫu nhưng không thể tạo mẫu.

Bảng sau đây mô tả các nhiệm vụ liên quan đến ADC, đối tượng dự kiến và vai trò bắt buộc:

Việc cần làm Đối tượng sử dụng Vai trò IAM 1
Tạo và quản lý mẫu
Quản lý toàn bộ ADC vòng đời
(bao gồm cả việc quản lý không gian, danh mục, mẫu, định cấu hình và triển khai ứng dụng)
Kỹ sư nền tảng Quản trị viên Trung tâm thiết kế ứng dụng
(roles/designcenter.admin) trên dự án quản lý
Tạo và quản lý mẫu cũng như định cấu hình và triển khai ứng dụng Kỹ sư nền tảng Người dùng Trung tâm thiết kế ứng dụng
(roles/designcenter.user) trên dự án quản lý
Tạo tài khoản dịch vụ để triển khai ứng dụng ADC
Tạo tài khoản dịch vụ Kỹ sư nền tảng Tạo tài khoản dịch vụ
(roles/iam.serviceAccountCreator) trên dự án quản lý
Cấp cho tài khoản dịch vụ quyền truy cập vào một dự án dùng để triển khai ADC Kỹ sư nền tảng Quản trị viên IAM của dự án
(roles/resourcemanager.projectIamAdmin) trên dự án triển khai
Định cấu hình và triển khai các ứng dụng ADC
Kiểm soát toàn bộ vòng đời của ứng dụng
(bao gồm cả việc tích hợp với mã nguồn và hệ thống CI/CD)
Nhà phát triển ứng dụng Quản trị viên ứng dụng
(roles/designcenter.applicationAdmin) trên dự án quản lý
Định cấu hình và triển khai ứng dụng dựa trên các mẫu và kết nối hiện có do Quản trị viên thiết lập Nhà phát triển ứng dụng Người chỉnh sửa ứng dụng
(roles/designcenter.applicationEditor) trên dự án quản lý

1 Một số vai trò trong số này cần được đặt trên dự án quản lý, đây là tài nguyên cấp cao nhất trong hệ phân cấp Google Cloud.

Quy trình công việc chung

Phần này mô tả quy trình chung để tạo và sử dụng mẫu ADC. Các bước được gắn thẻ với người dùng thường thực hiện bước đó.

  1. Bước 1: Thiết lập ADC (Kỹ sư nền tảng)
  2. Bước 2: Tạo mẫu (Kỹ sư nền tảng)
  3. Bước 3: Sử dụng mẫu (Nhà phát triển ứng dụng)
  4. Bước 4: Phát triển ứng dụng thực tế (Nhà phát triển ứng dụng)

Bước 1: Thiết lập ADC (Kỹ sư nền tảng)

Người dùng có vai trò Kỹ sư nền tảng (hoặc cao hơn) sẽ hoàn thành các nhiệm vụ này để thiết lập ADC. Thông thường, bạn chỉ cần hoàn thành các nhiệm vụ này một lần để thiết lập mọi thứ nhằm sử dụng ADC.

  1. Thiết lập ADC ban đầu.

    Làm theo các bước và hướng dẫn trong hướng dẫn thiết lập ban đầu cho ADC trong tài liệu về Google Cloud. Xin lưu ý rằng hướng dẫn này giả định rằng bạn sẽ thiết lập ranh giới cấp thư mục.

    Sau khi hoàn tất quá trình thiết lập này, bạn sẽ có một không gian, tức là một khu vực dành riêng cho nhóm để cộng tác, tạo mẫu và triển khai ứng dụng. Đảm bảo rằng không gian này (cùng với thư mục và danh mục) được chia sẻ với tất cả những người mà bạn muốn cộng tác ADC.

  2. Thiết lập quyền truy cập và người dùng cho không gian.

    Làm theo các bước trong phần Quản lý người dùng không gian cho ADC trong tài liệu về Google Cloud. Sử dụng hướng dẫn được mô tả trước đó trên trang này về Vai trò IAM bắt buộc để kiểm soát quyền truy cập.

  3. Cấp phép trước cho dự án.

    Tạo một hoặc nhiều dự án Google Cloud mới trong thư mục. Hãy đảm bảo rằng bạn liên kết một tài khoản Cloud Billing với các dự án này. Nhà phát triển ứng dụng sẽ sử dụng các dự án này khi triển khai cơ sở hạ tầng được xác định trong mẫu.

  4. Định cấu hình tài khoản dịch vụ triển khai.

    ADC quản lý việc tự động cấp tài nguyên bằng một tài khoản dịch vụ có phạm vi hẹp. Điều này ngăn Nhà phát triển ứng dụng sử dụng tài khoản của chính họ để triển khai cơ sở hạ tầng.

    ADC có thể tự động tạo một tài khoản dịch vụ có phạm vi hẹp thay mặt bạn khi bạn kiểm thử việc triển khai các mẫu mà bạn tạo. Bạn cũng có thể sử dụng tài khoản dịch vụ của riêng mình có các quyền mà bạn cho là phù hợp với Nhà phát triển ứng dụng.

Bước 2: Tạo mẫu (Kỹ sư nền tảng)

Người dùng có vai trò Kỹ sư nền tảng sử dụng khung thiết kế hoặc thậm chí là Gemini Cloud Assist để tạo mẫu ADC mới.

  1. Xác định tài nguyên.

    Sử dụng canvas thiết kế, kéo và thả các thành phần vào canvas rồi tạo kết nối giữa các thành phần đó. Các thành phần này là cách bạn xác định những dịch vụ Firebase (và Google Cloud) mà bạn muốn Nhà phát triển ứng dụng sử dụng.

    Ví dụ: mẫu có thể xác định các tài nguyên như sau:

    • Nhà phát triển ứng dụng có thể phát triển ứng dụng iOS, Android và ứng dụng web, tất cả đều sử dụng tài nguyên.
    • Nhà phát triển ứng dụng có thể sử dụng Firebase AI Logic, Firebase Authentication, Cloud Firestore và Firebase Security Rules trong ứng dụng của họ (xem danh sách tất cả các sản phẩm Firebase được hỗ trợ cho ADC).
    • Theo mặc định, Firebase Security Rules ban đầu được đặt để từ chối tất cả yêu cầu truy cập. Sau đó, khi Nhà phát triển ứng dụng sử dụng mẫu này cho quá trình triển khai của riêng họ, họ sẽ có thể thay đổi các Security Rules này cho phù hợp với mô hình truy cập mà họ yêu cầu.
  2. Xác định chính sách.

    Nếu muốn xác định các chính sách, chẳng hạn như vai trò IAM cho cơ sở hạ tầng đã triển khai hoặc các khu vực được phép cho tài nguyên, thì bạn cần đặt các chính sách đó trong giao diện tương ứng cho các chính sách đó. ADC hiện không hỗ trợ việc xác định chính sách ở cấp mẫu.

    Bạn có thể chỉ định các vai trò IAM cụ thể của Firebase cho các thành viên dự án tuỳ thuộc vào việc bạn muốn họ làm gì. Ví dụ: nếu họ chỉ cần xem tài nguyên trong bảng điều khiển Firebase, hãy chỉ định cho họ vai trò Người xem Firebase (roles/firebase.viewer).

    Bạn có thể đặt giới hạn về khu vực cho tài nguyên ở cấp thư mục hoặc cấp tổ chức.

  3. Thêm mẫu vào danh mục.

    Sau khi bạn thử nghiệm mẫu, hãy thêm mẫu đó vào danh mục ADC của nhóm. Bạn phải chia sẻ danh mục này với những người phù hợp, đặc biệt là Nhà phát triển ứng dụng để họ có thể sử dụng các mẫu (xem Bước 1: Thiết lập ADC ở trên).

Bước 3: Sử dụng mẫu (Nhà phát triển ứng dụng)

Nhà phát triển ứng dụng chọn một mẫu được xác định trước, định cấu hình mẫu đó cho trường hợp sử dụng cụ thể của họ, sau đó triển khai cơ sở hạ tầng.

  1. Chọn một mẫu rồi định cấu hình mẫu đó.

    Trong danh mục ADC, hãy chọn một mẫu và định cấu hình mẫu đó để tạo bản nháp ứng dụng. Các cấu hình có sẵn (chẳng hạn như các khu vực có thể có cho tài nguyên) chỉ giới hạn ở những cấu hình do Kỹ sư nền tảng thiết lập khi họ tạo mẫu.

  2. Triển khai cơ sở hạ tầng.

    Sau khi tạo bản nháp ứng dụng, hãy triển khai ứng dụng ADC cho một trong các dự án được cấp phép trước và được tạo để triển khai cơ sở hạ tầng (xem Bước 1: Thiết lập ADC ở trên)

    Bạn có thể truy cập vào bảng điều khiển Firebase rồi xem các tài nguyên được cấp phép và dịch vụ được bật cho dự án của mình.

Bước 4: Phát triển ứng dụng thực tế (Nhà phát triển ứng dụng)

ADC giúp thiết lập Firebase và Google Cloud cơ sở hạ tầng (như cung cấp tài nguyên và bật API). Tuy nhiên, bạn không cần lập trình ứng dụng thực tế sử dụng các tài nguyên và API đó.

Sau đây là một số việc quan trọng mà Nhà phát triển ứng dụng cần làm:

  1. Kết nối toàn bộ mã nguồn của ứng dụng với Firebase.

    Lấy rồi thêm cấu hình Firebase vào toàn bộ mã nguồn của từng ứng dụng.

    Ví dụ: nếu mẫu cho phép ứng dụng Android, thì bạn phải thêm tệp google-services.json vào thư mục thích hợp trong dự án Android.

  2. Đảm bảo mã và tài nguyên nhất quán.

    (nếu sử dụng Cloud Firestore) Hãy nhớ cập nhật và xuất bản Firebase Security Rules để phù hợp với mô hình dữ liệu Cloud Firestore cho ứng dụng.

Bạn có thể làm gì nữa?

  • Giám sát ADC "ứng dụng" đã triển khai, được tự động đăng ký trong App Hub. Điều này cho phép hợp nhất giám sát, quan sát chi phí và khắc phục sự cố cho Firebase tài nguyên trong bối cảnh triển khai Google Cloud rộng hơn.