Điện toán serverless là gì?
Điện toán phi máy chủ là mô hình phát triển ứng dụng giúp bạn xây dựng và triển khai các ứng dụng trên cơ sở hạ tầng máy chủ do bên thứ ba quản lý. Tất cả các ứng dụng đều cần có máy chủ để chạy. Nhưng trong mô hình phi máy chủ, nhà cung cấp dịch vụ đám mây sẽ quản lý công việc thường nhật; họ cung cấp, điều chỉnh quy mô và duy trì cơ sở hạ tầng cơ bản. Nhà cung cấp dịch vụ đám mây xử lý một số công việc như quản lý hệ điều hành, bản vá bảo mật, quản lý hệ thống tệp và dung lượng, cân bằng tải, giám sát và ghi nhật ký. Nhờ đó, các nhà phát triển của bạn có thể tập trung vào thiết kế ứng dụng mà vẫn được hưởng lợi ích từ cơ sở hạ tầng máy chủ tiết kiệm chi phí, hiệu quả cao và có khả năng điều chỉnh quy mô cực lớn.
Tại sao điện toán phi máy chủ lại quan trọng?
Vào những ngày đầu của thời đại Internet, bất cứ ai muốn chạy một ứng dụng web đều phải mua và duy trì các máy chủ vật lý. Các công ty thường sẽ lưu trữ thiết bị máy chủ vật lý của họ trong trung tâm dữ liệu tại chỗ hoặc các cơ sở đồng vị trí. Việc này có thể tốn kém, vì hầu hết các ứng dụng chỉ sử dụng một phần rất nhỏ tài nguyên phần cứng máy chủ.
Mô hình điện toán đám mây ban đầu đã giải quyết vấn đề này bằng cách cho phép khách hàng tạo máy chủ ảo hoặc phiên bản trên phần cứng của nhà cung cấp dịch vụ đám mây. Tuy nhiên, khách hàng vẫn phải cung cấp, đặt cấu hình, cập nhật và điều chỉnh quy mô cho các máy chủ ảo của họ.
Để đối phó với những vấn đề này, các nhà cung cấp dịch vụ đám mây bắt đầu cung cấp công nghệ phi máy chủ để tăng tính linh hoạt và tối ưu hóa chi phí hơn nữa. Với điện toán phi máy chủ, các nhà phát triển của bạn có thể chạy mã, quản lý dữ liệu và tích hợp ứng dụng mà không phải lo lắng về các tác vụ quản lý cơ sở hạ tầng.
Việc áp dụng công nghệ phi máy chủ mang lại một số lợi ích. Chúng tôi sẽ giới thiệu về những lợi ích này ở phần tiếp theo.
Tăng năng suất của nhà phát triển
Đội ngũ phát triển của bạn có thể tập trung vào việc xây dựng ứng dụng thay vì đặt cấu hình ứng dụng. Chi phí vận hành thấp hơn đồng nghĩa với việc ứng dụng của bạn được đưa ra thị trường nhanh hơn. Các nhà phát triển của bạn có thể trả lời ý kiến phản hồi của khách hàng và thường xuyên phát hành các thay đổi về mã ứng dụng.
Khả năng điều chỉnh quy mô hiệu quả
Các nhà cung cấp dịch vụ đám mây cung cấp tính năng tự động điều chỉnh quy mô trong môi trường phi máy chủ của họ. Các ứng dụng phi máy chủ của bạn tự động điều chỉnh quy mô từ 0 đến nhu cầu ở mức cao nhất. Các nhà phát triển của bạn không cần phải suy nghĩ về việc sử dụng trong khi viết mã.
Giảm chi phí
Bạn chỉ trả tiền cho CPU, bộ nhớ và các tài nguyên điện toán khác cần thiết khi mã chạy. Bạn không phải trả phí cho những tài nguyên nhàn rỗi. Mô hình thanh toán trả phí theo giá trị này đảm bảo sử dụng tài nguyên tối ưu và không lãng phí do cung cấp quá mức.
Điện toán phi máy chủ được sử dụng trong những trường hợp nào?
Điện toán phi máy chủ có thể hữu ích đối với nhiều ứng dụng và hệ thống.
Phát triển ứng dụng phi trạng thái
Kiến trúc phi máy chủ lý tưởng cho các ứng dụng không đồng bộ, phi trạng thái không lưu dữ liệu máy khách giữa các phiên. Ví dụ về các ứng dụng phi máy chủ bao gồm chatbot, trình lập lịch tác vụ và ứng dụng IoT. Ví dụ: Coca-Cola đã sử dụng AWS để phát triển một ứng dụng rót di động cho máy pha chế đồ uống không chạm của mình chỉ trong 100 ngày. Coca-Cola đã sử dụng các khối xây dựng phi máy chủ như AWS Lambda.
Xử lý lô dữ liệu
Các ứng dụng xử lý lô dữ liệu định kỳ hoàn thành các công việc dữ liệu lặp đi lặp lại, khối lượng lớn như sao lưu, lọc và sắp xếp. Xử lý lô dữ liệu rất phù hợp với các môi trường phi máy chủ điều chỉnh quy mô lớn khi cần thiết và giúp tiết kiệm chi phí khi không sử dụng.
Ví dụ: Liberty Mutual đã sử dụng AWS để hợp nhất các lĩnh vực kinh doanh toàn cầu khác nhau của mình thành một hệ thống tập trung được gọi là Dịch vụ trung tâm tài chính (FCS). Công ty này đã sử dụng AWS Step Functions để tạo một ứng dụng phi máy chủ có thể xử lý 100 triệu giao dịch trong một lần chạy vào cuối mỗi tháng.
Phân tích dữ liệu theo thời gian thực
Điện toán phi máy chủ lý tưởng cho các công cụ truyền phát trực tuyến theo thời gian thực để cải thiện khả năng đáp ứng khách hàng. Các ứng dụng phi máy chủ có thể xử lý một lượng lớn dữ liệu truyền phát trực tuyến từ hàng trăm nghìn nguồn trong khi trải qua độ trễ thấp và băng thông cao. Kết quả là, bạn có thể thu được thông tin chuyên sâu trong vài giây thay vì vài phút.
Ví dụ: Genentech sử dụng chức năng phi máy chủ AWS để phân tích dữ liệu lâm sàng. Giờ đây, chỉ mất vài giờ là các nhà nghiên cứu đã có thể hoàn thành những nhiệm vụ mà trước đây phải mất vài tuần để thực hiện.
Tự động hóa quy trình kinh doanh
Bạn có thể sử dụng cách tiếp cận phi máy chủ để tự động hóa các quy trình kinh doanh tẻ nhạt và tốn thời gian. Các nhà phát triển của bạn có thể tập trung vào việc dịch logic kinh doanh sang mã ứng dụng mà không cần quản lý máy chủ.
Ví dụ: Taco Bell đã sử dụng AWS để tạo các ứng dụng phi máy chủ nhằm thực hiện chuyển đổi dữ liệu và logic kinh doanh. Những ứng dụng này cung cấp thực đơn và thông tin nhà hàng theo thời gian thực cho các đối tác giao hàng của Taco Bell. Các khoản đầu tư vào công nghệ phi máy chủ đã giúp thương hiệu này nhanh chóng thay đổi để đáp ứng nhu cầu giao hàng của người tiêu dùng trong đại dịch COVID-19.
Kiến trúc phi máy chủ hoạt động như thế nào?
Bất kỳ ứng dụng nào cũng có 2 lĩnh vực chức năng rộng — frontend và backend. Frontend bao gồm mọi thứ mà người dùng cuối của bạn tương tác — chẳng hạn như bố cục, các nút và văn bản hiển thị trực quan. Backend bao gồm chức năng mà người dùng của bạn không thể truy cập, như lưu trữ và xử lý dữ liệu.
Ví dụ: xem xét ứng dụng đặt vé máy bay trên thiết bị di động của bạn. Frontend là giao diện người dùng ứng dụng của bạn, tại đây bạn có thể chọn ngày và yêu cầu danh sách các chuyến bay có sẵn. Yêu cầu của bạn sẽ được chuyển đến backend, chức năng này sẽ tìm kiếm cơ sở dữ liệu và trả về thông tin liên quan đến tất cả các chuyến bay có sẵn trong khung thời gian bạn đã chọn. Sơ đồ sau đây minh họa kiến trúc truyền thống.
Trong kiến trúc phi máy chủ, các nhà phát triển triển khai mã backend trong cơ sở hạ tầng đám mây do các nhà cung cấp dịch vụ đám mây cung cấp. Phần quan trọng của ứng dụng phi máy chủ là kiến trúc hướng sự kiện, một mẫu kiến trúc hiện đại được xây dựng từ các dịch vụ nhỏ, tách rời có chức năng đăng tải, sử dụng hoặc định tuyến các sự kiện. Sự kiện là tin nhắn được gửi giữa các dịch vụ.
Kiến trúc này giúp đơn giản hóa việc điều chỉnh quy mô, cập nhật và triển khai độc lập các thành phần riêng biệt của hệ thống. Sơ đồ sau đây minh họa một vi dịch vụ phi máy chủ hướng sự kiện.
Tiếp theo, chúng tôi sẽ trình bày tổng quan về cách thức hoạt động của kiến trúc phi máy chủ.
Chức năng
Hàm là các đơn vị mã nhỏ, rời rạc thực hiện một nhiệm vụ duy nhất. Một hàm cần có các tài nguyên điện toán như CPU và bộ nhớ để chạy. Nhà cung cấp dịch vụ đám mây chỉ phân bổ các tài nguyên này khi được yêu cầu. Họ tạo ra một môi trường tạm thời để hàm phi máy chủ chạy.
Một số sự kiện nhất định có thể kích hoạt hoặc làm cho đơn vị mã chạy. Ví dụ: một sự kiện có thể chạy nếu người dùng chọn một nút trong ứng dụng. Yêu cầu sẽ kích hoạt một hàm đọc cơ sở dữ liệu và trả về thông tin liên quan cho người dùng.
Yêu cầu điều chỉnh quy mô
Một hàm càng nhận được nhiều yêu cầu, thì hàm đó càng cần nhiều tài nguyên để chạy. Nền tảng phi máy chủ giám sát tải và tiếp tục phân bổ tài nguyên đám mây đến quy mô gần như vô hạn. Nhờ đó, một hàm phi máy chủ có thể xử lý một hoặc một triệu yêu cầu mà không cần thay đổi mã.
Khi một hàm ngừng nhận yêu cầu, nhà cung cấp dịch vụ đám mây sẽ gỡ bỏ cơ sở hạ tầng liên quan để tiết kiệm chi phí. Họ chỉ phân bổ tài nguyên khi được yêu cầu. Nếu không có hoạt động sử dụng nào, môi trường có thể điều chỉnh quy mô về 0.
Có những loại kiến trúc phi máy chủ nào?
Trong kiến trúc phi máy chủ, nhà cung cấp dịch vụ đám mây quản lý một số tác vụ backend nhỏ và lớn cho ứng dụng của bạn. Bạn có thể triển khai mã tùy chỉnh; nhà cung cấp dịch vụ đám mây sẽ tự động phân bổ tài nguyên bất cứ khi nào mã của bạn chạy. Nền tảng đám mây cũng có thể cung cấp chức năng backend để bạn có thể sử dụng trực tiếp mà không cần viết mã từ đầu.
Tiếp theo, chúng tôi sẽ giải thích về cả hai loại kiến trúc phi máy chủ.
Hàm dưới dạng dịch vụ
Hàm dưới dạng dịch vụ (FaaS) là một kiến trúc phi máy chủ mà các nhà phát triển có thể sử dụng để viết các hàm backend tùy chỉnh và triển khai mã hàm trực tiếp cho cơ sở hạ tầng đám mây. Khi một hàm được gọi, nhà cung cấp dịch vụ đám mây sẽ chạy hàm đó trên một máy chủ đang hoạt động hiện có hoặc khởi động một máy chủ mới nếu cần. Các hàm như vậy được gọi là hàm phi máy chủ vì quá trình thực thi của chúng được tách khỏi các nhà phát triển. Các nhà phát triển có thể viết và triển khai mã mà không cần lo lắng về cách thức và vị trí chạy mã.
Backend dưới dạng dịch vụ
Backend dưới dạng dịch vụ (BaaS) cho phép nhà phát triển truy cập vào các hàm backend bằng API. API là cơ chế cho phép 2 thành phần phần mềm giao tiếp với nhau bằng một tập hợp các định nghĩa và giao thức.
Trong môi trường phi máy chủ của họ, các nhà cung cấp dịch vụ đám mây cấp quyền truy cập dựa trên API vào các cơ sở dữ liệu bổ sung chuyên mã hóa, xác thực và có thể truy cập đám mây. Họ cũng có thể cấp quyền truy cập vào các dịch vụ và ứng dụng của bên thứ ba khác. Các hàm phi máy chủ này được viết sẵn và có thể được gọi trực tiếp trong mã.
Chiến lược ưu tiên phi máy chủ là gì?
Kiến trúc phi máy chủ được công nhận theo các nguyên lý sau:
- Không cần quản lý máy chủ
- Dịch vụ trả phí theo giá trị
- Thay đổi quy mô liên tục
- Tích hợp sẵn khả năng chịu lỗi
Chiến lược ưu tiên phi máy chủ ưu tiên những nguyên lý này trong toàn bộ các ứng dụng, hoạt động và chu kỳ phát triển của tổ chức. Một nhà phát triển phi máy chủ hoặc công ty ưu tiên phi máy chủ đang nỗ lực tạo dựng ứng dụng sẽ sử dụng các nguyên lý này trước tiên và coi đó là những nguyên lý quan trọng nhất.
Tuy nhiên, điện toán phi máy chủ không phù hợp với mọi khối lượng công việc. Bạn có thể kết hợp các công nghệ máy chủ làm kiến trúc hỗ trợ khi cần.
Kiến trúc phi máy chủ có an toàn không?
Hầu hết các nhà cung cấp dịch vụ đám mây đều áp dụng mô hình bảo mật chia sẻ. Nhà cung cấp dịch vụ đám mây chịu trách nhiệm về tính bảo mật của đám mây, trong khi khách hàng chịu trách nhiệm về tính bảo mật trong đám mây.
Với công nghệ phi máy chủ, nhà cung cấp dịch vụ đám mây quản lý nhiều lớp cơ sở hạ tầng bổ sung, bao gồm cả hệ điều hành và kết nối mạng. Khách hàng phải tuân theo các nguyên tắc đặc quyền tối thiểu và các phương pháp thực hành tốt nhất để bảo mật một ứng dụng phi máy chủ.
Ví dụ: trong các giải pháp AWS FaaS như AWS Lambda, bạn có thể bảo mật từng tài nguyên bằng các quyền chi tiết nhờ sử dụng các công cụ quen thuộc như Trung tâm danh tính AWS IAM. Điều này có thể giúp mang lại cho bạn một vị thế bảo mật mạnh mẽ cho các ứng dụng phi máy chủ.
AWS có thể hỗ trợ các yêu cầu điện toán phi máy chủ của bạn như thế nào?
Amazon Web Services (AWS) có nhiều dịch vụ để hỗ trợ công việc điện toán phi máy chủ của bạn.
Dịch vụ phi máy chủ trên AWS nêu chi tiết các công nghệ mà bạn có thể sử dụng để chạy mã, quản lý dữ liệu và tích hợp các ứng dụng mà không cần quản lý máy chủ. Với công nghệ phi máy chủ AWS, bạn có được khả năng tự động điều chỉnh quy mô, độ sẵn sàng cao được tích hợp sẵn và mô hình thanh toán trả phí theo mức sử dụng để tăng tính linh hoạt và tối ưu hóa chi phí. Những công nghệ này cũng loại bỏ các tác vụ quản lý cơ sở hạ tầng như cung cấp dung lượng và vá lỗi, nên bạn có thể tập trung viết mã phục vụ khách hàng của mình.
Các ứng dụng phi máy chủ bắt đầu với AWS Lambda, một dịch vụ điện toán theo sự kiện được tích hợp nguyên bản với trên 200 dịch vụ AWS. Chúng tôi còn có một số lượng lớn dịch vụ hỗ trợ bổ sung như sau:
- AWS Fargate để tạo dựng các ứng dụng phi máy chủ tương thích với Dịch vụ bộ chứa linh hoạt của Amazon (Amazon ECS) và Dịch vụ Kubernetes linh hoạt Amazon (Amazon EKS)
- Amazon Aurora phi máy chủ để xây dựng các cơ sở dữ liệu phi máy chủ sẽ tự động điều chỉnh dung lượng dựa trên nhu cầu ứng dụng của bạn
- AWS AppSync để tăng tốc độ phát triển ứng dụng bằng các API GraphQL có thể điều chỉnh quy mô
Hãy tạo tài khoản ngay hôm nay để bắt đầu sử dụng công nghệ phi máy chủ trên AWS.