Tìm hiểu về tính năng Lưu trữ ứng dụng và cách tính năng này hoạt động

App Hosting xử lý một loạt các tác vụ phức tạp ở chế độ nền để đơn giản hoá việc triển khai ứng dụng của bạn. Trang này mô tả các phần chính của quy trình tác vụ đó, cung cấp thông tin về những điểm mà bạn có thể muốn tuỳ chỉnh quy trình tuỳ thuộc vào nhu cầu của ứng dụng.

Các thuật ngữ và định nghĩa chính

Để hiểu rõ chi tiết về quy trình App Hosting, bạn nên xác định một số thuật ngữ một cách cụ thể. Sau đây là các thuật ngữ cơ bản:

  • Phụ trợ: Tập hợp các tài nguyên được quản lý mà App Hosting tạo để xây dựng và chạy ứng dụng web của bạn.
  • Bản dựng: Một bản sửa đổi cụ thể của ứng dụng, thường được liên kết với một cam kết git. Quy trình tạo bản dựng có nhiều quy trình con, đáng chú ý là việc tạo ứng dụng của bạn trong Cloud Buildviệc triển khai một bản sửa đổi (ban đầu phân phát 0% lưu lượng truy cập cho đến khi được triển khai) trong Cloud Run.
  • Triển khai: Quá trình thiết lập một bản dựng để chủ động phân phát lưu lượng truy cập. Khi được kích hoạt tự động bằng một lệnh cam kết git, App Hosting trước tiên sẽ tạo một bản dựng bằng cách sử dụng nhánh trực tiếp của bạn, sau đó tạo một bản phát hành công khai để chuyển hướng lưu lượng truy cập trực tiếp đến bản dựng đó.
  • Nhánh trực tiếp: Nhánh của kho lưu trữ GitHub được triển khai vào URL trực tiếp của bạn. Thường thì đây là nhánh mà các nhánh tính năng hoặc nhánh phát triển được hợp nhất.

Kiến trúc của Google Cloud và App Hosting

App Hosting điều phối một nhóm sản phẩm của Google Cloud để bạn có thể triển khai, phân phát và giám sát ứng dụng web của mình. Các ứng dụng được tạo bằng Cloud Build, phân phát trên Cloud Run và lưu vào bộ nhớ đệm trong Cloud CDN. Các dịch vụ tích hợp như Cloud Secret Manager giúp khoá API của bạn luôn an toàn.

Sơ đồ về cấu trúc được mô tả trong trang này.

  1. Khi một cam kết được chuyển đến nhánh trực tiếp của bạn, Google Cloud Developer Connect sẽ gửi một sự kiện đến Firebase App Hosting.
  2. Để phản hồi sự kiện này, Firebase App Hosting sẽ tạo một bản dựng mới cho phần phụ trợ được kết nối với kho lưu trữ.
    1. Trước tiên, Firebase App Hosting sẽ tạo một bản dựng Cloud Build mới cho cam kết của bạn. Trong quy trình này, gói bản dựng Google Cloud sẽ xác định khung đang được dùng trong ứng dụng của bạn để tạo một vùng chứa và cấu hình (bao gồm cả các biến môi trường, bí mật, số lượng phiên bản tối thiểu hoặc tối đa, bộ nhớ đồng thời, CPU và cấu hình VPC) phù hợp với ứng dụng của bạn. Hãy xem quy trình tạo App Hosting để biết thêm thông tin.
    2. Khi công việc Cloud Build hoàn tất, vùng chứa của bạn sẽ được lưu trữ trong một kho lưu trữ Artifact Registry dành riêng cho Firebase App Hosting. Sau đó, Firebase App Hosting sẽ thêm một Bản sửa đổi Cloud Run mới vào dịch vụ Cloud Run bằng hình ảnh và cấu hình của bạn.
  3. Sau khi Cloud Run Sửa đổi hoàn tất và được xác minh là hoạt động bình thường, Firebase App Hosting sẽ sửa đổi cấu hình lưu lượng truy cập để chuyển tất cả các yêu cầu mới đến Cloud Run Sửa đổi mới của bạn. Đến đây là quá trình triển khai đã hoàn tất.
  4. Khi một yêu cầu được gửi đến một trang web được lưu trữ trên Firebase App Hosting, yêu cầu đó sẽ được Trình cân bằng tải của Google Cloud xử lý khi Cloud CDN được bật. Các yêu cầu chưa được lưu vào bộ nhớ đệm sẽ được gửi đến dịch vụ Cloud Run của bạn. Xem phần Lưu nội dung ứng dụng vào bộ nhớ đệm để biết hướng dẫn về cách tối ưu hoá hiệu suất bằng Cloud CDN.

Tích hợp khuôn khổ

App Hosting cung cấp tính năng hỗ trợ tạo và triển khai được định cấu hình sẵn cho các ứng dụng web được phát triển trong những khung sau:

  • Next.js 13.5.x trở lên
  • Angular 18.2.x trở lên

Hãy xem lịch hỗ trợ để biết thông tin chi tiết về các phiên bản và mức hỗ trợ cụ thể.

Ngoài Next.js và Angular, App Hosting cũng hỗ trợ mọi khung web có thể cung cấp đầu ra bản dựng phù hợp với quy cách gói đầu ra của chúng tôi. Hãy xem Các khung và công cụ cho App Hosting để biết thêm thông tin về các khung, bộ chuyển đổi khung và công cụ liên quan được App Hosting hỗ trợ.

Cách hoạt động của tính năng tích hợp kho lưu trữ App Hosting

Mối kết nối quan trọng giữa kho lưu trữ GitHub và phần phụ trợ App Hostingđược xử lý bằng Developer Connect, nền tảng kết nối của Google Cloud cho các công cụ DevOps bên ngoài. Trong quá trình tạo một phần phụ trợ App Hosting, quy trình làm việc trên giao diện người dùng của Developer Connect sẽ hướng dẫn bạn cài đặt ứng dụng Firebase GitHub. Các bước chính trong quy trình này là:

  1. Bạn cấp cho Developer Connect vai trò Quản trị viên Secret Manager. Điều này cho phép hệ thống lưu trữ thông tin đăng nhập một cách an toàn dưới dạng "khoá bí mật" trong Cloud Secret Manager.
  2. Bạn uỷ quyền cho ứng dụng Firebase GitHub truy cập vào kho lưu trữ GitHub. Bạn có thể cần thêm quyền trên GitHub để truy cập vào đúng kho lưu trữ.
  3. Developer Connect lưu trữ một mã uỷ quyền GitHub chuyên dụng trong kho lưu trữ trình quản lý bí mật của dự án; đừng sửa đổi hoặc xoá mã thông báo này.

Ngoài ra, App Hosting tích hợp với API kiểm tra của GitHub để cung cấp một quy trình kiểm tra cho các bản phát hành công khai. Thao tác kiểm tra này cho phép bạn xem trạng thái triển khai trên GitHub và gỡ lỗi quy trình triển khai trong trường hợp có lỗi.

Tích hợp với Firebase và các dịch vụ khác của Google

App Hosting thiết lập cả môi trường bản dựng và thời gian chạy để bạn có thể khởi chạy Firebase Admin SDK bằng Thông tin đăng nhập mặc định của ứng dụng Google. Nhờ đó, phần phụ trợ của bạn có thể giao tiếp với các sản phẩm khác của Firebase ở cả thời gian xây dựng và thời gian chạy. Hãy xem phần Tích hợp SDK Firebase vào ứng dụng web để biết thêm thông tin về cách khởi chạy ứng dụng và các chủ đề khác liên quan đến SDK Firebase.

App Hosting địa điểm

App Hosting tạo tài nguyên phụ trợ của bạn ở một vị trí cụ thể, được gọi là khu vực chính của bạn. Mặc dù App Hosting tích hợp với một CDN toàn cầu để phân phối nhanh, nhưng nội dung chưa được lưu vào bộ nhớ đệm sẽ được phân phát từ khu vực chính của ứng dụng. Tính linh hoạt này trong vị trí của ứng dụng web mang lại những lợi thế chính sau:

  • Cải thiện hiệu suất và giảm độ trễ bằng cách đưa dữ liệu đến gần người dùng hơn về mặt địa lý.
  • Sự cố nghiêm trọng đối với App Hosting ở một khu vực sẽ không ảnh hưởng đến các ứng dụng web được triển khai ở những khu vực khác.

Bạn có thể chọn bất kỳ khu vực nào trong số này khi tạo một phần phụ trợ App Hosting từ bảng điều khiển hoặc CLI Firebase:

  • us-central1 (Iowa)
  • asia-east1 (Đài Loan)
  • europe-west4 (Hà Lan)

Tài khoản dịch vụ phụ trợ App Hosting

Trong quá trình tạo và trong thời gian chạy, phần phụ trợ App Hosting của bạn sẽ xác thực với các dịch vụ khác của Google bằng tài khoản dịch vụ. Tài khoản dịch vụ mặc định cho các mục đích này sẽ được tạo vào lần đầu tiên bạn bật App Hosting trong một dự án Firebase:

firebase-app-hosting-compute@PROJECT ID.iam.gserviceaccount.com

Theo mặc định, tài khoản dịch vụ này áp dụng cho tất cả các phần phụ trợ và có một bộ quyền tối thiểu để cho phép bạn tạo, chạy và giám sát ứng dụng của mình. Tài khoản này cũng có quyền xác thực Admin SDK bằng Thông tin đăng nhập mặc định của ứng dụng, để thực hiện các thao tác như tải dữ liệu từ Cloud Firestore. Xem các vai trò App Hosting trên Firebase.

Nếu ứng dụng của bạn cần tương tác với các dịch vụ bổ sung của Google tại thời điểm tạo hoặc từ một phụ trợ đang chạy, bạn có thể tuỳ chỉnh tài khoản dịch vụ mặc định bằng cách thêm các vai trò. Ví dụ: nếu ứng dụng của bạn yêu cầu quyền đối với Vertex AI, thì bạn có thể cần thêm roles/aiplatform.user hoặc một số vai trò liên quan.