Đừng để bị đánh lừa bởi serverless
(world.hey.com)- Bài viết của DHH, người tạo ra RoR
- Những người hâm mộ cloud cho rằng mọi thứ như chi phí, hiệu năng, độ phức tạp... đều sẽ được giải quyết một cách thần kỳ nếu chuyển sang "serverless"
- Cloud/VPS vận hành theo nguyên tắc mua số lượng lớn rồi bán lẻ lại
- Mua một máy chủ lớn với giá $1000 rồi cho 7 người thuê với giá $200 mỗi người để thu $400 lợi nhuận mỗi tháng
- Điều này hoạt động tốt nếu 7 người đó không tạo tải lớn lên máy chủ hoặc sử dụng vào các thời điểm khác nhau
- Nếu bạn cần toàn bộ năng lực của máy chủ, bạn sẽ dùng chiếc máy tính giá $1000 với giá $1400
- Nếu cam kết dùng trong 1 năm, có thể được giảm xuống còn $1250 mỗi tháng (về cơ bản là một hợp đồng tín dụng với lãi suất thường niên 25%)
- Serverless cũng tương tự, nhưng có thể chia nhỏ máy chủ ra mỏng hơn rất nhiều
- Thay vì cấp một máy chủ lớn cho 7 người với giá $200 mỗi tháng, họ cung cấp cho 100 khách hàng chạy từng function với giá $20 mỗi tháng
- Giờ đây không còn là $400 lợi nhuận mỗi tháng mà là $1000 lợi nhuận
- Vì vậy không có gì lạ khi các nhà cung cấp cloud rất thích serverless
- Nếu bạn chỉ cần vài chức năng chạy theo thời điểm thì đây là lựa chọn tốt (ít nhất là trong ngắn hạn)
- Nhưng nếu ở mức cần dùng toàn bộ khả năng của một máy tính thì đó là điều khủng khiếp
- Vì bạn vừa phải trả nhiều tiền hơn cho cùng một mức xung nhịp, vừa bị lock-in rất nặng
- Càng dùng nhiều dịch vụ "cloud native" trong môi trường serverless thì càng khó rời đi
-
"Đừng để bị đánh lừa bởi serverless. Không có phép màu nào có thể thay đổi sự thật rằng nếu bạn cần toàn bộ chu kỳ tính toán của một máy tính, bạn phải mua chính chiếc máy tính đó. Nếu bắt đầu với một cấu hình serverless độc quyền, rồi bạn sẽ nhận ra mình không thể thoát khỏi lock-in."
-
"Cloud dành cho những công ty có mức biến động sử dụng rất lớn, như Amazon với nhu cầu khổng lồ vào Black Friday/Giáng sinh và rất nhiều năng lực dư thừa không cần tới trong phần còn lại của năm, hoặc cho những doanh nghiệp chưa đủ quy mô để sở hữu cả một máy tính, hay các startup giai đoạn đầu có chi tiêu cloud rất nhỏ nên không thành vấn đề. Serverless không thay đổi điều đó."
8 bình luận
Cũng còn khác nhau ở chỗ dịch vụ có thời điểm tăng vọt tải hay không. Với các ứng dụng giao đồ ăn chẳng hạn, rõ ràng có khung giờ người dùng đổ dồn vào, nên cloud có thể scale-out chỉ vào những lúc đó quả thực rất hấp dẫn. Nhưng với mảng IoT, nơi 99% lưu lượng là cố định, thì có thể vận hành máy chủ vật lý sẽ tốt hơn.
Có vẻ như serverless đang bị thổi phồng quá mức so với mức độ hữu ích thực tế của nó, nên đây có lẽ là một góc nhìn đáng để suy nghĩ.
Nếu cân nhắc và đưa ra quyết định về 2 vấn đề này, có lẽ sẽ khó mà thất bại lớn.
Cá nhân tôi có sự tò mò về việc liệu serverless có phải là một tầng trừu tượng đúng đắn hay không; tôi nghĩ thời gian sẽ chứng minh điều đó. Còn vấn đề bị khóa chặt vào hệ sinh thái của serverless thì sẽ tiếp tục là một nỗi đau đầu, và tôi cho rằng đó là một vấn đề không dễ thành công, cần được toàn ngành cùng nhau giải quyết.
Với các startup không chỉ thiếu tiền mà còn thiếu cả nhân lực lẫn thời gian, mình nghĩ serverless là một lựa chọn cực kỳ hấp dẫn.
Xét cho cùng, đây là lĩnh vực có thể đưa ra lựa chọn hợp lý dựa trên cung và cầu, nên tôi không nghĩ theo kiểu là bị lừa hay lừa ai cả.
Trên thị trường, tùy theo quy mô doanh nghiệp, loại hình kinh doanh và loại dịch vụ, luôn sẽ có những doanh nghiệp và con người cần cloud, on-premise và serverless một cách phù hợp.
Việc dùng một máy chủ với giá 200 USD hay dùng function với giá 20 USD, suy cho cùng là vấn đề mà CEO/CTO của từng công ty phải cân nhắc và đưa ra quyết định hợp lý. Nếu trước mắt chi phí và tiến độ là điều đáng lo thì 20 USD có thể tốt hơn, còn nếu dư dả hơn thì 200 USD hay 1.000 USD cũng có thể là quyết định hợp lý. Từ góc độ người có nhu cầu, việc có nhiều lựa chọn hơn cho các tình huống đa dạng chẳng phải là điều tốt hơn sao. Hơn nữa, đây cũng không phải là công nghệ độc quyền, mà là một thị trường nơi các tập đoàn lớn cạnh tranh khốc liệt với nhau, nên giá sẽ tiếp tục giảm.
Có vẻ như giới hạn là
aws fargatehaygcp cloud runở mức có kỹ sư hạ tầng chuyên trách (deops, sre, platform engineer hoặc tương tự). container as a service.Tất nhiên, cái đó cũng sẽ có đủ kiểu ưu và nhược điểm...
Liên quan đến chuyện này, cũng có bài viết chỉ trích rằng AWS thu rất nhiều tiền từ Lambda nhưng lại không thực sự cải thiện runtime. https://www.lastweekinaws.com/blog/aws-is-asleep-at-the-lambda-wheel/
Tôi đồng ý.
Nhìn vào chu kỳ nâng cấp nền tảng của Lambda hay các dịch vụ AWS khác, tôi không có cảm giác là họ quá nhanh nhạy, mà đúng hơn là họ vận hành rất bảo thủ hoặc không đầu tư quá nhiều tài nguyên. Có lẽ là vì để bổ sung một phiên bản nền tảng thì cần rất nhiều kiểm thử, và việc bổ sung đó cũng sẽ làm chi phí hỗ trợ tăng lên đáng kể, nên có lẽ họ ưu tiên tính ổn định và quản lý số lượng phiên bản nền tảng trong một giới hạn nhất định... đó là suy đoán của tôi thôi.
Như mọi khi, DHH là người nói khá mạnh miệng. Hãy xem với tinh thần tham khảo nhé haha