Blog chia sẻ về công nghệ ...
Published on

Istio - Sidecar mode vs Ambient mode

Authors

⚖️ Istio: Sidecar vs Ambient

Istio Sidecar architecture

📑 Mục Lục

  1. Tổng quan về Sidecar và Ambient
  2. So sánh chi tiết
  3. Khi nào dùng Sidecar?
  4. Khi nào dùng Ambient?
  5. Kết luận

Tổng quan về Sidecar và Ambient

Trong Istio, có hai kiến trúc chính để xử lý lưu lượng dịch vụ:

  • Sidecar: Mỗi Pod kèm theo một proxy Envoy, kiểm soát lưu lượng mạng của chính Pod đó.
  • Ambient: Giảm thiểu việc cài đặt proxy riêng lẻ. Thay vào đó, sử dụng:
    • ztunnel: Proxy L4 đặt tại mỗi node.
    • Envoy L7: Cài theo namespace để xử lý các chính sách L7 khi cần.

📊 So sánh chi tiết

Tiêu chíSidecarAmbient
Kiến trúc1 Envoy proxy/POD1 ztunnel/node, Envoy/namespace
Hiệu suấtTốt, nhưng tăng overheadHiệu suất cao hơn nhờ proxy chia sẻ
Tính năng L7Toàn diện (routing, retry, mTLS...)L7 chỉ bật khi cần qua Envoy namespace
Triển khaiCần inject vào từng PodKhông cần inject, cấu hình tập trung
Độ phức tạpCao hơn, cần đồng bộ nhiều PodĐơn giản, giảm yêu cầu vận hành
Độ tin cậyProxy theo Pod dễ failztunnel tách biệt, dễ kiểm soát hơn

📌 Khi nào nên dùng Sidecar?

  • Cần kiểm soát L7 chi tiết cho từng ứng dụng.
  • Ứng dụng yêu cầu các policy phức tạp: retry, circuit breaking, mirroring...
  • Môi trường có khả năng giám sát/quan sát tốt cho từng Pod.

✅ Khi nào nên dùng Ambient?

  • Hệ thống cần đơn giản hóa vận hành.
  • Ưu tiên hiệu suất và bảo mật ở tầng L4.
  • Không cần toàn bộ tính năng L7 cho tất cả dịch vụ.

🎯 Kết luận

Istio Ambient là xu hướng mới giúp giảm chi phí, giảm phức tạp vận hành mà vẫn đảm bảo bảo mật. Tuy nhiên, Sidecar vẫn phù hợp nếu bạn cần sự kiểm soát mạnh mẽ từng Pod và tính năng L7 phong phú. Lựa chọn phù hợp phụ thuộc vào nhu cầu của hệ thống và đội ngũ DevOps của bạn.