• Quynh Nga Dao

Cloud Run: Câu chuyện về các Container phi máy chủ

Updated: Jun 30

Mindful Containers là một công ty ảo chuyên tạo các gói ứng dụng dịch vụ vi mô. Họ cần một môi trường máy tính được quản lý tổng thể để triển khai và mở rộng các dịch vụ vi mô phi máy chủ. Vì vậy, họ đang xem xét sử dụng Cloud Run.

Công ty này hào hứng với Cloud Run vì nó loại bỏ cấu hình, giám sát và quản lý cụm để họ có thể tập trung vào việc xây dựng các tính năng cho ứng dụng của mình.



Cloud Run là gì?

Cloud Run là môi trường máy tính được quản lý tổng thể để triển khai và mở rộng quy mô các container HTTP phi máy chủ mà không cần lo lắng về việc chuẩn bị máy móc vật lý, cấu hình cụm hoặc autoscaling.

  • Không có những khó khăn khi dịch chuyển dữ liệu - Vì Cloud Run lấy các vùng chứa OCI tiêu chuẩn và triển khai API Knative Serving tiêu chuẩn, bạn có thể dễ dàng chuyển các ứng dụng của mình sang bất kỳ môi trường đám mây nào khác.

  • Tự động chia tỷ lệ nhanh - Các dịch vụ nhỏ được triển khai trong Cloud Run tự động mở rộng quy mô dựa trên số lượng yêu cầu đến mà bạn không cần phải định cấu hình hoặc quản lý một cụm Kubernetes chính thức. Cloud Run quy mô về 0 - nghĩa là không sử dụng tài nguyên - nếu không có yêu cầu.

  • Phân chia lưu lượng truy cập - Cloud Run cho phép bạn phân chia lưu lượng truy cập giữa nhiều bản sửa đổi, vì vậy bạn có thể thực hiện triển khai dần dần như triển khai canary hoặc triển khai xanh lam / xanh lục.

  • Miền tùy chỉnh - Bạn có thể thiết lập ánh xạ miền tùy chỉnh trong Cloud Run và nó sẽ cung cấp chứng chỉ TLS cho miền của bạn.

  • Dự phòng tự động - Cloud Run cung cấp tính năng dự phòng tự động, do đó bạn không phải lo lắng về việc tạo nhiều phiên bản để có tính khả dụng cao

Cách sử dụng Cloud Run

Với Cloud Run, bạn viết mã bằng ngôn ngữ yêu thích của mình và / hoặc sử dụng thư viện nhị phân. Sau đó, đẩy nó lên Cloud Build để tạo một bản dựng vùng chứa. Với một lệnh duy nhất— “triển khai gcloud run” — bạn đi từ hình ảnh vùng chứa đến ứng dụng web được quản lý hoàn toàn chạy trên miền có chứng chỉ TLS và tự động phân chia tỷ lệ theo yêu cầu.

Cloud Run hoạt động như thế nào?

Dịch vụ Cloud Run có thể hoạt động theo những cách sau:

HTTPS: Bạn có thể gửi yêu cầu HTTPS để kích hoạt dịch vụ được lưu trữ trên nền tảng Cloud Run. Lưu ý rằng tất cả các dịch vụ Cloud Run đều có URL HTTPS ổn định. Một số trường hợp sử dụng bao gồm:

API web RESTful tùy chỉnh

microservice cá nhân

Phần mềm trung gian HTTP hoặc proxy ngược cho các ứng dụng web của bạn

Ứng dụng web đóng gói sẵn

gRPC: Bạn có thể sử dụng gRPC để kết nối các dịch vụ Cloud Run với các dịch vụ khác — ví dụ: để cung cấp giao tiếp đơn giản, hiệu suất cao giữa các microservices nội bộ. gRPC là một lựa chọn tốt khi bạn:

  • Muốn giao tiếp giữa các microservices nội bộ

  • Hỗ trợ tải dữ liệu cao (gRPC sử dụng bộ đệm giao thức, nhanh hơn tới bảy lần so với các cuộc gọi REST)

  • Chỉ cần một định nghĩa dịch vụ đơn giản

  • Sử dụng gRPC trực tuyến trong máy chủ gRPC của bạn để xây dựng các ứng dụng và API đáp ứng nhiều hơn

WebSockets: Các ứng dụng WebSockets được hỗ trợ trên Cloud Run mà không cần cấu hình bổ sung. Các trường hợp sử dụng tiềm năng bao gồm bất kỳ ứng dụng nào yêu cầu dịch vụ phát trực tuyến, chẳng hạn như ứng dụng trò chuyện.

Kích hoạt từ Pub / Sub: Bạn có thể sử dụng Pub / Sub để đẩy tin nhắn đến điểm cuối của dịch vụ Cloud Run, nơi các tin nhắn sau đó được gửi đến các vùng chứa dưới dạng yêu cầu HTTP. Các trường hợp sử dụng có thể bao gồm:

  • Chuyển đổi dữ liệu sau khi nhận được sự kiện khi tải tệp lên nhóm Bộ nhớ đám mây

  • Xử lý nhật ký bộ hoạt động Google Cloud của bạn với Cloud Run bằng cách xuất chúng sang Pub / Sub

  • Xuất bản và xử lý các sự kiện tùy chỉnh của riêng bạn từ các dịch vụ Cloud Run

Chạy dịch vụ theo lịch trình: Bạn có thể sử dụng Cloud Scheduler để kích hoạt dịch vụ Cloud Run theo lịch trình một cách an toàn. Điều này tương tự với việc sử dụng cron job. Các trường hợp sử dụng có thể bao gồm:

  • Thực hiện sao lưu thường xuyên