Khi cân nhắc nên sử dụng dịch vụ điện toán nào cho một trường hợp sử dụng cụ thể, bạn nên đảm bảo rằng mình được cập nhật mọi bản phát hành tính năng hoặc dịch vụ AWS mới. Để xem lại tổng quan cấp cao về các dịch vụ điện toán AWS khác nhau của AWS, hãy xem Điện toán trên AWS - Tính toán cho mọi khối lượng công việc.
Lambda là một dịch vụ điện toán cung cấp các chức năng điện toán phi máy chủ chạy để phản hồi các sự kiện hoặc trình kích hoạt. Khi phát hiện một sự kiện hoặc trình kích hoạt, hàm Lambda sẽ được tách ra trong môi trường thời gian chạy an toàn và tách biệt của chính hàm đó, được gọi là môi trường thực thi. Các hàm Lambda có thể chạy tối đa 15 phút. Bất kỳ quy trình nào cần thời gian chạy lâu hơn 15 phút đều nên sử dụng các dịch vụ điện toán khác trên AWS để lưu trữ. Mỗi môi trường thực thi vẫn hoạt động trong một khoảng thời gian và sau đó tự tắt.
Khi sử dụng Lambda, bạn chỉ chịu trách nhiệm về mã của mình, điều này có thể giúp tối ưu hóa dễ dàng hơn nhằm mang lại hiệu quả hoạt động và chi phí vận hành thấp. Lambda quản lý nhóm điện toán, cung cấp sự cân bằng về bộ nhớ, CPU, mạng và các tài nguyên khác để chạy mã của bạn. Vì Lambda quản lý các tài nguyên này nên bạn không thể đăng nhập để tính toán các phiên bản hoặc tùy chỉnh hệ điều hành trong thời gian chạy được cung cấp. Lambda thay mặt bạn thực hiện các hoạt động vận hành và quản trị, bao gồm quản lý năng lực, giám sát và ghi nhật ký các hàm Lambda của bạn. Nếu bạn cần quản lý tài nguyên điện toán của riêng mình, AWS có các dịch vụ điện toán khác có thể đáp ứng nhu cầu của bạn. Ví dụ:
Đám mây điện toán đàn hồi Amazon (Amazon EC2) cung cấp nhiều loại phiên bản EC2 để bạn lựa chọn. Với Amazon EC2, bạn có thể tùy chỉnh hệ điều hành, cài đặt mạng và bảo mật cũng như toàn bộ kho phần mềm. Bạn chịu trách nhiệm cung cấp năng lực, theo dõi tình trạng và hiệu suất của nhóm cũng như sử dụng Vùng sẵn sàng để có khả năng chịu lỗi.
AWS Elastic Beanstalk là dịch vụ mà bạn có thể sử dụng để triển khai và mở rộng quy mô ứng dụng trên Amazon EC2. Bạn giữ quyền sở hữu và toàn quyền kiểm soát các phiên bản EC2 cơ bản.
Lambda có thể được sử dụng cho hầu hết mọi ứng dụng hoặc chương trình phụ trợ yêu cầu điện toán và chạy trong thời gian dưới 15 phút. Các trường hợp sử dụng phổ biến là phụ trợ web, phụ trợ Internet of Things (IoT), phụ trợ di động, xử lý tệp hoặc dữ liệu, xử lý luồng hoặc tin nhắn, v.v. Lambda là lựa chọn phù hợp cho các trường hợp sử dụng trong đó các yêu cầu bao gồm giảm chi phí vận hành, tối ưu hóa chi phí hoặc tối ưu hóa hiệu suất hoạt động. Lambda hoạt động hiệu quả trong những trường hợp sử dụng này vì đây là dịch vụ được quản lý và bạn chỉ trả tiền cho những gì mình sử dụng. Không có tài nguyên nhàn rỗi khi làm việc với AWS Lambda, điều đó có nghĩa là mỗi chức năng Lambda đều có hiệu suất cao và tiết kiệm chi phí.
Để hiểu sâu hơn về Lambda, hãy xem Câu hỏi thường gặp về AWS Lambda.
Để tìm hiểu thêm về Lambda, hãy xem Hướng dẫn dành cho nhà phát triển AWS Lambda hoặc Hướng dẫn vận hành AWS Lambda.
Để tìm hiểu thêm về kiến trúc và các biện pháp thực hành tốt nhất cho Lambda, hãy xem Kiến trúc và các phương pháp hay nhất.
Để biết danh sách các cuộc thảo luận kỹ thuật về Lambda, hãy xem AWS Lambda - Tọa đàm kỹ thuật.
Để biết danh sách các hướng dẫn kỹ thuật sử dụng Lambda, hãy xem AWS Lambda - Hội thảo & Hướng dẫn.
Amazon API Gateway tích hợp với Lambda, do đó cung cấp một cách để hiển thị dịch vụ phụ trợ mà không cần tiếp xúc với Internet mở.
API Gateway là một dịch vụ được quản lý hoàn toàn giúp các nhà phát triển tạo, xuất bản, duy trì, giám sát và bảo mật API dễ dàng hơn ở mọi quy mô. API đóng vai trò là cửa trước cho các ứng dụng để ứng dụng có thể truy cập dữ liệu, logic nghiệp vụ hoặc chức năng từ các dịch vụ phụ trợ của bạn. Bằng cách sử dụng API Gateway, bạn có thể tạo API RESTful và API WebSocket hỗ trợ các ứng dụng giao tiếp hai chiều theo thời gian thực. API Gateway hỗ trợ khối lượng công việc được chứa trong bộ chứa và không có máy chủ cũng như các ứng dụng web.
API Gateway xử lý tất cả các nhiệm vụ liên quan đến việc chấp nhận và xử lý lên tới hàng trăm nghìn lệnh gọi API đồng thời, bao gồm quản lý lưu lượng, hỗ trợ CORS, kiểm soát ủy quyền và truy cập, điều tiết, giám sát và quản lý phiên bản API. API Gateway không có phí tối thiểu hoặc chi phí khởi động. Bạn trả tiền cho các lệnh gọi API mà bạn nhận được cũng như lượng dữ liệu được truyền đi và với mô hình định giá theo bậc của API Gateway, bạn có thể giảm chi phí khi mức sử dụng API của bạn tăng lên.
Để biết thêm thông tin về Amazon API Gateway, hãy xem Gateway API của Amazon hoặc Câu hỏi thường gặp về Gateway API của Amazon.
Amazon EC2 là dịch vụ cung cấp khả năng tính toán có thể thay đổi kích thước trên đám mây, nghĩa là dịch vụ này cung cấp các máy ảo trên đám mây. Amazon EC2 là một dịch vụ linh hoạt cung cấp nhiều loại phiên bản, kích cỡ và mô hình định giá để đáp ứng các yêu cầu cụ thể. Vì bạn có thể chọn hệ điều hành và cấu hình cho phiên bản của mình nên bạn có thể đặt cấu hình Amazon EC2 để hoạt động với hầu hết mọi khối lượng công việc.
Bạn có thể sử dụng Amazon EC2 khi muốn chạy ứng dụng trên AWS nhưng vẫn muốn giữ quyền kiểm soát cơ sở hạ tầng cơ bản. Morgan đã không chọn Amazon EC2 làm dịch vụ điện toán cho trường hợp sử dụng của khách hàng này vì chi phí hoạt động mà Amazon EC2 yêu cầu. Bạn có nhiều quyền kiểm soát đối với Amazon EC2, nhưng quyền kiểm soát đó cũng có nghĩa là bạn sẽ phải tốn thêm chi phí để quản lý dịch vụ. Khách hàng có trường hợp sử dụng đơn giản và sẵn sàng viết lại mã để sử dụng Lambda. Khách hàng cũng có nhu cầu tăng đột biến về khối lượng công việc của họ. Do đó, việc chọn một dịch vụ như Lambda sẽ giảm thiểu tài nguyên không hoạt động trong thời gian có khối lượng thấp, điều này có thể khó đạt được hơn với Amazon EC2.
Để biết hướng dẫn dành cho người mới bắt đầu về Amazon EC2, hãy xem Bắt đầu với phiên bản Amazon EC2 Linux.
Để hiểu sâu hơn về Amazon EC2, hãy xem Amazon EC2 là gì? hoặc Câu hỏi thường gặp về Amazon EC2.
Các công cụ quản lý vùng chứa có thể được chia thành ba loại: đăng ký, điều phối và tính toán. AWS cung cấp các dịch vụ cung cấp cho bạn một nơi an toàn để lưu trữ và quản lý hình ảnh vùng chứa, khả năng điều phối quản lý thời điểm và nơi vùng chứa của bạn chạy cũng như các công cụ điện toán linh hoạt để cung cấp năng lượng cho vùng chứa của bạn. AWS có thể giúp bạn quản lý bộ chứa và hoạt động triển khai chúng, nên bạn không phải lo lắng về cơ sở hạ tầng cơ bản. Bất kể bạn đang xây dựng nội dung gì, AWS đều giúp việc xây dựng bằng bộ chứa trở nên dễ dàng và hiệu quả.
Dịch vụ container không được chọn cho kiến trúc này vì khách hàng không muốn tích hợp công nghệ này vào hệ thống của họ. Vì vậy, mặc dù việc chạy một vùng chứa trên Amazon ECS bằng AWS Fargate làm nền tảng điện toán sẽ hoạt động về mặt kỹ thuật nhưng nó vẫn không được chọn vì các ưu tiên khác của khách hàng.
Amazon Elastic Container Service (Amazon ECS) là dịch vụ điều phối bộ chứa được quản lý toàn phần mà bạn có thể sử dụng để triển khai, quản lý và mở rộng quy mô ứng dụng trong bộ chứa. Nó tích hợp với phần còn lại của Đám mây AWS để cung cấp giải pháp an toàn và dễ sử dụng để chạy khối lượng công việc của container trên đám mây hoặc tại chỗ. Các tính năng chính của Amazon ECS:
Serverless theo mặc định với AWS Fargate: Fargate được tích hợp vào Amazon ECS và giúp giảm thời gian bạn cần dành cho việc quản lý máy chủ, xử lý lập kế hoạch công suất hoặc tìm ra cách tách khối lượng công việc của bộ chứa để bảo mật. Với Fargate, bạn xác định các yêu cầu của ứng dụng và chọn Fargate làm loại khởi chạy trong bảng điều khiển hoặc Giao diện dòng lệnh AWS (AWS CLI). Sau đó, Fargate sẽ đảm nhiệm tất cả việc quản lý cơ sở hạ tầng và mở rộng quy mô cần thiết để chạy vùng chứa của bạn.
Bảo mật và cách ly theo thiết kế: Amazon ECS tích hợp tự nhiên với các công cụ mà bạn tin tưởng về bảo mật, nhận dạng cũng như quản lý và quản trị. Điều này có thể giúp bạn bắt đầu sản xuất một cách nhanh chóng và thành công. Bạn có thể chỉ định các quyền chi tiết cho từng vùng chứa của mình, mang lại cho bạn mức độ cách ly cao khi xây dựng ứng dụng của mình. Bạn có thể khởi chạy các thùng chứa của mình với mức độ bảo mật và tuân thủ mà bạn mong đợi từ AWS.
Vận hành mặt phẳng điều khiển tự động: Amazon ECS là dịch vụ điều phối bộ chứa được quản lý toàn phần, được tích hợp sẵn cấu hình AWS và các biện pháp thực hành tốt nhất về vận hành—không có mặt phẳng điều khiển, nút hoặc tiện ích bổ sung nào để bạn quản lý. Nó tích hợp nguyên bản với cả AWS và các công cụ của bên thứ ba để giúp các nhóm tập trung vào việc xây dựng ứng dụng chứ không phải môi trường dễ dàng hơn.
Amazon Elastic Kubernetes Service (Amazon EKS) là một dịch vụ được quản lý mà bạn có thể sử dụng để chạy Kubernetes trên AWS mà không cần cài đặt, vận hành và bảo trì mặt phẳng hoặc nút điều khiển Kubernetes của riêng mình. Kubernetes là một hệ thống nguồn mở để tự động hóa việc triển khai, mở rộng quy mô và quản lý các ứng dụng được đóng gói. Amazon EKS cung cấp các tính năng sau:
Nó chạy và thay đổi quy mô mặt phẳng điều khiển Kubernetes trên nhiều Vùng sẵn sàng AWS để đảm bảo tính sẵn sàng cao.
Nó cũng tự động thay đổi quy mô các phiên bản mặt phẳng điều khiển dựa trên tải, phát hiện và thay thế các phiên bản mặt phẳng điều khiển không tốt, đồng thời cung cấp các bản cập nhật và vá lỗi phiên bản tự động cho chúng.
Nó được tích hợp với nhiều dịch vụ AWS để cung cấp khả năng mở rộng và bảo mật cho ứng dụng của bạn, bao gồm các khả năng sau:
Cơ quan đăng ký vùng chứa đàn hồi của Amazon (Amazon ECR dành cho hình ảnh vùng chứa).
Cân bằng tải đàn hồi để phân phối tải.
AWS Identity and Access Management (IAM) để xác thực.
Amazon Virtual Private Cloud (VPC) để cách ly.
Nó chạy các phiên bản Kubernetes cập nhật, vì vậy bạn có thể sử dụng tất cả các plugin và công cụ hiện có từ cộng đồng Kubernetes.
Các ứng dụng chạy trên Amazon EKS hoàn toàn tương thích với các ứng dụng chạy trên mọi môi trường Kubernetes tiêu chuẩn—bất kể chúng chạy trong trung tâm dữ liệu tại chỗ hay đám mây công cộng. Điều này có nghĩa là bạn có thể di chuyển bất kỳ ứng dụng Kubernetes tiêu chuẩn nào sang Amazon EKS mà hầu như không cần sửa đổi mã.
AWS Fargate là công nghệ mà bạn có thể sử dụng với Amazon ECS để chạy bộ chứa mà không cần quản lý máy chủ hoặc cụm phiên bản EC2. AWS Fargate giúp bạn giảm nhu cầu cung cấp, đặt cấu hình hoặc thay đổi quy mô các cụm máy ảo để chạy vùng chứa. Do đó, nó cũng giảm thiểu nhu cầu chọn loại máy chủ, quyết định thời điểm mở rộng quy mô cụm của bạn hoặc tối ưu hóa việc đóng gói cụm.
Khi bạn chạy các tác vụ và dịch vụ bằng kiểu khởi chạy Fargate, bạn sẽ đóng gói ứng dụng của mình trong các vùng chứa, chỉ định các yêu cầu về CPU và bộ nhớ, xác định các chính sách mạng và IAM cũng như khởi chạy ứng dụng. Mỗi tác vụ Fargate có ranh giới cách ly riêng và không chia sẻ nhân cơ bản, tài nguyên CPU, tài nguyên bộ nhớ hoặc giao diện mạng linh hoạt với một tác vụ khác.
Với Amazon ECS trên các nhà cung cấp dung lượng AWS Fargate, bạn có thể sử dụng cả dung lượng Fargate và Fargate Spot cho các tác vụ Amazon ECS của mình. Với Fargate Spot, bạn có thể chạy các tác vụ Amazon ECS có khả năng chịu gián đoạn ở mức giá chiết khấu so với giá Fargate. Fargate Spot chạy các tác vụ trên dung lượng điện toán dự phòng. Khi AWS cần lấy lại công suất, nhiệm vụ của bạn sẽ bị gián đoạn kèm theo thông báo cảnh báo kéo dài 2 phút.
Để tìm hiểu thêm về Amazon EKS, hãy xem phần Hướng dẫn sử dụng Amazon EKS.
Để tìm hiểu thêm về dịch vụ bộ chứa AWS, hãy xem Vùng chứa trên AWS.
Để tìm hiểu thêm về AWS Fargate, hãy xem Amazon ECS trên AWS Fargate.
Để biết hướng dẫn thực hành sử dụng Amazon ECS, hãy xem Hội thảo Amazon ECS.