💻

Kiến trúc Serverless

Visualize Lambda cold starts, auto-scaling, and pay-per-invocation in real time

💻 Thử ngay

What Is Serverless Computing?

Serverless computing lets you run code without provisioning or managing servers. When a request arrives, the cloud provider spins up a container, executes your function, and tears it down when idle. Cold starts happen when a new container must initialize from scratch (slow); warm starts reuse an existing container (instant). You pay only for actual execution time.

Why does this matter? Serverless architecture powers modern applications from APIs to data pipelines. AWS Lambda alone processes trillions of invocations per month. Understanding cold starts, concurrency limits, and cost optimization is essential for building efficient cloud-native systems.

📖 Tìm hiểu sâu

Ví dụ 1

Hãy nghĩ về các máy chủ truyền thống giống như sở hữu một chiếc ô tô - bạn phải trả tiền bảo hiểm, xăng và bảo trì cho dù bạn có lái xe hay không. Serverless giống như việc gọi taxi: bạn chỉ phải trả tiền cho chuyến đi. Một khởi đầu lạnh lùng đang chờ taxi đến; một khởi đầu ấm áp là khi một chiếc đã đậu bên ngoài cửa nhà bạn.

Ví dụ 2

Hãy tưởng tượng một căn bếp của một nhà hàng có khả năng gợi lên các đầu bếp một cách kỳ diệu khi có đơn đặt hàng đến và đưa họ về nhà khi giờ cao điểm kết thúc. Khởi động nguội là lúc đeo tạp dề và rửa tay; khởi đầu ấm áp có nghĩa là đầu bếp đã ở trong bếp. Tính đồng thời được cung cấp giống như giữ một nhóm chủ chốt ở chế độ chờ cho bữa tối cao điểm.

🎯 Mẹo sử dụng

Người mới

Gửi yêu cầu và xem các thùng chứa quay lên (khởi động nguội) sau đó tái sử dụng (khởi động ấm).

Trung cấp

So sánh thời gian chạy Java và Go để thấy sự khác biệt đáng kể khi khởi động nguội.

Chuyên gia

Đặt Tính đồng thời được cung cấp và Hình phạt VPC để tối ưu hóa việc cân bằng giữa độ trễ và chi phí.

📚 Thuật ngữ

FaaS
Chức năng như một Dịch vụ — một mô hình thực thi trên đám mây trong đó nhà cung cấp chạy mã của bạn để phản hồi các sự kiện mà không yêu cầu bạn quản lý máy chủ. AWS Lambda, Google Cloud Functions và Azure Functions là những nền tảng chính.
Cold Start
Hình phạt về độ trễ khi vùng chứa hàm mới phải được khởi tạo lại từ đầu. Bao gồm tải xuống mã, bắt đầu thời gian chạy và thực thi logic khởi tạo. Thông thường là 100 mili giây-2 giây đối với hầu hết thời gian chạy, nhưng có thể vượt quá 10 giây đối với Java trong VPC.
Warm Start
Sử dụng lại vùng chứa đã được khởi tạo cho lần gọi tiếp theo. Khởi động ấm bỏ qua hoàn toàn giai đoạn khởi tạo, giảm độ trễ xuống chỉ bằng thời gian thực hiện chức năng — thường dưới 100 mili giây.
Concurrency
Số lượng phiên bản hàm chạy đồng thời. Mỗi lần thực hiện đồng thời yêu cầu vùng chứa riêng. Đồng thời tài khoản mặc định của AWS Lambda là 1.000, có thể mở rộng lên hàng chục nghìn.
Provisioned Concurrency
Phiên bản chức năng được khởi tạo trước giúp loại bỏ khởi động nguội cho khối lượng công việc nhạy cảm với độ trễ. Bạn trả tiền cho dung lượng được cung cấp cho dù nó có được sử dụng hay không — một sự cân bằng giữa độ trễ và chi phí.
Reserved Concurrency
Một nhóm đồng thời được đảm bảo được phân bổ cho một chức năng cụ thể, đảm bảo nó luôn có dung lượng ngay cả khi các chức năng khác sử dụng hết giới hạn tài khoản. Cũng hoạt động như một giới hạn tối đa.
Invocation
Một lần thực thi duy nhất một chức năng không có máy chủ. Đơn vị thanh toán cơ bản — bạn thanh toán cho mỗi yêu cầu ($0,20 trên một triệu) cộng với mỗi GB-giây thời gian tính toán ($0,0000166667).
Execution Duration
Thời gian từ khi trình xử lý hàm của bạn bắt đầu thực thi cho đến khi nó trả về hoặc hết thời gian. Tính phí theo gia số 1ms. Tối đa là 15 phút (900 giây) đối với AWS Lambda.
Timeout
Thời gian tối đa mà một chức năng được phép chạy trước khi bị buộc phải chấm dứt. Đặt nó quá thấp sẽ gây ra lỗi sai; quá cao sẽ lãng phí tiền cho những lời kêu gọi bị treo.
VPC Penalty
Độ trễ khởi động nguội bổ sung (trước đây là 6-10 giây, hiện tại là ~1 giây với Hyperplane ENI) khi chức năng Lambda được định cấu hình để truy cập các tài nguyên bên trong Đám mây riêng ảo.
Lambda Layer
Các gói thư viện, phần mở rộng thời gian chạy hoặc cấu hình có thể tái sử dụng mà các hàm có thể tham chiếu. Mỗi lớp sẽ tăng thêm thời gian khởi động nguội nhưng cho phép chia sẻ mã giữa các chức năng.
Init Duration
Thời gian thực thi mã bên ngoài hàm xử lý (khởi tạo phạm vi toàn cục). Báo cáo riêng trong nhật ký Lambda. Quá trình khởi tạo nặng (tải mô hình ML, nhóm kết nối DB) làm tăng khả năng khởi động nguội.

🏆 Nhân vật chính

Tim Wagner (2014)

Dẫn dắt việc ra mắt AWS Lambda với tư cách là Tổng Giám đốc, tạo ra nền tảng điện toán không cần máy chủ thương mại lớn đầu tiên xác định mô hình FaaS

Werner Vogels (2014)

CTO của Amazon, người ủng hộ kiến ​​trúc hướng sự kiện và không có máy chủ, phổ biến triết lý 'không có máy chủ nào dễ quản lý hơn là không có máy chủ'

Kenton Varda (2017)

Đã tạo Công nhân Cloudflare bằng cách sử dụng các phân lập V8 thay vì các bộ chứa, đạt được khả năng khởi động nguội dưới một phần nghìn giây và xác định lại tính toán không có máy chủ biên

Eric Jonas (2019)

Nhà nghiên cứu của UC Berkeley, đồng tác giả của bài báo 'Đơn giản hóa lập trình đám mây: Quan điểm của Berkeley về máy tính không máy chủ' xác định chương trình nghiên cứu không có máy chủ

Guillermo Rauch (2015)

Đã tạo Vercel và Next.js, phổ biến việc triển khai serverless cho các framework giao diện người dùng và làm cho các nhà phát triển giao diện người dùng có thể truy cập được các chức năng phi máy chủ

Joe Emison (2016)

Nhà truyền giáo và CTO không có máy chủ ban đầu, người đã trình diễn kiến ​​trúc không có máy chủ ở quy mô doanh nghiệp, chứng minh khả năng tồn tại của FaaS ngoài các trường hợp sử dụng đơn giản

Ajay Nair (2019)

Trưởng nhóm sản phẩm AWS Lambda, người đã thúc đẩy các tính năng chính bao gồm Đồng thời được cung cấp, Tiện ích mở rộng Lambda và hỗ trợ hình ảnh vùng chứa

🎓 Tài nguyên học tập

💬 Lời nhắn cho người học

Điện toán phi máy chủ thể hiện một trong những thay đổi lớn nhất trong cách chúng tôi xây dựng phần mềm — từ việc cung cấp máy chủ trước nhiều tháng cho đến viết một hàm có quy mô từ 0 đến hàng nghìn phiên bản trong vài giây. Khởi đầu nguội mà bạn thấy trong trình mô phỏng này cũng giống như hiện tượng mà các kỹ sư tại Netflix, Airbnb và hàng nghìn công ty khởi nghiệp tối ưu hóa mỗi ngày. Hiểu được sự cân bằng giữa chi phí, độ trễ và tính đồng thời sẽ giúp bạn trở thành kiến ​​trúc sư giỏi hơn bất kể bạn chọn nhà cung cấp đám mây nào. Đám mây không phải là phép thuật - nó là máy tính của người khác, được trừu tượng hóa một cách xuất sắc.

Bắt đầu

Miễn phí, không cần đăng ký

Bắt đầu →