- Spin là công cụ phát triển mã nguồn mở cho phép xây dựng, triển khai và chạy các ứng dụng WebAssembly (Wasm) serverless ở bất cứ đâu
- Cung cấp các tệp nhị phân nhỏ gọn, có tính di động cao, độ trễ khởi động thấp và thông lượng cao, giúp chạy ứng dụng trong nhiều môi trường khác nhau
Điểm nổi bật của Spin 3.0
- Nhờ tính nhẹ, thời gian khởi động nhanh và độ an toàn của Wasm, nó phù hợp cho các trường hợp sử dụng phía máy chủ; đặc biệt có lợi khi container chậm hoặc quá lớn, khi sandboxing là bắt buộc, hoặc trong các kịch bản serverless
- WebAssembly Component Model chuẩn hóa khả năng tương tác giữa nhiều ngôn ngữ lập trình khác nhau, mang lại nhiều khả năng hơn cho nhà phát triển
- Phụ thuộc thành phần - dễ dàng hơn cho lập trình đa ngôn ngữ
- Spin 3.0 giới thiệu quy trình phát triển cho phép dùng thư viện viết bằng Rust làm phụ thuộc trong ứng dụng JavaScript.
- Có thể lưu trữ, tìm kiếm và nhập các component từ OCI registry, mang lại trải nghiệm tương tự npm/NuGet/crates.io.
- Triển khai chọn lọc - build một lần, triển khai có chọn lọc
- Có thể chạy một số component của ứng dụng Spin cục bộ hoặc thông qua SpinKube.
- Có thể chỉ định component cần chạy bằng cờ
spin up --component-id, mở ra các kịch bản mới nơi kỹ sư nền tảng có thể chạy component một cách chọn lọc trên các node đáp ứng yêu cầu cụ thể.
- Tích hợp sâu với tiêu chuẩn WASI
- Dự án Spin đóng góp vào API WASI và tích hợp chúng vào Spin nhằm đáp ứng nhu cầu của cộng đồng.
- WASI Key-Value và WASI Config API được Spin hỗ trợ chính thức.
- Tích hợp OpenTelemetry (OTel) - bao gồm khả năng quan sát
- Spin 3.0 chính thức hỗ trợ khả năng quan sát OpenTelemetry (OTel), cho phép tích hợp với các công cụ như Grafana, Jaegar, Prometheus.
- Việc thiết lập ngăn xếp khả năng quan sát trở nên dễ dàng nhờ plugin
spin otel.
- Spin Factors - tái cấu trúc lớn cho runtime
- Cấu trúc nội bộ của Spin đã được tái cấu trúc mạnh mẽ với tính năng mang tên Spin Factors để tăng cường tính mô-đun.
- Việc mở rộng runtime của Spin trở nên dễ dàng hơn, dù vẫn cần fork dự án.
- Demo - tận dụng Spin 3.0
- Có ví dụ xây dựng một component chuyển đổi hình ảnh bằng Rust bằng tính năng phụ thuộc component của Spin 3.0, rồi dùng nó làm phụ thuộc trong component JavaScript/TypeScript.
- Có thể dùng plugin
spin deps để phát hành component lên OCI registry và để các Wasm component viết bằng ngôn ngữ khác sử dụng nó.
- Tình hình hệ sinh thái
- Nhiều plugin CLI và plugin trigger đang xuất hiện, đồng thời cũng có bản phát hành mới của dự án SpinKube.
- Các tính năng mới, bao gồm triển khai chọn lọc, đã được bổ sung.
1 bình luận
Có vẻ như OTel giờ đã trở thành mặc định rồi.