Hãy nhìn vào sơ đồ – một kiến trúc DevOps rất gọn gàng nhưng cực kỳ thực tế, thường gặp ở các hệ thống sử dụng microservices, Kubernetes và GitOps:
Dev viết một tính năng mới và commit lên Git.
Git trigger CircleCI để tự động build và test.
Sau đó đẩy image lên container registry (ở đây là Harbor – bạn có thể dùng Docker Hub, ECR, v.v.).
CircleCI (hoặc ArgoCD) tiếp tục orchestrate các container lên môi trường K8s production.
Kubernetes là trung tâm orchestrator, điều phối toàn bộ lifecycle của ứng dụng.
ArgoCD đóng vai trò triển khai tự động (deploy automation) từ Git repo. Mọi thứ "Infrastructure as Code".
Hễ có thay đổi YAML trên Git thì ArgoCD sẽ sync xuống cluster.
Ứng dụng chạy rồi, cần monitoring.
Prometheus giúp bạn thu thập metrics (CPU, memory, request, lỗi...) liên tục để gửi cảnh báo.
Mọi thứ xoay quanh Git. Git không còn chỉ là nơi chứa code, mà là trung tâm điều phối cả hệ thống!
CI/CD không còn là shell script rải rác, mà là một quy trình có bài bản.
Triển khai (deploy) bây giờ không cần ssh thủ công. Mọi thứ là GitOps.
DevOps ngày nay là sự kết hợp chặt chẽ giữa Dev, Ops, Git, CI/CD và Monitoring.
Bạn có thể dùng sơ đồ này để mô phỏng cách team backend phát triển một tính năng mới trên microservice.
Tính năng được commit vào Git → build CI → đẩy lên container registry → ArgoCD tự sync vào cluster K8s staging.
Nếu test ổn → merge sang main → auto deploy vào production.
Tất cả có logs, có alert, có rollback nếu cần.
CircleCI, GitHub Actions, GitLab CI, Jenkins?
ArgoCD hay FluxCD?
Hãy chia sẻ cách bạn triển khai GitOps CI/CD trong team mình nhé!