Skip to main content

M03.01 - Introduction to Serverless Computing

Với serverless computing, bạn chạy applications mà không cần quản lý underlying infrastructure. Trong các bài học tiếp theo, bạn sẽ học cách tận dụng tối đa nó với các compute services mạnh mẽ. Bạn sẽ khám phá AWS Lambda, một serverless solution tự động xử lý scaling, availability, và maintenance. Bạn cũng sẽ khám phá các services như Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS), và AWS Elastic Beanstalk, giúp container management và application deployment dễ quản lý hơn. Sau khi hoàn thành các bài học này, bạn sẽ sẵn sàng chọn service tốt nhất cho nhu cầu của mình.

Module 3 - Exploring Compute Services

Mục tiêu học tập

Sau khi hoàn thành bài học này, bạn sẽ có thể:

  • ✅ Mô tả sự khác biệt giữa unmanaged, managed, và serverless compute services trong AWS
  • ✅ Mô tả trách nhiệm của khách hàng và AWS đối với serverless computing
  • ✅ Hiểu được các mức độ control và convenience khác nhau mà AWS services cung cấp

Tổng quan về AWS Compute Options

Trong các bài học tiếp theo, bạn sẽ học về AWS compute services và các mức độ control khác nhau mà chúng cung cấp. Bạn đã thấy cách Amazon Elastic Compute Cloud (Amazon EC2), một unmanaged service, cho bạn full control over virtual machines. Bây giờ, bạn sẽ học về managed và serverless services giảm infrastructure management để bạn có thể tập trung vào application của mình.

Amazon EC2 - Unmanaged Service

Để nhanh chóng tóm tắt lại, EC2 instances là virtual machines mà bạn có thể provision trên AWS. EC2 tuyệt vời cho tất cả các loại use cases, từ chạy basic web servers đến high performance computing workloads, và mọi thứ ở giữa. EC2 cung cấp một mức độ control cao khi nói đến instances của bạn, nhưng nó cũng yêu cầu bạn quản lý fleet của instances đó theo thời gian.

EC2 là một unmanaged service, có nghĩa là bạn có control over các tasks như patching, scaling, và managing operating system, trong khi AWS quản lý underlying infrastructure. Hãy nghĩ lại về Shared Responsibility Model, nơi AWS chịu trách nhiệm về security OF the cloud, và bạn chịu trách nhiệm về security IN the cloud.

Managed Services

Mặt khác, AWS cũng cung cấp managed services. Managed services chuyển nhiều operational responsibilities hơn sang AWS—để bạn có thể tập trung vào việc xây dựng application và ít hơn vào việc quản lý infrastructure.

Ví dụ: Coffee Shop Analogy

Để giúp minh họa điều này, hãy liên hệ nó với coffee shop.

Unmanaged services giống như những máy espresso cao cấp, có thể tùy chỉnh hoàn toàn. Bạn có thể chọn beans, xay chúng đến độ nhất quán mong muốn, điều chỉnh mọi nút và đòn bẩy theo ý thích của bạn, để bạn có được tách cà phê hoàn hảo. Tất cả là về control. Và đó là giấc mơ của một người đam mê cà phê! Nhưng nó cũng là nhiều công việc hơn vì bạn phải chịu trách nhiệm cho tất cả việc bảo trì và maintenance của máy.

Managed services, mặt khác, thiên về sự tiện lợi. Hãy nghĩ về chúng như một máy pha cà phê sử dụng pods. Bạn chỉ cần bỏ pod vào, chọn settings của bạn, nhấn nút, và trong vài phút, bạn đã có một tách cà phê—không rắc rối, không phiền toái. Chắc chắn, nó có thể không tùy chỉnh được như máy espresso, nhưng nó tiết kiệm cho bạn rất nhiều thời gian và công sức. Những gì bạn chọn thực sự phụ thuộc vào những gì bạn đang tìm kiếm.

Key Takeaways: Unmanaged và Managed Services

AWS services trải dài từ unmanaged đến managed, cung cấp cho bạn các mức độ control và convenience khác nhau. Một số services, như EC2, cho phép bạn fine-tune mọi thứ. Bạn chịu trách nhiệm cho tất cả configurations và management.

Sau đó, có managed services. Một số ví dụ về managed services mà bạn đã học là ELB, SNS, và SQS. Đối với managed services, bạn cấu hình service để đáp ứng requirements của mình, và sau đó AWS đảm bảo nó chạy trơn tru theo thời gian, không cần server management từ phía bạn. Ý tưởng này về việc không quản lý bất kỳ underlying infrastructure nào đã dẫn đến sự nổi lên của serverless computing.

Unmanaged và Managed Services

Với unmanaged compute services như Amazon EC2, AWS chăm sóc underlying physical infrastructure, nhưng bạn chịu trách nhiệm thiết lập, bảo mật, và duy trì operating system, network configurations, và applications trên instances của bạn. Managed services, mặt khác, giảm lượng infrastructure mà bạn cần quản lý. Trong khi AWS xử lý nhiều operational overhead, bạn vẫn có thể cần thực hiện một số provisioning hoặc configuration tùy thuộc vào service.

Unmanaged and Managed Services - Shared Responsibility Model

Serverless Computing

Serverless có nghĩa là bạn không thể thực sự thấy hoặc truy cập underlying infrastructure hoặc instances đang host application của bạn. Thay vào đó, tất cả management của underlying environment từ góc độ provisioning, scaling, high availability, và maintenance đều được xử lý cho bạn. Tất cả những gì bạn cần làm là tập trung vào application của mình.

Fully-Managed Services

Fully-managed services—như serverless ones—đưa abstraction đi xa hơn nữa, loại bỏ nhu cầu provision hoặc quản lý bất kỳ servers nào. Underlying infrastructure được quản lý hoàn toàn bởi AWS, vì vậy bạn có thể tập trung hoàn toàn vào việc viết và deploy code. Sau trong module này, bạn sẽ khám phá Lambda. Lambda là một serverless compute service nơi AWS xử lý infrastructure, scaling, và availability, trong khi bạn vẫn chịu trách nhiệm bảo mật và quản lý application code của mình.

Fully-Managed Services - Shared Responsibility Model

So sánh các mức độ Service Management

Đặc điểmUnmanaged ServicesManaged ServicesFully-Managed (Serverless)
Ví dụAmazon EC2ELB, SNS, SQSAWS Lambda
ControlFull controlPartial controlMinimal control
ManagementBạn quản lý OS, patches, scalingAWS quản lý infrastructure, bạn cấu hìnhAWS quản lý tất cả
ProvisioningBạn provision instancesBạn cấu hình serviceKhông cần provisioning
ScalingBạn quản lý scalingAWS tự động scaleAWS tự động scale
Use CaseHigh customization needsBalanced control và convenienceFocus on code, not infrastructure

Trách nhiệm theo Service Model

Unmanaged Services (ví dụ: Amazon EC2)

Customer Responsibility:

  • ✅ Configure operating system
  • ✅ Security patches
  • ✅ Network settings
  • ✅ Platform và application management
  • ✅ Server-side encryption
  • ✅ Network traffic protection
  • ✅ Customer data
  • ✅ Client-side data encryption

AWS Responsibility:

  • ✅ Software for compute, storage, database, và networking
  • ✅ Hardware, AWS Global Infrastructure

Managed Services (ví dụ: ELB, SNS, SQS)

Customer Responsibility:

  • ✅ Choose deployment options
  • ✅ Configure environment settings
  • ✅ Customer data
  • ✅ Client-side data encryption
  • ✅ Server-side encryption (một số trường hợp)
  • ✅ Network traffic protection (một số trường hợp)

AWS Responsibility:

  • ✅ Platform và application management
  • ✅ OS, network, firewall configuration
  • ✅ Software for compute, storage, database, và networking
  • ✅ Hardware, AWS Global Infrastructure

Fully-Managed Services (ví dụ: AWS Lambda)

Customer Responsibility:

  • ✅ Focus only on writing và deploying code
  • ✅ Customer data
  • ✅ Client-side data encryption

AWS Responsibility:

  • ✅ Server-side encryption
  • ✅ Network traffic protection
  • ✅ Platform và application management
  • ✅ OS, network, firewall configuration
  • ✅ Software for compute, storage, database, và networking
  • ✅ Hardware, AWS Global Infrastructure

Lựa chọn Service phù hợp

AWS cung cấp tất cả các compute services khác nhau này để cung cấp cho bạn các tùy chọn phục vụ các workloads, requirements, và mức độ management khác nhau. Điều quan trọng là nhận ra nhu cầu application cụ thể của bạn là gì và chọn một service cung cấp sự cân bằng đúng giữa customization và ease of use.

Đôi khi bạn sẽ muốn là barista, pha mọi thứ từ đầu, và những lúc khác bạn chỉ cần tách cà phê nhanh đó mà không cần tất cả sự rắc rối.

Tóm tắt

Trong bài học này, bạn đã học về:

  • Unmanaged Services: Bạn có full control, nhưng cũng có nhiều trách nhiệm quản lý hơn (ví dụ: Amazon EC2)
  • Managed Services: AWS xử lý nhiều operational tasks, bạn chỉ cần cấu hình (ví dụ: ELB, SNS, SQS)
  • Fully-Managed/Serverless Services: AWS quản lý tất cả infrastructure, bạn chỉ cần focus vào code (ví dụ: AWS Lambda)
  • Shared Responsibility Model: Trách nhiệm khác nhau tùy thuộc vào loại service
  • Lựa chọn Service: Phụ thuộc vào nhu cầu về control, customization, và convenience

Test your skills

Câu hỏi: Match the responsibilities to the correct AWS service model

Match the responsibilities to the correct AWS service model:

  1. Configure operating system, security patches, and network settings
  2. Focus only on writing and deploying code
  3. Choose deployment options and configure environment settings

Options:

  • Unmanaged
  • Managed
  • Fully managed

Đáp án:

  • 1 → Unmanaged: Với unmanaged services như Amazon EC2, bạn thiết lập và quản lý mọi thứ: operating system, security updates, và network settings. AWS chỉ chăm sóc physical hardware.
  • 3 → Managed: Managed services xử lý hầu hết infrastructure cho bạn, nhưng bạn vẫn cần thiết lập những thứ như deployment options, scaling, và environment settings.
  • 2 → Fully managed: Với fully managed services như AWS Lambda, bạn không quản lý bất kỳ servers nào. Bạn upload code của mình, và AWS chăm sóc phần còn lại, bao gồm infrastructure, scaling, và availability.

Giải thích:

  • Unmanaged services (như Amazon EC2): Bạn có trách nhiệm cao nhất - quản lý OS, patches, network settings, và tất cả configurations.
  • Managed services (như ELB, SNS, SQS): AWS xử lý infrastructure, nhưng bạn vẫn cần cấu hình deployment options và environment settings.
  • Fully-managed/Serverless services (như AWS Lambda): Bạn chỉ cần focus vào code - AWS xử lý tất cả infrastructure, scaling, và availability.