Từ ý tưởng đến khi ra mắt: Ứng dụng đầu tiên của bạn trên Google Cloud vào năm 2025

1. Bản kế hoạch tổng thể, thiết lập nền tảng

Trước khi xây nhà, chúng ta cần đảm bảo có đất, thiết lập phương thức thanh toán cho vật liệu và mở hộp công cụ. Trên đám mây, những khái niệm này được chuyển thành Dự ánThanh toán

Dự án trên Google Cloud là gì?

Hãy xem Google Cloud là một kho lưu trữ kỹ thuật số khổng lồ chứa đầy các công cụ và dịch vụ mạnh mẽ. Dự án là góc riêng tư và bảo mật của riêng bạn trong kho dữ liệu đó. Đây là một vùng chứa lưu trữ tất cả tài nguyên của bạn (chẳng hạn như máy chủ, cơ sở dữ liệu và mã), theo dõi tất cả chi phí của bạn và quản lý những người được phép truy cập và sử dụng các công cụ trong đó. Mọi hành động chúng ta thực hiện hôm nay sẽ diễn ra trong phạm vi dự án này.

Mặc dù Dự án là trọng tâm của chúng ta hôm nay, nhưng bạn nên hiểu rõ vị trí của Dự án trong cấu trúc lớn hơn mà các công ty sử dụng. Google Cloud sắp xếp mọi thứ theo một hệ thống phân cấp rõ ràng từ trên xuống.

Organization (The entire Corporation, e.g., "MegaCorp Inc.")
└── Folders (The Corporate Divisions, e.g., "Research & Development")
    ├── Project (A specific team's lab, e.g., "Project Phoenix - R&D")
    │   └── Resources (The tools in the lab, e.g., a specific server)
    └── Project (Another team's workshop, e.g., "Q4 Marketing Campaign")
        └── Resources (The tools for that campaign, e.g., a storage bucket)

Sau đây là các cấp của hệ phân cấp đó, từ trên xuống dưới:

  1. Nút Tổ chức:
    • Đây là Trụ sở doanh nghiệp của toàn bộ công ty (ví dụ: yourcompany.com). Đây là cấp cao nhất và là nơi thiết lập các chính sách bảo mật và thanh toán trên toàn công ty. Đối với bản dùng thử miễn phí của Google Cloud, bạn thường hoạt động mà không có nút Tổ chức. Điều này hoàn toàn phù hợp cho việc học tập.
  2. Thư mục:
    • Đây là Các bộ phận hoặc phòng ban trong công ty (ví dụ: Kỹ thuật, Tài chính). Đây là một lớp không bắt buộc dùng để nhóm các dự án và áp dụng chính sách cho toàn bộ nhóm cùng một lúc. Chúng ta sẽ không sử dụng Thư mục trong hội thảo này.
  3. Dự án (Trọng tâm của chúng tôi):
    • Đây là Hội thảo hoặc Phòng thí nghiệm cụ thể của Nhóm. Đây là nơi công việc thực tế diễn ra và là cấp độ quan trọng nhất đối với hội thảo của chúng ta. Tất cả tài nguyên bạn tạo phải nằm trong một dự án. Dự án cũng là cấp độ mà bạn bật API (dịch vụ) và liên kết tài khoản thanh toán.
  4. Tài nguyên:
    • Đây là các Công cụ và Máy móc riêng lẻ bên trong xưởng. Ứng dụng Cloud Run mà chúng ta sẽ triển khai là một tài nguyên. Máy ảo, cơ sở dữ liệu hoặc bộ chứa lưu trữ đều là ví dụ về tài nguyên.

Thực hành: Tạo và định cấu hình dự án

  • Nhận khoản tín dụng goo.gle/devfest-boston-ai/. Đồng thời chấp nhận Điều khoản dịch vụ của Google Cloud Platform. Sau khi áp dụng, bạn sẽ thấy thông báo cho biết khoản tín dụng đã được áp dụng. Khoản tín dụng đã áp dụng
  • Chuyển đến .
  • Trong thanh điều hướng trên cùng, hãy nhấp vào Chọn một dự án, rồi nhấp vào Dự án mới. Tìm dự án
  • Đặt tên riêng biệt cho dự án (ví dụ: idea-to-launch-yourname) rồi nhấp vào Tạo. Chọn "Không có tổ chức". Dự án mới
  • Đảm bảo bạn đã chọn dự án mới trong trình đơn thả xuống ở đầu trang.

Tại sao thông tin thanh toán lại quan trọng đến vậy?

Tài khoản thanh toán là nền tảng tài chính của dự án; đây là "thẻ tín dụng trong hồ sơ" dùng để thanh toán cho các tài nguyên mà bạn sử dụng. Trong hội thảo này, bạn sẽ sử dụng Tài khoản dùng thử miễn phí Google Cloud, tài khoản này cung cấp cho bạn khoản tín dụng miễn phí. Đây là một môi trường an toàn, được cách ly. Bạn sẽ không bị tính phí tự động sau khi sử dụng hết tín dụng hoặc khi thời gian dùng thử kết thúc, trừ phi bạn nâng cấp tài khoản theo cách thủ công. Hiểu rõ thông tin thanh toán là bước đầu tiên để kiểm soát chi phí. Các phương pháp hay nhất như đặt ngân sách và cảnh báo giúp bạn nhận được thông báo qua email nếu mức chi tiêu của bạn sắp đạt đến một hạn mức nhất định, nhờ đó tránh được mọi bất ngờ.

Thực hành: Liên kết tài khoản thanh toán

  • Chuyển đến phần .
  • Nhấp vào Liên kết tài khoản thanh toán. Liên kết với dịch vụ thanh toán
  • Chọn Tài khoản thanh toán dùng thử Google Cloud Platform trong trình đơn thả xuống rồi nhấp vào Đặt tài khoản. (Nếu bạn không thấy trình đơn thả xuống, hãy đợi một phút để khoản tín dụng được áp dụng rồi tải lại trang.)

Thực hành: Thiết lập Cảnh báo ngân sách (Phương pháp hay nhất)

Bây giờ, khi thông tin thanh toán của bạn đã được kích hoạt, hãy thực hiện một phương pháp hay quan trọng để kiểm soát chi phí: đặt ngân sách. Ngưỡng này không dừng các dịch vụ của bạn khi đạt đến số tiền đó, mà thay vào đó, ngưỡng này sẽ gửi cho bạn cảnh báo qua email để bạn luôn biết được mức chi tiêu của mình.

  1. Trong trình đơn bên trái của trang Thanh toán, hãy nhấp vào Ngân sách và cảnh báo.
  2. Ở đầu trang, hãy nhấp vào + TẠO NGÂN SÁCH. Tạo ngân sách
  3. Đặt tên cho ngân sách: Đặt một tên đơn giản như Workshop-Alert.
  4. Phạm vi: Để nguyên chế độ cài đặt mặc định (chế độ này sẽ chọn dự án hiện tại của bạn). Nhấp vào Tiếp theo. Tạo ngân sách
  5. Số tiền: Trong mục "Số tiền ngân sách", đối với "Loại số tiền", hãy chọn Số tiền được chỉ định. Nhập một số tiền nhỏ, ví dụ: 10. Điều này có nghĩa là ngân sách của chúng ta là 10 đô la. Nhấp vào Tiếp theo. Tạo ngân sách
  6. Hành động: Đây là nơi bạn thiết lập cảnh báo. Theo mặc định, hệ thống sẽ đặt cảnh báo khi mức chi tiêu của bạn vượt quá 50%, 90% và 100% ngân sách (5 đô la, 9 đô la và 10 đô la).
    • Trong phần "Thông báo qua email", hãy đảm bảo rằng bạn đã đánh dấu vào mục Cảnh báo qua email cho quản trị viên thanh toán và người dùng. Thao tác này sẽ gửi thông báo đến địa chỉ email liên kết với tài khoản của bạn.
  7. Nhấp vào Hoàn tất. Tạo ngân sách

Giờ đây, bạn đã thiết lập một công cụ quản lý chi phí chủ động. Trong một dự án thực tế, đây là một trong những bước đầu tiên quan trọng nhất để đảm bảo không có bất ngờ về tài chính.

Dịch vụ là gì và tại sao chúng ta cần bật dịch vụ?

Giờ đây, bạn đã thiết lập xong trung tâm chỉ huy trong phòng thí nghiệm riêng, hãy cùng thảo luận về những thiết bị hạng nặng mà bạn có thể sử dụng. Google Cloud cung cấp hơn 200 sản phẩm riêng biệt, từ cơ sở dữ liệu đến các mô hình AI. Mỗi thành phần này được gọi là một Dịch vụ. Hãy coi Cloud Run là "Dịch vụ vận chuyển và hậu cần tự động" và Gemini là "Dịch vụ phát minh và tạo mẫu bằng AI". Để sử dụng bất kỳ dịch vụ mạnh mẽ nào trong số này, trước tiên, bạn phải bật API (Giao diện lập trình ứng dụng) tương ứng cho dự án của mình.

Tổng quan về dịch vụ

Hãy tiếp tục với phép loại suy về nhà kho và phòng thí nghiệm. Hãy tưởng tượng Dự án trên Google Cloud là xưởng chuyên dụng của bạn bên trong nhà kho khổng lồ. Xưởng này được trang bị nhiều máy trạm tiên tiến: một máy trạm để phân tích bằng AI, một máy trạm để triển khai trên toàn cầu, một máy trạm để lưu trữ dữ liệu, v.v. Để đảm bảo an toàn và hiệu quả, theo mặc định, ống dẫn điện chính đến từng máy trạm chuyên dụng này sẽ ở trạng thái tắt.

Bật API là hành động đi đến một máy trạm cụ thể trong phòng thí nghiệm của bạn (chẳng hạn như "Trạm tạo mẫu AI") và gạt công tắc nguồn chính của máy trạm đó sang vị trí "BẬT".

Nhưng tại sao theo mặc định mọi thứ đều ở trạng thái tắt? Đây là một lựa chọn thiết kế có chủ đích vì một số lý do quan trọng:

  • Bảo mật: Vai trò này thực thi Nguyên tắc về đặc quyền tối thiểu ở cấp dự án. Nếu bạn không sử dụng một dịch vụ, thì các kết nối của dịch vụ đó với dự án của bạn sẽ không hoạt động, giúp giảm "bề mặt tấn công" tiềm ẩn.
  • Quản trị và kiểm soát chi phí: Bạn phải thực hiện một hành động có chủ ý và có thể kiểm tra để bắt đầu sử dụng một dịch vụ có khả năng tốn kém. Điều này giúp ngăn chặn việc sử dụng nhầm và giúp các tổ chức kiểm soát những công cụ mà nhóm của họ đang sử dụng.
  • Đơn giản: Giúp môi trường dự án của bạn luôn gọn gàng. Các quyền và trang tổng quan của bạn sẽ không bị lộn xộn với các lựa chọn cho những dịch vụ mà bạn không có ý định sử dụng.

Thực hành: Khởi tạo môi trường

  1. Bật Vertex AI, Cloud Run, Cloud Build và Compute API:
    • Trên trang chi tiết của API, hãy nhấp vào nút Bật màu xanh dương. Chờ quá trình này hoàn tất. Bật dịch vụ

2. Bảo mật ứng dụng: Ai (hoặc điều gì) có thể kiểm soát ứng dụng của bạn?

Giới thiệu về khái niệm

Các ứng dụng của chúng tôi đã hoạt động trên Internet, đây là một thành tựu tuyệt vời. Nhưng điều này đặt ra một câu hỏi quan trọng: làm thế nào mà những điều này lại có thể xảy ra? Khi bạn triển khai mã, một loạt các "bắt tay" an toàn, dựa trên quyền đã diễn ra ở chế độ nền. Việc hiểu rõ những điều này là yếu tố then chốt để bảo mật đám mây.

Tất cả những điều này đều do Quản lý danh tính và quyền truy cập (IAM) quản lý.

  • Công thức cốt lõi của IAM IAM hoạt động dựa trên một nguyên tắc đơn giản nhưng mạnh mẽ: Ai có thể làm Việc gì trên Tài nguyên nào.
  • Hai loại "Ai" (Chủ thể) Trong hội thảo của chúng ta cho đến nay, chúng ta đã thấy hai loại danh tính cơ bản:
    1. Người dùng: Đây là bạn! Một danh tính gắn liền với một người dùng, chẳng hạn như tài khoản Gmail cá nhân của bạn.
    2. Tài khoản dịch vụ: Đây là những danh tính đặc biệt, không phải của con người cho các ứng dụng và dịch vụ của bạn. Hãy coi chúng như một thẻ nhận dạng cho mã của bạn. Khi một dịch vụ của Google Cloud (chẳng hạn như Cloud Build) cần tương tác với một dịch vụ khác (chẳng hạn như Artifact Registry để lưu một vùng chứa), dịch vụ đó sẽ sử dụng Tài khoản dịch vụ của mình để chứng minh rằng dịch vụ đó có quyền.

Khi bạn triển khai bất kỳ ứng dụng nào, cả hai loại danh tính đều được sử dụng:

  • Tài khoản Người dùng của bạn có quyền bắt đầu triển khai.
  • Tài khoản dịch vụ cho dịch vụ Cloud Build có quyền tạo mã và lưu vùng chứa kết quả.

Quản lý quyền truy cập

Hãy sử dụng bảng điều khiển IAM để tìm hiểu các quyền đã giúp chúng ta triển khai và sau đó cấp quyền truy cập cụ thể cho một người dùng khác.

  1. Điều tra: Chuyển đến Bảng điều khiển IAM
    • Chuyển đến
    • Đây là trang tổng quan về bảo mật của dự án. Cửa sổ này liệt kê mọi "Chủ thể" (người dùng hoặc nhóm người dùng) có quyền truy cập ở bất kỳ cấp độ nào vào dự án của bạn.
  2. Tìm ra danh tính của bạn (Người dùng)
    • Trong danh sách Principals (Chủ thể), hãy tìm địa chỉ email của bạn. Lưu ý rằng vai trò của người dùng này là "Chủ sở hữu". Vai trò Chủ sở hữu cấp quyền đầy đủ và không hạn chế để làm mọi việc trong dự án. Đó là lý do bạn được phép bật API và chạy lệnh gcloud run deploy.
  3. Tìm danh tính của Dịch vụ (Tài khoản dịch vụ)
    • Bây giờ, hãy tìm một Principal có tên như [PROJECT_NUMBER]-compute@developer.gserviceaccount.com. Đây là Tài khoản dịch vụ mặc định mà dịch vụ Cloud Build sử dụng.
    • Xem vai trò của người dùng đó. Tài khoản này sẽ có vai trò như "Cloud Build Service Agent". Vai trò này có các quyền cụ thể cần thiết để thực hiện công việc của mình, chẳng hạn như kéo mã nguồn và ghi hình ảnh vùng chứa vào sổ đăng ký. Đây là danh tính đã thực hiện phần lớn công việc cho quá trình triển khai của bạn.
  4. Quản lý quyền truy cập (Công việc thực tế)
    • Bây giờ, hãy thực hiện một tác vụ bảo mật có liên quan. Hãy tưởng tượng một đồng nghiệp mới cần có khả năng giám sát hiệu suất và kiểm tra nhật ký của hai ứng dụng mà chúng ta vừa triển khai (fact-app-manualfact-app-cli), nhưng vì lý do bảo mật, họ không được phép triển khai phiên bản mới hoặc xoá các ứng dụng đó.
    • Ở đầu trang IAM, hãy nhấp vào + Cấp quyền truy cập.
    • Trong trường Bên giao đại lý mới, hãy nhập một địa chỉ email giả, chẳng hạn như dev-intern@example.com.
    • Trong trình đơn thả xuống Chọn vai trò, hãy dùng bộ lọc để tìm và chọn vai trò "Người xem Cloud Run". Vai trò này là một ví dụ điển hình về Nguyên tắc về đặc quyền tối thiểu. Quyền này chỉ cấp quyền truy cập chỉ đọc cho các dịch vụ Cloud Run và không có quyền nào khác. (Hoặc thử dùng tính năng Giúp tôi chọn vai trò)
    • Nhấp vào Lưu.
  5. Xem xét kết quả
    • Giờ đây, bạn đã thêm thành công một người dùng mới và cấp cho họ một vai trò chi tiết, có ít đặc quyền nhất, phù hợp trực tiếp với các tài nguyên mà bạn đã tạo trong hội thảo này. Họ có thể xem 2 ứng dụng xác thực của bạn nhưng không thể thay đổi chúng. Bạn đã thấy cách cả tài khoản người dùng và tài khoản dịch vụ phối hợp với nhau để tạo ra một môi trường đám mây an toàn và có thể kiểm tra.

Bây giờ, hãy thực hành cấp quyền không phải cho một người, mà cho một ứng dụng hoặc dịch vụ khác. Hãy tưởng tượng một công cụ tự động bên ngoài (được biểu thị bằng tài khoản dịch vụ vertex-express@...) cần có khả năng sử dụng các dịch vụ AI trong dự án của chúng tôi. Chúng ta cần cấp cho người dùng đó vai trò phù hợp.

  1. Chuyển đến trang Tài khoản dịch vụ:
    • Vẫn ở trang IAM, hãy chuyển đến phần Tài khoản dịch vụ.
  2. Xác định Tài khoản dịch vụ đích:
    • Trong danh sách tài khoản dịch vụ, hãy tìm tài khoản có tên vertex-express@ecstatic-acumen-{PROJECT_NUMBER}-c9.iam.gserviceaccount.com. (Bạn cần thay thế {PROJECT_NUMBER} bằng số dự án thực tế của mình). Đây là danh tính mà chúng ta muốn cấp quyền.
  3. Quản lý quyền đối với tài khoản dịch vụ:
    • Trong cột Hành động ở bên phải, hãy nhấp vào biểu tượng ba dấu chấm để xem trình đơn thả xuống.
    • Để quản lý những việc mà tài khoản dịch vụ này có thể làm, hãy nhấp vào QUẢN LÝ QUYỀN.
  4. Cấp vai trò "Người dùng Vertex AI":
    • Trong trình đơn thả xuống Chỉ định vai trò, hãy dùng bộ lọc để tìm và chọn vai trò "Người dùng Vertex AI".
    • Nhấp vào Lưu.

Giờ đây, bạn đã chuyển thành công từ trang cụ thể của tài khoản dịch vụ sang trang quyền cấp dự án phù hợp và cho phép tài khoản dịch vụ đó sử dụng các chức năng AI trong dự án của bạn.

3. Xây dựng mã bằng trợ lý AI

Giới thiệu về khái niệm

Mọi ứng dụng đều bắt đầu bằng mã. Theo truyền thống, đây là phần tốn nhiều thời gian nhất. Hôm nay, chúng ta sẽ làm việc với một đối tác AI là Gemini để đẩy nhanh quá trình này. Nhưng trước khi viết lệnh đầu tiên, bạn cần hiểu rõ phạm vi của các công cụ AI mà Google Cloud cung cấp.

Các sản phẩm AI của Google có thể được chia thành 3 danh mục chính, từ đơn giản nhất đến mạnh mẽ nhất:

Bạn có thể tương tác với "Công cụ sáng tạo" (Gemini) thông qua 2 giao diện chính, mỗi giao diện được thiết kế cho một mục đích khác nhau.

  • Google AI Studio (aistudio.google.com)
    • Giới thiệu: Một công cụ miễn phí trên web để tạo mẫu và thử nghiệm nhanh với Gemini. Đây là cách nhanh nhất để bắt đầu viết câu lệnh và xem các mô hình có thể làm gì.
    • Cách thức hoạt động: Bạn có thể bắt đầu sử dụng tính năng này chỉ bằng Tài khoản Google của mình. Để sử dụng khoá này trong một ứng dụng, bạn cần tạo khoá API. Để sử dụng API này cho hội thảo này, bạn cần bật dịch vụ "Generative Language API" trong dự án của mình.
    • Ví dụ tương tự: AI Studio là thư viện công cộng hoặc xưởng mở. Bạn có thể dễ dàng đến và bắt đầu dùng thử các công cụ này miễn phí.
  • Vertex AI
    • Thông tin tổng quan: Đây là nền tảng toàn diện của Google Cloud để quản lý toàn bộ vòng đời của hoạt động học máy. Đây là một môi trường làm việc chuyên nghiệp hoàn chỉnh, nơi bạn có thể sử dụng các mô hình cơ sở như Gemini, đồng thời xây dựng, huấn luyện và triển khai các mô hình học máy tuỳ chỉnh của riêng mình từ đầu. Nền tảng này được xây dựng để đảm bảo tính bảo mật, khả năng mở rộng và hoạt động quản trị cấp doanh nghiệp. Ngoài ra, dịch vụ này còn cung cấp phiên bản cấp doanh nghiệp của các công cụ tương tự, được tích hợp đầy đủ trong dự án Google Cloud của bạn.
    • Cách hoạt động: Công cụ này sử dụng các mô hình mạnh mẽ tương tự nhưng kế thừa tất cả các tính năng bảo mật, kiểm soát quyền truy cập (IAM) và quản trị dữ liệu của dự án. Đây là dịch vụ mà chúng ta đã bật trong Phần 1 bằng cách bật API aiplatform.googleapis.com.
    • Ví dụ tương tự: Vertex AI là phòng nghiên cứu và phát triển riêng tư, an toàn của doanh nghiệp. Mọi việc bạn làm đều được ghi lại, bảo mật và kết nối với các tài nguyên khác trong dự án của bạn.

Thực hành: Tạo mã ứng dụng trong Vertex AI Studio

Hãy xem điều gì xảy ra khi chúng ta tạo ứng dụng bằng các công cụ trực quan trong Vertex AI.

  1. Chuyển đến Vertex AI Studio:
  2. Tạo trang web:
    • Trong hộp câu lệnh, hãy nhập chính xác yêu cầu mà chúng ta sẽ sử dụng sau này:
    Create the code for a simple web application that shows Halloween fun facts. The application should be built using the Python functions_framework for Cloud Run. The entry point function must be named 'hello_http'. When a user visits the main page, the server should randomly display one fact from a list. The page should have a separate 'index.html' file for the structure and a 'style.css' file to give it a spooky theme 
    
    • Nhấn Enter. Mô hình sẽ tạo mã, có thể ở 3 khối riêng biệt: một khối cho Python (main.py), một khối cho HTML (index.html) và một khối cho CSS (style.css).

Đừng đóng thẻ trình duyệt này! Bạn sẽ cần sao chép mã từ 3 khối này trong phần tiếp theo. Hãy chú ý cách AI tách các tệp một cách chính xác. Đây là phương pháp hay, nhưng như chúng ta sẽ thấy, phương pháp này đòi hỏi bạn phải thực hiện một số bước theo cách thủ công để triển khai.

4. Triển khai trên toàn thế giới bằng Cloud Run

Giới thiệu về khái niệm

Mã của chúng ta đã được tạo, nhưng chỉ là văn bản trong trình duyệt. Để phục vụ khách hàng, ứng dụng này cần chạy trên một máy chủ. Cloud Run là một nền tảng "không máy chủ", tức là chúng tôi cung cấp mã và Google xử lý mọi thứ khác: máy chủ, việc mở rộng quy mô và bảo mật. Tính năng mạnh mẽ nhất của nó là mở rộng đến 0 – nếu không có ai truy cập vào ứng dụng của bạn, bạn sẽ không phải trả phí cho thời gian chờ.

  • "Không cần máy chủ" là gì? Theo cách truyền thống, việc triển khai một ứng dụng có nghĩa là bạn phải thuê một máy chủ (máy ảo), cài đặt hệ điều hành, định cấu hình mạng và bảo mật, đồng thời liên tục duy trì máy chủ đó. Không máy chủ là một phương pháp hiện đại trên đám mây, trong đó bạn (nhà phát triển) chỉ tập trung vào mã của mình. Bạn chuyển mã của mình cho một dịch vụ như Cloud Run, và dịch vụ này sẽ xử lý mọi thứ khác: máy chủ, việc mở rộng quy mô, bảo mật và mạng.
  • Cách Cloud Run hoạt động: Phép màu của việc mở rộng quy mô Khi bạn triển khai đến Cloud Run, nền tảng này sẽ đóng gói mã của bạn vào một vùng chứa (một gói di động, được chuẩn hoá của ứng dụng và tất cả các phần phụ thuộc của ứng dụng). Khi người dùng truy cập vào URL của ứng dụng, Cloud Run sẽ khởi động ngay vùng chứa của bạn để xử lý yêu cầu. Nếu có 1.000 người dùng truy cập cùng lúc, thì hệ thống sẽ tự động bắt đầu 1.000 bản sao. Tính năng mạnh mẽ nhất là mở rộng đến 0. Khi không có người truy cập vào ứng dụng của bạn, Cloud Run sẽ giảm số lượng vùng chứa đang chạy xuống 0. Điều này có nghĩa là bạn hoàn toàn không phải trả phí cho thời gian không hoạt động, giúp bạn tiết kiệm chi phí một cách đáng kể.

Đối với lần triển khai đầu tiên, chúng ta sẽ sử dụng trình chỉnh sửa nội tuyến của bảng điều khiển Cloud Run, sao chép mã theo cách thủ công vào đúng vị trí.

Thực hành: Triển khai ứng dụng

  1. Khởi động Trình hướng dẫn tạo Cloud Run:
    • Chuyển đến
    • Ở đầu trang, hãy nhấp vào + Viết hàm.
  2. Định cấu hình Dịch vụ:
    • Chọn Sử dụng trình chỉnh sửa nội tuyến để tạo một hàm.
    • Đặt tên cho dịch vụ của bạn: fact-app-manual.
    • Chọn Thời gian chạy Python 3.13.
    • Chọn Khu vực us-central1.
    • Chọn Cho phép truy cập công khai.
    • Giữ nguyên tất cả chế độ cài đặt khác theo mặc định.
    • Nhấp vào nút TẠO ở dưới cùng.
  3. Nhập mã của bạn:
    • Bạn sẽ thấy một trình chỉnh sửa có tệp main.pyrequirements.txt mặc định.
    • main.py: Chuyển đến thẻ Vertex AI Studio. Sao chép toàn bộ khối mã Python. Quay lại trình chỉnh sửa Cloud Run rồi thay thế nội dung main.py mặc định bằng mã bạn vừa sao chép.
    • requirements.txt:* Nhấp vào tệp requirements.txt trong trình chỉnh sửa. Mã Python cần có functions-framework. Thay thế nội dung tệp bằng:
      functions-framework
      
    • index.html: Trong trình khám phá tệp của trình chỉnh sửa, hãy nhấp vào "+" để thêm tệp mới. Đặt tên index.html cho tệp. Chuyển đến thẻ Vertex AI Studio, sao chép khối mã HTML rồi dán vào tệp index.html mới này.
    • style.css: nhấp vào "+" để thêm tệp mới. Đặt tên tệp này là style.css. Chuyển đến thẻ Vertex AI Studio, sao chép khối mã CSS rồi dán vào tệp style.css mới này.
  4. Triển khai dịch vụ:
    • Sau khi đặt đúng vị trí 3 tệp, hãy nhấp vào nút LƯU VÀ TRIỂN KHAI .
  5. Truy cập vào ứng dụng đang hoạt động:
    • Quá trình triển khai sẽ mất vài phút. Khi quá trình này hoàn tất, trang chi tiết dịch vụ sẽ xuất hiện cùng với một URL công khai ở trên cùng.
    • Nhấp vào URL này. Ứng dụng của bạn hiện đã được xuất bản! Cách này có hiệu quả, nhưng bạn phải sao chép và dán rất nhiều nội dung theo cách thủ công.

5. Tối ưu hoá quy trình làm việc của nhà phát triển

Bảng điều khiển rất phù hợp để học tập, nhưng lại chậm đối với quá trình phát triển lặp đi lặp lại. Giờ đây, chúng ta sẽ thấy quy trình làm việc mà nhà phát triển ưu tiên, sử dụng Cloud ShellGemini CLI để biến toàn bộ quy trình nhiều bước đó thành một cuộc trò chuyện tinh giản.

Cloud Shell và Gemini CLI là gì?

Cloud Shell là một máy tính Linux hoàn chỉnh trong trình duyệt của bạn, được tải sẵn các công cụ dành cho nhà phát triển như gcloud CLI (điều khiển từ xa cho Google Cloud).

Gemini CLI là một trợ lý lập trình tương tác dựa trên AI, hoạt động trong thiết bị đầu cuối của bạn.

Các tiện ích của Gemini là gì?

Hãy coi Gemini CLI như một chiếc điện thoại thông minh mạnh mẽ. Bản thân nó đã rất mạnh mẽ. Tiện ích cũng giống như các ứng dụng mà bạn cài đặt từ một cửa hàng ứng dụng. Các công cụ này cung cấp cho Gemini CLI những khả năng mới, chuyên biệt mà theo mặc định, Gemini CLI không có. Ví dụ: tiện ích nanobanana là một "ứng dụng" kết nối Gemini CLI với các mô hình tạo hình ảnh mạnh mẽ của Google, cho phép chúng ta tạo hình ảnh ngay từ dòng lệnh.

Thực hành: Quy trình làm việc tinh giản

  1. Tạo khoá API
    • Chuyển đến
    • Nhấp vào nút "+Create API Keys" (Tạo khoá API)
    • Giữ lại khoá này
  2. Kích hoạt và định cấu hình Cloud Shell:
    • Ở đầu bảng điều khiển Google Cloud, hãy nhấp vào biểu tượng Kích hoạt Cloud Shell (>_).
    • Chạy các lệnh sau trong thiết bị đầu cuối để thiết lập môi trường của bạn, nhớ thay thế bằng Mã dự án của riêng bạn
      # Set your Project ID
      export PROJECT_ID="[your-project-id-goes-here]"
      
      Đặt NANOBANANA_GOOGLE_API_KEY. Thay thế bằng Khoá API của bạn. (Nói Y để tiếp tục cài đặt.)
      gcloud config set project $PROJECT_ID
      
      # REPLACE with your API Key.
      export NANOBANANA_GOOGLE_API_KEY="[your-api-key-goes-here]"
      
      Trong thiết bị đầu cuối, hãy chạy để cài đặt tiện ích:
      # Configure the CLI to use your project with Vertex AI
      export GOOGLE_CLOUD_PROJECT=$PROJECT_ID
      export GOOGLE_CLOUD_LOCATION=us-central1
      export GOOGLE_GENAI_USE_VERTEXAI=true
      
      # Install the image generation extension
      gemini extensions install https://github.com/gemini-cli-extensions/nanobanana
      
  • Chúng ta sẽ sử dụng Gemini CLI, một giao diện dòng lệnh mạnh mẽ đóng vai trò là trợ lý lập trình AI. Công cụ này cho phép chúng ta mô tả mã mà mình muốn bằng tiếng Anh đơn giản và sẽ tạo cấu trúc cho chúng ta, giúp tăng tốc đáng kể quá trình phát triển.
  1. Bắt đầu một phiên tương tác với AI:
    • Hãy tạo một thư mục mới cho dự án của chúng ta và khởi động Gemini CLI ở chế độ tương tác. Chạy lệnh sau trong termina.
      mkdir ~/2025-website
      cd ~/2025-website
      cat <<EOF > .env
        GOOGLE_CLOUD_PROJECT=$PROJECT_ID
        GOOGLE_CLOUD_LOCATION=$GOOGLE_CLOUD_LOCATION
        GOOGLE_GENAI_USE_VERTEXAI=true
        NANOBANANA_GOOGLE_API_KEY=$NANOBANANA_GOOGLE_API_KEY
      EOF
      clear
      gemini --yolo
      
  2. Tạo và lặp lại trên ứng dụng của bạn:
    • Bạn hiện đang trong một phiên trò chuyện với trợ lý AI. Dán câu lệnh sau để tạo toàn bộ trang web bằng một lệnh:
      Write a simple web app that shows Halloween fun facts using the Python Flask. When a user visits the main page, it should show one random fact. Include a button that fetches and displays a new fact when clicked. Create a simple, clean index.html, a separate style.css with a spooky theme, and a requirements.txt file. After creating the files, attempt to start the web app locally on port 8080.
      
    • Kiểm thử cục bộ: AI sẽ tạo các tệp và khởi động một máy chủ web. (Đôi khi quá trình tải sẽ không dừng lại. Nếu thấy quá trình này đang cố gắng khởi động máy chủ, bạn có thể chuyển sang bước tiếp theo. )
    • Nhấp vào biểu tượng Xem trước trên web trong thanh công cụ Cloud Shell, chọn Xem trước trên cổng 8080 và trang web của bạn sẽ xuất hiện trong một thẻ mới.
    • Trong Gemini CLI, hãy nhấn Esc để huỷ yêu cầu và/hoặc nhắc Gemini CLI Stop the web server.
  3. Cập nhật trang web bằng hình ảnh do AI tạo:
    • Bây giờ, hãy sử dụng tiện ích của chúng ta. Lệnh bắt đầu bằng / là "lệnh gạch chéo" hướng đến một công cụ, chứ không phải là câu lệnh cho AI.
      /generate 3 images of spooky halloween fun
      
    • Tiện ích này sẽ tạo ra 3 hình ảnh. Bây giờ, hãy yêu cầu AI sửa đổi trang web để sử dụng các thành phần này.
      Update the website so it will display and rotate between the 3 newly generated images each time the button is clicked. And do NOT start the server.
      
  4. Chuẩn bị cho việc triển khai:
    • Cloud Run triển khai mã bằng cách sử dụng các vùng chứa. Dockerfile là một công thức để tạo vùng chứa. Hãy yêu cầu AI tạo một video cho chúng ta.
      Create a Dockerfile suitable for deploying this Python Flask app to Cloud Run.
      
  5. Triển khai bằng một lệnh duy nhất:
    • Thoát Gemini CLI bằng cách nhấn CtrlC hai lần. Hoặc nhập /quit vào câu lệnh
    • Giờ đây, hãy sử dụng CLI gcloud để triển khai toàn bộ ứng dụng từ thư mục hiện tại.
      gcloud run deploy fact-app-cli \
        --source . \
        --region us-central1 \
        --allow-unauthenticated
      
  6. Xem điểm khác biệt:
    • Sau vài phút, bạn sẽ nhận được một URL mới cho trang web đầy đủ tính năng do AI tạo. Truy cập vào bảng điều khiển Cloud Run, bạn sẽ thấy cả hai dịch vụ: fact-app-manualfact-app-cli. Bạn vừa trải nghiệm tốc độ và sức mạnh của quy trình làm việc của nhà phát triển trên dòng lệnh.

Xin chúc mừng

Bạn đã hoàn tất thành công toàn bộ vòng đời phát triển trên Google Cloud. Bạn bắt đầu với một dự án trống và hiện đã:

  • Đã định cấu hình một dự án an toàn có thông tin thanh toán.
  • Sử dụng trợ lý AI để viết một ứng dụng hoàn chỉnh.
  • Triển khai ứng dụng đó trên một nền tảng có khả năng mở rộng và không cần máy chủ.
  • Tìm hiểu cách quản lý tính bảo mật bằng IAM.

Giờ đây, bạn đã có những kỹ năng cơ bản để xây dựng các ứng dụng phức tạp và có nhiều chức năng hơn nữa trên Google Cloud.