Serverless Computing (FaaS – Functional as a service)

Dù bạn xây dựng một hệ thống, một website, hay web API bạn đều phải quan tâm tới quá nhiều thứ nào là OS, storage, webserver, framework, firewall … rồi thậm chí tới khi website có được thêm chút người dùng thì nào là vấn đề quá tải, server down, traffic busy….lúc đó lại phải mó thêm load balancing rồi thì API gateway, socket server và vô vàn thứ khác nữa. Bản thân bạn hay doanh nghiệp của bạn không còn đầu óc đâu mà tập trung vào main business nữa. Đôi khi chi phí vận hành, chi phí phát triển tiêu tốn quá nhiều  cho việc mở rộng hệ thống vì nó đòi hỏi hạ tầng(infrastructure) cũng phải mở rộng rồi kéo theo các phát sinh chi phí.

Với Serverless chúng ta hoàn toàn có thể tập chung vào đúng business của mình, phần infrastructure đã có nhà cung cấp dịch vụ Cloud lo. Không cần quan tâm tới hệ thống tới hạ tầng nữa. Serverless hay FaaS( Functional as a Service) là một mô hình kiến trúc mới trong những năm gần đây, nó hướng tới mục tiêu của từng “block of code” ví dụ như:

Đoạn code xử lý một image

Đoạn code transform một phần data

Encode một đoạn video

Tất cả nhưng function nhỏ này trở thành một service, bạn hãy xem mô hình dưới để thấy sự khác nhau giữa Kiến trúc khối (monolithic), kiến trúc microservices và FaaS.

Áp dụng Serverless có nghĩa bạn quyết định tập trung vào giải quyết vấn đề của business thay vì phải dành thời gian để vận hành và quản lý quá trình runtimes hay tính toán của infrastructure. Serverless thực chất là xây thêm 1 layer abstraction bên trên của infrastructure giúp các developers tập trung vào giải quyết các vấn đề quan trọng của business, quá trình deploy của các hệ thống Serverless là quá dễ dàng và nhanh chóng nó giúp giảm thời gian cho quá trình “Time to market”

Các bạn có thể ngó qua về các platform trước đây:

  1. Software as a Service (SaaS)
  2. Infrastructure as a Service (IaaS)
  3. Platform as a Service (PaaS)

Với FaaS bạn chỉ phải trả khi phí nào bạn dùng và khi không sử dụng chi phí bằng 0, mỗi một function có một thời lượng thực hiện nhất định nó tùy thuộc vào từng nhà cung cấp dịch vụ Cloud:

AWS Lambda 5 phút

Azure Function 10 phút

Google Function 9 phút.

Đó là lý do vì sao ở những bài trước đây mình nói requirement làm phần mềm ngày càng khắt khe. Một số trang shopping đòi hỏi việc tăng thêm 10k hay 20k users phải tiết kiệm tối đa chi phí chứ không có chuyện muốn cắm thêm bao nhiêu servers thì cắm. Đó là lý do vì sao phần lớn các business cases đã chuyển dần sang cloud và serverless để tiết kiệm chi phí và tập trung vào business.

Nhìn lại những trang điện tử với khối lượng servers hùng hậu, với hơn chục chiếc màn hình lớn nhằm monitor network và traffic bên cạnh đó là cả đội vận hành hệ thống, maintain bảo trì và một đội dev giỏi từ chân đến đầu. Bill hàng tháng dài thòng lòng là những chiếc thòng lọng thắt cổ doanh nghiệp khi đối thủ cạnh tranh nhảy vào. Với Serverless doanh nghiệp sẽ không thấy bóng dáng của infrastructure, đội vận hành hệ thống hay phải trả những mức hậu hĩnh cho các dev tài năng nữa, cũng dễ dàng hơn trong việc tìm dev bởi vì dev chỉ cần lắm được business và đảm bảo business thì sẽ catch up được.

Các bạn có biết WhatsApp một hệ thống instance messaging đã được bán cho Facebook với giá 19 tỷ usd, trong khi cả công ty WhatsApp chỉ có 55 nhân viên.

Qua bài này mình hy vọng các bạn hứng thú với Serverless và chờ đón một chuỗi các bài về serverless trong tuần này để biết tại sao có những hệ thống nên dùng serverless và số khác thì không.

Y Hoang

#Serverless

#FaaS

Please follow and like us:

Leave a Reply

Your email address will not be published. Required fields are marked *