Thuật ngữ không máy chủ đã xâm nhập vào hầu hết các cuộc trò chuyện trên đám mây, trở thành “lối tắt” trong sự phát triển tự nhiên của điện toán đám mây gốc, trở nên hoàn chỉnh với nhiều lợi ích về năng suất, hiệu quả và tính đơn giản. Sự ra đời của các nền tảng Functions as a Service (FAAS) hiện đại như AWS Lambda và Google Cloud Functions đã dự báo trước một cách tiếp cận mới về các ứng dụng dựa trên đám mây: chuyển từ các ứng dụng nguyên khối và khó di chuyển sang các ứng dụng phân tán không máy chủ dựa trên sự kiện và các chức năng nhẹ, có mục đích duy nhất, nơi việc quản lý cơ sở hạ tầng trở thành một vấn đề của dĩ vãng.

Với những nền tảng không máy chủ ban đầu này, các nhà phát triển đã hiểu rằng họ không cần phải lý giải hoặc trả tiền cho cơ sở hạ tầng thô. Không có gì ngạc nhiên khi điều đó khiến họ áp dụng những lợi ích của kiến trúc không máy chủ cho nhiều khối lượng công việc truyền thống hơn, cho dù đó là các trường hợp sử dụng ETL đơn giản hay các ứng dụng web kế thừa, các nhà phát triển đều mong muốn tận dụng lợi ích của nền tảng không máy chủ để tăng năng suất và thời gian sản phẩm của họ tạo ra giá trị.

Chưa kể đến việc rất nhiều khối lượng công việc truyền thống không phù hợp với các giả định của hầu hết các nền tảng không máy chủ, và việc viết lại các ứng dụng lớn, quan trọng và có tính kế thừa đó thành một loạt các chức năng dựa trên sự kiện không phải là một công việc hấp dẫn. Những gì các nhà phát triển cần là một nền tảng có thể cung cấp tất cả các lợi ích cốt lõi của kiến trúc không máy chủ mà không yêu cầu họ viết lại ứng dụng của mình – hoặc thực sự có một giải pháp nào đó cho khối lượng công việc họ muốn thực thi.

Với bản phát hành Cloud Run vào năm 2019, Google Cloud đã xác định lại cách thị trường và khách hàng của họ suy nghĩ về kiến trúc không máy chủ. Họ đã tạo ra một nền tảng không có máy chủ cốt lõi, nhưng vẫn có khả năng thực thi một nhóm ứng dụng rộng hơn nhiều so với các nền tảng không máy chủ trước đó. Cloud Run thực hiện điều này bằng cách sử dụng vùng chứa làm nguyên thủy nền tảng (fundamental primitive). Trong hai năm kể từ khi ra mắt, nhóm Cloud Run đã phát hành 80 bản cập nhật riêng biệt cho nền tảng này, trung bình 10 ngày một lần. Nhờ đó, số lần triển khai Cloud Run đã tăng hơn gấp 4 lần trong vòng một năm, từ tháng 9 năm 2020 đến tháng 9 năm 2021.

Thế hệ tiếp theo của nền tảng không máy chủ sẽ cần duy trì các đặc điểm cốt lõi và có giá trị cao của thế hệ đầu tiên như:

  • Tự động thay đổi quy mô nhanh chóng
  • Tùy chọn mô hình thanh toán cho mỗi lần sử dụng
  • Rào cản gia nhập thấp nhờ sự đơn giản

Sắp tới, các nền tảng không máy chủ sẽ cần một bộ khả năng mạnh mẽ hơn nhiều để phục vụ một loạt khối lượng công việc và khách hàng mới rộng lớn hơn. Dưới đây là năm xu hướng hàng đầu trong nền tảng không máy chủ mà Google Cloud đã dự đoán cho năm 2022 và hơn thế nữa.

1. Nhiều khối lượng công việc (kế thừa) hơn

Giá trị của kiến trúc không máy chủ không dừng lại ở các ứng dụng mới và không yêu cầu viết lại toàn bộ những gì đã (và đã từng) hoạt động tốt. Các nhà phát triển cần có khả năng áp dụng những lợi ích của không máy chủ cho nhiều khối lượng công việc hơn, bao gồm cả những khối lượng công việc hiện có.

Cloud Run có thể mở rộng phạm vi khối lượng công việc mà nó có thể giải quyết, với một số khả năng mới như:

  • Tương tranh trên thực thể (Per-instance concurrency): Nhiều ứng dụng truyền thống hoạt động kém khi bị giới hạn trong một mô hình yêu cầu đơn nhất (single-request) phổ biến trong các nền tảng FaaS. Cloud Run mang lại hiệu quả cao hơn nhiều nhờ khả năng hỗ trợ tối đa 1.000 yêu cầu đồng thời trên một thực thể ứng dụng.
  • Xử lý nền (Background processing): Các nền tảng không máy chủ thế hệ hiện nay thường “đóng băng” chức năng khi nó không được sử dụng. Điều này tạo ra một mô hình thanh toán được đơn giản hóa (chỉ thanh toán khi nó đang thực thi), nhưng có thể gây khó khăn khi thực thi khối lượng công việc cần thiết để đảm nhận các công việc nền. Cloud Run hỗ trợ các điều khiển phân bổ CPU mới, cho phép các quy trình nền này thực thi như mong đợi.
  • Thời gian chạy bất định (Any runtime): Các ngôn ngữ lập trình và thời gian chạy hiện đại thường thích hợp cho các ứng dụng mới, nhưng nhiều ứng dụng hiện có không thể viết lại hoặc phụ thuộc vào ngôn ngữ mà nền tảng không máy chủ không hỗ trợ. Cloud Run hỗ trợ Docker images tiêu chuẩn và có thể thực thi bất kỳ thời gian chạy nào, cũng như bất kỳ phiên bản thời gian chạy nào mà bạn có thể thực thi trong vùng chứa.

2. Bảo mật và tính toàn vẹn của chuỗi cung ứng

Các vụ hack nổi tiếng gần đây như SolarWinds, Mimecast / Microsoft Exchange và Codecov đã rình rập các lỗ hổng của chuỗi cung ứng phần mềm. Các tác nhân độc hại đang làm ảnh hưởng đến chuỗi cung ứng phần mềm – từ việc gửi mã độc đến bỏ qua đường ống CI/CD.

Cloud Run tích hợp với Cloud Build, mặc định cung cấp khả năng tuân thủ SLSA cấp độ 1 và xuất xứ có thể xác minh của bản dựng. Với nguồn gốc mã nguồn, bạn có thể theo dõi một mã nhị phân cho mã nguồn để ngăn chặn việc giả mạo và chứng minh rằng mã nguồn bạn đang thực thi chính là mã nguồn bạn cho rằng mình đang thực thi. Ngoài ra, tính năng Build Integrity mới còn tự động tạo ra chữ ký điện tử có thể xác minh bởi Binary Authorization trước khi triển khai.

3. Kiểm soát chi phí và tính linh hoạt trong thanh toán

Các khối lượng công việc có các mẫu lưu lượng thay đổi cao hoặc những công việc có lưu lượng truy cập nói chung là thấp, rất phù hợp với các đặc tính tự động mở rộng quy mô và thu nhỏ về 0 nhanh chóng của kiến trúc không máy chủ. Tuy nhiên, khối lượng công việc với mô hình trạng thái ổn định hơn thường có thể tốn kém chi phí nhiều hơn khi thực thi với các mô hình thanh toán chi tiết cho mỗi lần sử dụng. Ngoài ra, khả năng tự động mở rộng quy mô không bị giới hạn mạnh mẽ như vậy có thể gây khó khăn cho việc dự đoán chi phí thực thi ứng dụng trong tương lai.

Cloud Run bao gồm nhiều tính năng để giúp bạn quản lý và giảm chi phí cho khối lượng công việc không máy chủ. Các tổ chức 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ới mức chiết khấu cao. Bạn không cần thanh toán trả trước và những chiết khấu này có thể giúp bạn tiết kiệm chi tiêu lên tới 17%.

Tính năng always-on CPU (CPU luôn bật) loại bỏ tất cả các khoản phí theo yêu cầu và được định giá thấp hơn 25% so với mô hình thanh toán trên mỗi yêu cầu (pay-per-request) tiêu chuẩn. Mô hình này thường được ưu tiên cho các ứng dụng có các mẫu lưu lượng dễ dự đoán hơn hoặc những ứng dụng đòi hỏi xử lý nền.

Đối với các ứng dụng yêu cầu tính sẵn sàng cao với việc triển khai toàn cầu, các nền tảng “cố định” truyền thống có thể cực kỳ tốn kém, với mỗi khu vực dự phòng cần phải hỗ trợ dung lượng cho tất cả lưu lượng toàn cầu. Hoạt động thu nhỏ quy mô về 0 của Cloud Run, cùng với tính khả dụng của nó ở tất cả các khu vực GCP giúp bạn có thể phân phối ứng dụng trên toàn cầu mà không cần phân bổ dung lượng cố định ở bất kỳ khu vực nào.

4. Trải nghiệm DevOps với các thực hành hay nhất được tích hợp sẵn

Một phần lớn của việc nâng cao tính đơn giản và năng suất cho các nhà phát triển là giảm bớt các rào cản gia nhập để họ có thể tập trung hơn vào mã nguồn của mình. Sự đơn giản này cần mở rộng ra ngoài các hoạt động của ngày đầu tiên và cung cấp trải nghiệm DevOps được tích hợp.

Cloud Run hỗ trợ một trải nghiệm DevOps end-to-end, từ mã nguồn đến công cụ hoạt động ngày thứ hai:

  • Bắt đầu với một vùng chứa hoặc sử dụng các gói xây dựng (buildpack) để tạo hình ảnh vùng chứa trực tiếp từ mã nguồn: Trên thực tế, bạn thậm chí không cần học về Docker hoặc các vùng chứa. Với một lệnh gcloud run deploy duy nhất, bạn có thể xây dựng và triển khai mã nguồn của mình trên Cloud Run.
  • Tăng tốc độ trên máy chủ với các hướng dẫn tích hợp trong Cloud Shell EditorCloud Code: Không còn phải chuyển đổi giữa các tab, tài liệu, thiết bị đầu cuối và mã nguồn nữa, bạn thậm chí có thể tạo ra các hướng dẫn của riêng mình, cho phép tổ chức của bạn chia sẻ các thực hành hay nhất và tuyển thêm nhanh chóng hơn.
  • Thử nghiệm và kiểm tra ý tưởng một cách nhanh chóng: Chỉ với vài cú nhấp chuột, bạn có thể thực hiện triển khai và khôi phục dần dần, đồng thời thực hiện quản lý lưu lượng nâng cao trong Cloud Run.
  • Nhận quyền truy cập theo dõi phân tán mà không cần thiết lập hoặc định cấu hình, hỗ trợ bạn tìm ra các điểm nghẽn về hiệu suất trong quá trình sản xuất chỉ trong vài phút.

5. Tính di động

Mã nguồn bạn viết và các ứng dụng bạn thực thi không nên bị ràng buộc với một nhà cung cấp duy nhất. Các lợi ích từ nền tảng của nhà cung cấp nên được áp dụng cho ứng dụng của bạn với điều kiện bạn không cần phải thay đổi ứng dụng của mình theo những cách không cần thiết khiến bạn phải gắn bó với một nhà cung cấp cụ thể.

Cloud Run thực thi các hình ảnh vùng chứa Docker tiêu chuẩn. Khi triển khai mã nguồn trực tiếp lên Cloud Run, Google sử dụng các gói xây dựng mã nguồn mở để biến mã nguồn của bạn thành một vùng chứa. Mã nguồn của bạn, gói xây dựng bạn đã sử dụng và vùng chứa của bạn luôn có thể được thực thi cục bộ, tại chỗ hoặc trên bất kỳ đám mây nào khác.

Không cần tìm đâu xa

Năm xu hướng này là những điều quan trọng cần xem xét khi bạn so sánh các giải pháp không máy chủ khác nhau trên thị trường trong năm tới. Giải pháp không máy chủ tốt nhất sẽ cho phép bạn thực thi nhiều ứng dụng mà không có giới hạn về ngôn ngữ, mạng và khu vực. Nó cũng sẽ cung cấp nhiều hợp đồng sử dụng an toàn, với một chuỗi cung ứng phần mềm an toàn được tích hợp. Và bạn sẽ muốn xem xét cách nền tảng giúp bạn kiểm soát chi phí, và rằng liệu nó có cung cấp trải nghiệm DevOps được tích hợp và bảo đảm tính di động hay không. Chúng tôi khuyến khích bạn dùng thử Cloud Run với các hướng dẫn Bắt đầu nhanh tại đây.

Theo Google Cloud Blog

Menu