Docker thì dễ, nhưng chạy 10 service trên Kubernetes, cả team em mất ngủ!
Một fintech Việt Nam tách 5 microservice, mỗi service 1 repo, Dockerized, chạy trên EKS. Ban đầu dùng docker-compose local, nhưng lên prod cần Kubernetes, CI/CD riêng, và versioning rõ ràng. Kết quả? Deploy mượt, team cũng học được bài học nhớ đời mang tên “đừng đùa với orchestration”.
Quy trình triển khai microservice
- Repo strategy: Mỗi service 1 repo hoặc mono-repo với folder riêng.
- Dockerize: Mỗi service có Dockerfile tối ưu (Alpine, multi-stage).
- CI/CD: Pipeline riêng cho mỗi service (build, test, deploy).
- Orchestration: Dùng Kubernetes (EKS, GKE) để quản lý container.
- Versioning & rollback: Tag image rõ ràng, sẵn sàng revert.
Ví dụ thực tế: Fintech tách Payment Service:
- Repo riêng, Dockerfile dùng python:3.9-slim.
- GitHub Actions build/push image, deploy qua ArgoCD.
- Kubernetes quản lý pod, rollback bằng kubectl rollout undo.
Code mẫu: Dockerfile Payment Service
FROM python:3.9-slimWORKDIR /appCOPY requirements.txt .RUN pip install -r requirements.txtCOPY . .CMD ["python", "app.py"]Góc nhìn CTO
Triển khai microservice cần kỷ luật: từ Dockerfile đến Kubernetes. Đừng “vẽ mây” với mono-repo nếu team chưa quen, và luôn có rollback plan để tránh drama prod.
Checklist triển khai microservice:
- Mỗi service có repo/Dockerfile riêng.
- Pipeline CI/CD tự động build, test, deploy.
- Dùng orchestrator (Kubernetes, ECS).
- Tag image rõ ràng, hỗ trợ rollback.
🎯 Tóm lại: Triển khai microservice là “cuộc chơi lớn”. Dockerize chuẩn, CI/CD mượt, orchestration rõ, để prod không thành “sân khấu drama”!

Đăng nhận xét