Azure Container Apps (ACA): Hướng dẫn Toàn diện
1. Giới thiệu
Vấn đề của AKS
AKS rất mạnh nhưng quá phức tạp. Bạn phải biết về Pod, Deployment, Service, Ingress, Helm, Upgrade Node... Nhiều khi bạn chỉ muốn: "Tôi có cái Docker Image này, hãy chạy nó cho tôi, tự scale khi đông khách".
Giải pháp: Container Apps
ACA là Serverless Containers.
- Nó chạy trên Kubernetes bên dưới, nhưng Microsoft giấu K8s đi.
- Bạn không thấy Node, không thấy Cluster.
- Bạn chỉ quan tâm đến App.
2. Tính năng nổi bật
KEDA (Event-driven Scaling)
Tự động scale dựa trên sự kiện, không chỉ CPU.
- "Có 100 tin nhắn trong Queue -> Bật 10 container".
- "Không có tin nhắn -> Tắt hết (Scale to Zero)". Không tốn tiền.
Envoy (Ingress Controller)
Tích hợp sẵn Load Balancer, HTTPS, Traffic Splitting.
- "Chuyển 10% traffic sang bản mới (Blue/Green), 90% ở bản cũ". Cấu hình cực dễ.
Dapr (Distributed Application Runtime)
Hỗ trợ xây dựng Microservices dễ dàng (Service-to-Service call, State management, Pub/Sub).
3. So sánh: Chọn dịch vụ Container nào?
| Dịch vụ | Mức độ quản lý | Độ phức tạp | Phù hợp cho |
|---|---|---|---|
| App Service for Containers | Thấp | Dễ nhất | Web App đơn lẻ, Monolith. |
| Azure Container Apps (ACA) | Trung bình | Vừa phải | Microservices, Event-driven, Scale-to-Zero. |
| Azure Kubernetes Service (AKS) | Cao | Khó nhất | Hệ thống lớn, phức tạp, cần can thiệp sâu vào K8s. |