3 điểm khác biệt của Cloud Run so với các công nghệ không máy chủ khác

Tháng Chín 20, 2021
Nga Pham

Khi suy ngẫm về năm 2020 đã qua, câu nói của Heraclitus: Điều bất biến duy nhất trong cuộc sống chính là sự thay đổi trở nên đúng đắn hơn bao giờ hết. Vì ảnh hưởng của đại dịch, các công ty đã phải chuyển đổi mô hình hoạt động, phát hành sản phẩm mới thích ứng với các mô hình cung cầu khắc nghiệt, đôi khi có thời hạn chỉ trong vài tuần.

Để đáp ứng nhu cầu của khách hàng một cách nhanh chóng và hiệu quả hơn, nhiều công ty đã chuyển sang sử dụng công nghệ không máy chủ (serverless), thiết kế các ứng dụng hỗ trợ tín hiệu thời gian thực và tích hợp trí thông minh nhân tạo. Từ các ứng dụng và trang web phục vụ các cuộc hẹn khám sức khỏe và tiêm chủng, truy tìm liên hệ, lợi ích công cộng, hậu cần bán lẻ cho đến đặt phòng khách sạn và du lịch – tất cả đều được xây dựng với công nghệ không máy chủ.

Định nghĩa lại không máy chủ

Thế giới thay đổi, thị trường thay đổi, cuộc sống của chúng ta cũng thay đổi. Để hỗ trợ việc thích ứng với những thay đổi này, Google Cloud đã giới thiệu các sản phẩm mới để kịp thời đáp ứng các nhu cầu mới của khách hàng.

Đặc biệt, công nghệ không máy chủ đã được cải tiến rất nhiều so với khi nó được giới thiệu lần đầu tiên. Google ra mắt máy tính không máy chủ vào năm 2008 với sự ra đời của App Engine, giúp khách hàng mở rộng quy mô ứng dụng của họ một cách nhanh chóng hơn và không bị ngắt quãng. Sau đó, họ đã hỗ trợ thêm khả năng run Functions as a Service (thực thi các chức năng như một dịch vụ) với Cloud Functions, mang đến cho khách hàng một trải nghiệm nhà phát triển đơn giản với khả năng quan sát và đo đạc được tích hợp sẵn. Bên cạnh đó, họ cũng giới thiệu những đổi mới dành cho thị trường container (vùng chứa) với Kubernetes. Google cho biết không lâu sau, khách hàng bắt đầu hỏi họ rằng liệu có thể kết hợp các thuộc tính không máy chủ tuyệt vời của tính năng tự động mở rộng quy mô và trải nghiệm nhà phát triển với tính linh hoạt của vùng chứa hay không.

Cloud Run – thế hệ tiếp theo của công nghệ không máy chủ

Giờ đây, công nghệ không máy chủ không chỉ còn là lập trình hướng sự kiện (event-driven programming) hay microservices. Nó bao gồm cả việc thực thi khối lượng công việc phức tạp trên quy mô lớn, song đồng thời vẫn duy trì trải nghiệm nhà phát triển thú vị. Trên thực tế, ý nghĩa của công nghệ không máy chủ Cloud Run chính là việc có một nền tảng nhà phát triển thực sự với sự linh hoạt để thực thi bất cứ ngôn ngữ lập trình, thư viện và hệ nhị phân nào.

Có ba yếu tố khiến cho Cloud Run trở thành thế hệ tiếp theo của công nghệ không máy chủ, và khiến nó trở nên khác biệt với những ‘không máy chủ’ bạn tìm thấy ở những nơi khác. Chúng bao gồm:

  1. Trọng tâm là trải nghiệm của nhà phát triển
  2. Tính linh hoạt: Khả năng mở rộng sang một loạt các ứng dụng được chứa trong vùng chứa
  3. Tích hợp DevOps và bảo mật

Trọng tâm là trải nghiệm của nhà phát triển

Với trọng tâm là nhà phát triển, Cloud Run cung cấp cơ sở hạ tầng tự vận hành, được quản lý hoàn toàn và trải nghiệm tuyệt vời dành cho nhà phát triển. Với mong muốn mọi người đều có thể phát triển các ứng dụng thông minh, Google đã khiến cho công việc này trở nên dễ dàng hơn bao giờ hết. Họ cũng mong muốn đảm bảo rằng đang giúp đưa tài năng kỹ thuật của người dùng đến gần hơn với nơi họ có thể tạo ra giá trị kinh doanh của mình.

Để đơn giản hóa mọi thứ, Google đã giới thiệu các gói xây dựng (buildpacks) tạo ra các hình ảnh vùng chứa trực tiếp từ mã nguồn, giúp khách hàng có thể xây dựng ứng dụng mà không cần học về Docker hay vùng chứa.

Để đơn giản hóa mọi thứ hơn nữa, Google còn giới thiệu một lệnh gcloud run deploy duy nhất để xây dựng và triển khai mã nguồn cho Cloud Run. Những tính năng này là một trong số những lý do giúp 98% người dùng Cloud Run triển khai ứng dụng của họ trong lần thử nghiệm đầu tiên với thời gian chỉ đầy 5 phút!

Trên thực tế, chỉ trong vòng 1 năm qua, Google đã thêm hơn 25 tính năng và dịch vụ mới vào danh mục không máy chủ của mình, giúp việc phát triển các ứng dụng phức tạp trở nên đơn giản hơn rất nhiều. Một trong những sản phẩm được ra mắt chính thức của họ là Workflows – hỗ trợ khách hàng kết hợp Cloud Run với bất kỳ sản phẩm Google Cloud nào hoặc bất kỳ dịch vụ API nào trên nền tảng HTTP. Điều này rất hữu ích với các nhà phát triển khi cần tự động hóa các quy trình phức tạp hoặc tích hợp các dịch vụ phân tích của GCP trên nhiều hệ thống khác nhau.

Theo một báo cáo từ User Research International, khi được kết hợp với nhau, tất cả các tính năng mới này sẽ giúp trải nghiệm của nhà phát triển trên Cloud Run dễ dàng hơn rất nhiều so với sản phẩm của các đối thủ cạnh tranh.

report by User Research International.jpg

Tính linh hoạt

Công nghệ không máy chủ thế hệ tiếp theo sở hữu cả tính linh hoạt, có khả năng hỗ trợ nhiều loại ứng dụng và đáp ứng nhiều yêu cầu của doanh nghiệp hơn. Không chỉ riêng các chức năng và ứng dụng web, Cloud Run còn hỗ trợ các ứng dụng nặng và trong thời gian dài, đồng thời cả các ứng dụng được chứa trong vùng nâu (brownfield) và vùng chứa của bên thứ ba. Tính linh hoạt này được kích hoạt bởi container nguyên thủy (container primitive), loại bỏ các hạn chế về ngôn ngữ, thời gian thực thi và phần cứng.

Khả năng thực thi nhiều ứng dụng hơn trên ngăn xếp máy chủ của Google Cloud giúp bạn tối ưu hóa chi phí cho những mục đích sử dụng có thể dự đoán trước. Google đã công bố chiết khấu cam kết sử dụng dựa trên các tiêu chí mới cho Cloud Run. Các doanh nghiệp có mức sử dụng ổn định, trạng thái ổn định và có thể dự đoán được hiện có thể mua các hợp đồng cam kết sử dụng, trực tiếp trong giao diện người dùng thanh toán và không cần thanh toán trả trước. Do đó, các chiết khấu này là một cách tuyệt vời để tiết kiệm chi tiêu của bạn lên tới 17%.

Ngoài ra, Google còn cung cấp tính linh hoạt theo một phương pháp khác – hỗ trợ WebSockets và gRPC trong Cloud Run. Với những bổ sung mới này, bạn có thể tận dụng những lợi ích từ cơ sở hạ tầng không máy chủ để xây dựng các ứng dụng với hiệu suất cao và thích ứng tốt. Google cũng đã thêm tính năng về số lượng đối tượng tối thiểu (min instances), cho phép bạn giảm thiểu thời gian khởi động lạnh (cold-start) và thực thi các ứng dụng nhạy cảm với độ trễ trên Cloud Run. Đồng thời, bạn vẫn có thể thu hẹp quy mô về 0 hoặc giữ một lượng máy tính tối thiểu có sẵn, chẳng hạn như khi thực thi các ứng dụng Java brownfield.

Tích hợp DevOps

Công nghệ không máy chủ không chỉ giúp các nhà phát triển thiết lập ứng dụng của họ nhanh hơn mà còn có khả năng giảm bớt gánh nặng quản lý đối với các nhóm vận hành khi ứng dụng đã được thiết lập và thực thi. Đáng chú ý, các hệ thống không máy chủ còn có thể đảm nhận việc mở rộng một ứng dụng, theo cả hai chiều mở rộng và thu hẹp. Điều đó có nghĩa là, nếu ứng dụng của bạn đột nhiên bắt đầu với lưu lượng lớn, nền tảng không máy chủ sẽ tự động bổ sung tài nguyên để xử lý tải. Ngược lại, ngay khi nhu cầu giảm xuống, nền tảng sẽ xử lý các tài nguyên ngừng hoạt động – tức là thu nhỏ quy mô để giúp bạn không phải trả tiền cho các tài nguyên không cần đến nữa. Nếu bạn mong muốn thực thi dịch vụ của mình trên phạm vi toàn cầu với độ trễ thấp, không cần đội ngũ vận hành và với chi phí bằng không, thì Cloud Run chính là một lựa chọn tuyệt vời dành cho bạn. Cloud Run đảm nhận việc cân bằng tải toàn cầu và tự động thay đổi tỷ lệ về 0 giúp bạn ở mọi khu vực Google Cloud.

Hơn nữa, các tính năng như hỗ trợ triển khai dần dần và rollback cho phép các nhà phát triển thử nghiệm và kiểm tra các ý tưởng một cách nhanh chóng, đồng thời quản lý được lưu lượng phức tạp trong Cloud Run. Tương tự, Cloud Run cũng cung cấp quyền truy cập theo dõi phân tán mà không cần thiết lập hoặc cấu hình, cho phép các nhà phát triển tìm thấy các điểm nghẽn về hiệu suất trong môi trường sản xuất (production).

Bước tiếp theo: Bảo mật không máy chủ

Là một phần trong các thực hành tốt nhất của DevOps, Google xây dựng tính bảo mật cho các ứng dụng không máy chủ ở mọi lớp: triển khai, thực thi và mạng. Lấy ví dụ, tính năng quét lỗ hổng được tích hợp đảm bảo bạn chỉ triển khai trên các tạo tác (artifact) bạn tin cậy.

Google đã ra mắt hỗ trợ Cloud Run cho Google Secret Manager và khóa mã hóa do khách hàng quản lý (Customer-Managed Encryption Keys – CMEK) nhằm bảo vệ dữ liệu ở chế độ nghỉ và dữ liệu nhạy cảm. Họ cũng đang tích hợp Cloud Run với Binary Authorization, hỗ trợ bạn thực thi cách chính sách cụ thể nhằm đảm bảo chỉ những hình ảnh đã được xác minh mới được đưa vào sản xuất. Cuối cùng, họ thêm cả tích hợp mới với Identity-Aware Proxy, hỗ trợ VPC-SC và các kiểm soát đầu ra (egress control) mà bạn có thể sử dụng để thực hiện bảo mật vành đai (security perimeter), đồng thời có thể chỉ định quyền truy cập cho các dịch vụ cụ thể và giới hạn những tài nguyên có thể được truy cập trong môi trường sản xuất. Bạn có thể tìm hiểu thêm về các cải tiến bảo mật này tại đây.

Theo Google Cloud Blog