AWS Serverless giải pháp linh hoạt và hiệu quả chi phí cho website có lượng truy cập đột biến

AWS Serverless là một mô hình điện toán đám mây trong đó nhà cung cấp đám mây tự động quản lý việc phân bổ và cung cấp máy chủ. Ứng dụng serverless chạy trong các hàm serverless như Lambda chỉ được khởi chạy khi có yêu cầu, và tự động scale theo nhu cầu. Điều này giúp ứng dụng có thể xử lý mức độ truy cập dao động cao mà không cần quản lý server.

Bài viết dưới đây Duy sẽ giới thiệu về AWS Serverless, bao gồm các ưu điểm, nhược điểm, cách triển khai và một số dự án điển hình.

Giới thiệu về AWS Serverless

Một trong những thách thức lớn nhất cho các website là xử lý lượng truy cập bùng nổ bất ngờ trong thời gian ngắn. Điển hình là hiện tượng “slashdot effect” hay “reddit hug of death” khi một website đột ngột nhận hàng ngàn lượt truy cập từ các trang tin tức phổ biến. Với server truyền thống, chủ sở hữu website buộc phải chuẩn bị sẵn cơ sở hạ tầng mạnh mẽ để đáp ứng nhu cầu đỉnh điểm, dẫn tới chi phí vận hành cao.

AWS-serverless-ONETECH

Với AWS Serverless, việc mở rộng theo nhu cầu (auto-scaling) diễn ra tự động. Khi đợt truy cập đột biến xảy ra, các function serverless tự động nhân bản ra nhiều instance để xử lý nhu cầu. Sau đó nó tự động scale down khi traffic giảm bớt, giúp tiết kiệm tối đa chi phí so với việc duy trì cơ sở hạ tầng rỗng.

AWS Lambda hiện có thể scale từ 0 tới hàng ngàn request mỗi giây chỉ trong vài phút để đáp ứng nhu cầu. Dữ liệu về performance và metrics cũng được cung cấp chi tiết giúp theo dõi và nâng cao trải nghiệm người dùng.

Ưu điểm của AWS Serverless

  • Linh hoạt và hiệu quả chi phí: AWS Serverless cho phép bạn chỉ trả tiền cho những gì bạn sử dụng. Điều này giúp tiết kiệm chi phí đáng kể, đặc biệt là đối với các ứng dụng có lượng truy cập dao động cao.
  • Tự động scale theo nhu cầu: AWS Serverless tự động scale các hàm serverless lên hoặc xuống theo nhu cầu. Điều này giúp đảm bảo rằng ứng dụng của bạn luôn hoạt động trơn tru, ngay cả khi lượng truy cập tăng đột ngột.
  • Đơn giản và nhanh chóng: Developer chỉ cần tập trung vào phát triển code không cần phải quản trị và thiết lập nhiều thứ trên server.
  • Dễ dàng triển khai: AWS Serverless cho phép bạn triển khai ứng dụng của mình chỉ trong vài phút. CI/CD giúp tự động hóa deploy điều này giúp bạn tiết kiệm thời gian và công sức.

Nhược điểm của AWS Serverless

  • Có thể phức tạp nếu quy mô lớn: AWS Serverless có thể phức tạp nếu ứng dụng của bạn có quy mô lớn. Bạn cần có kiến thức về các dịch vụ AWS khác nhau để triển khai và quản lý ứng dụng của mình.
  • Debug và monitoring phức tạp hơn server truyền thống: Debug và monitoring ứng dụng serverless có thể phức tạp hơn so với ứng dụng server truyền thống. Điều này là do các hàm serverless chạy trong môi trường sandbox và không có quyền truy cập vào hệ thống tệp hoặc cơ sở dữ liệu.

Cách triển khai AWS Serverless

Để triển khai ứng dụng serverless trên AWS, bạn cần tạo các hàm serverless và định nghĩa các event triggers để kích hoạt thực thi bằng Lambda và kết nối chúng với các dịch vụ AWS khác. Bạn có thể sử dụng các công cụ và khuôn mẫu AWS để giúp bạn triển khai ứng dụng của mình.

Nhà phát triển có thể tập trung hoàn toàn vào code mà không cần bận tâm quá nhiều tới cơ sở hạ tầng phụ trợ. Giải pháp cũng khá linh hoạt, có thể kết hợp các Lambda function với các dịch vụ AWS khác như API Gateway, SQS, DynamoDB… để xây dựng lên các hệ thống phức tạp một cách dễ dàng và nhanh chóng.

Mô hình serverless chịu tải traffic lớn
Mô hình serverless chịu tải traffic lớn

Đây là mô tả luồng xử lý cho mô hình AWS serverless sử dụng các dịch vụ:

  1. Người dùng truy cập vào website thông qua Route 53 – DNS service
  2. Request được định tuyến tới CloudFront – Content Delivery Network
  3. CloudFront gọi tới API backend được xây dựng bằng API Gateway
  4. Frontend website được xây dựng bằng Next.js, gọi API để xử lý dữ liệu
  5. API sử dụng API Gateway triggers các Lambda Functions được viết bằng Node.js, database sử dụng dynamodb để xử lý request và trả về response
  6. Frontend website được host trên Amplify – dịch vụ lưu trữ web tĩnh
  7. Quy trình CI/CD được thiết lập trên Amplify để tự động deploy mỗi khi có code mới
  8. S3 dùng để lưu trữ file, images, videos…

Một số dự án điển hình của OneTech Asia

Onetech Asia là một công ty công nghệ chuyên cung cấp dịch vụ outsourcing cho các doanh nghiệp. Đặc biệt chúng tôi tập chung cung cấp các dịch vụ trên AWS nhằm giúp khách hàng triển khai nhanh chóng, tin cậy và cắt giảm chi phí. Công ty đã triển khai AWS Serverless cho nhiều dự án, bao gồm:

Dự án Curtain Call

Dự án quản lý nền tảng người hâm mộ của các ca sĩ, chương trình biểu diễn, buổi hòa nhạc, diễn viên ở Nhật Bản, tích hợp thanh toán Stripe, phát sóng trực tiếp, trò chuyện…

Dự án Curtain Call
Dự án Curtaincall
Dự án Curtain Call

Công nghệ serverless sử dụng:

  • Team size: 13
  • Security: Cloudfront, WAF
  • Performance tested: 30.000 request /  minutes
  • Frontend: HTML, Tailwind CSS, React JS, Next JS, Vue JS, Typescript
  • Backend: MySql, DynamoDB, GraphQL Realtime, Rest API, PHP Laravel, NodeJS…
  • Infra AWS: Terraform, Amplify, Appsync, MediaConvert, SES, SQS, SNS, VPC, IVS, RDS Aurora, DynamoDB, Cloudfront, S3, Docker, ECS, ALB, API gateway, SQS, Cloudwatch Logs, Lambda, CICD Code Pipeline…

Dự án Web báo giá và triển lãm B2B

Dự án Web báo giá và triển lãm B2B

Chúng tôi đã xây dựng một nền tảng web serverless cho phép tổ chức hội trợ, triển lãm trưng bày sản phẩm trên web và phát hành báo giá cho khách hàng B2B. Trong tương lai chúng tôi sẽ nâng cấp xây dựng một triển lãm trực tuyến 3D cho phép trình diễn bằng metaverse hoặc thực tế ảo. 

  • Team size: 10
  • Security: Cloudfront, WAF
  • Performance tested: 30.000 request / minutes
  • Frontend: HTML, Vue JS, Tailwind CSS
  • Backend: MySql, DynamoDB, GraphQL Realtime, Rest API, PHP Laravel, NodeJS…
  • Infra AWS: Terraform, Amplify, Appsync, SES, SQS, SNS, VPC, RDS Aurora, DynamoDB, Cloudfront, S3, Docker, ECS, ALB, API gateway, SQS, Cloudwatch Logs, Lambda, CICD Code Pipeline…

Thi kiểm tra trực tuyến

Thi kiểm tra trực tuyến

Dự án làm bài thi trực tuyến, tạo ngân hàng câu hỏi thi, sinh viên làm bài thi online. Hệ thống có thể đáp ứng lên tới 1000 yêu cầu truy cập/giây

  • Team size: 7
  • Security: Cloudfront, WAF
  • Performance tested: 60.000 request / minutes
  • Frontend: HTML, React JS, Next JS
  • Backend: MySql, DynamoDB, Rest API, PHP Laravel, NodeJS…
  • Infra AWS: Terraform, SAM, VPC, RDS Aurora, DynamoDB, Cloudfront, S3, Docker, ECS, ALB, API gateway, SQS, Cloudwatch Logs, Lambda, CICD Jenkins…

Tạm kết

Nhìn chung AWS Serverless đang là một trong những lựa chọn hàng đầu hiện nay để giải quyết bài toán auto-scaling cho các website và ứng dụng di động, nhất là trong tình huống lượng truy cập spike đột biến. Giải pháp đem lại hiệu quả chi phí cực tốt, trong khi giảm thiểu rủi ro và tải về quản trị hệ thống cho doanh nghiệp.

Chúc bạn thành công với AWS Serverless!

Đội ngũ những nhà phát triển trẻ tài năng của công ty OneTech Asia
Đội ngũ những nhà phát triển trẻ tài năng của công ty OneTech Asia

OneTech Asia là công ty chuyên cung cấp các giải pháp phát triển phần mềm và dịch vụ công nghệ thông tin chất lượng cao. Chúng tôi tự hào về kinh nghiệm và chuyên môn trong việc phát triển website và các hệ thống web trên AWS cho các khách hàng trong và ngoài nước. Hãy liên hệ với chúng tôi để nhận được hỗ trợ tư vấn và đánh giá website nếu bạn đang có ý định xây dựng lại nhé!

Tư vấn - Báo giá
Mở rộng quy mô doanh nghiệp của bạn với ONETECH!
Hãy liên hệ với chúng tôi để được cung cấp các dịch vụ phát triển phần mềm chất lượng cao với chi phí hợp lý nhất. Các kỹ sư của chúng tôi sẽ giúp bạn phát triển một giải pháp phù hợp để vượt lên đối thủ cạnh tranh của mình.
Mọi thông tin tư vấn và báo giá đều miễn phí.

    「Chính sách bảo mật」Nếu bạn đồng ý với những điều trên, vui lòng nhấp vào nút "Gửi"
    Một email trả lời tự động sẽ được gửi đến địa chỉ email bạn đã nhập, vì vậy hãy kiểm tra điều đó.
    Tư vấn - Báo giá
    Mở rộng quy mô doanh nghiệp của bạn với ONETECH!
    Hãy liên hệ với chúng tôi để được cung cấp các dịch vụ phát triển phần mềm chất lượng cao với chi phí hợp lý nhất. Các kỹ sư của chúng tôi sẽ giúp bạn phát triển một giải pháp phù hợp để vượt lên đối thủ cạnh tranh của mình.
    Mọi thông tin tư vấn và báo giá đều miễn phí.

      「Chính sách bảo mật」Nếu bạn đồng ý với những điều trên, vui lòng nhấp vào nút "Gửi"
      Một email trả lời tự động sẽ được gửi đến địa chỉ email bạn đã nhập, vì vậy hãy kiểm tra điều đó.
      liên hệ