DevOps Lifecycle – Vòng đời DevOps
Hình trên mô tả hai ý quan trọng: DevOps là sự giao thoa giữa con người – quy trình – công nghệ, đồng thời là một vòng đời liên tục, chứ không phải một giai đoạn riêng của phát triển phần mềm.
1. DevOps = Dev + QA + Operations
Hình bên trái cho thấy DevOps nằm tại vùng giao nhau của ba nhóm:
Trước đây, ba nhóm thường hoạt động khá độc lập. Dev viết code rồi chuyển cho QA; QA kiểm thử xong chuyển cho Ops. Khi production xảy ra lỗi, việc xác định trách nhiệm và xử lý thường mất nhiều thời gian.
DevOps hướng tới việc xóa bỏ các silo này, để Dev, QA và Ops cùng tham gia trong toàn bộ vòng đời ứng dụng.
2. DevOps là một vòng lặp liên tục
Biểu tượng hình số 8 bên phải thể hiện bản chất Continuous – liên tục của DevOps:
Plan → Code → Build → Test → Release → Deploy → Operate → Monitor → Plan...
Plan: Xác định yêu cầu, tính năng và công việc cần thực hiện.
Code: Developer viết code và quản lý source code bằng Git.
Build: Source code được tự động build thành artifact, package hoặc container image.
Test: Thực hiện unit test, integration test, security test... Nếu không đạt yêu cầu, pipeline có thể dừng ngay.
Release: Phiên bản đạt yêu cầu được chuẩn bị để đưa vào môi trường production.
Deploy: Tự động triển khai ứng dụng lên VM, container, Kubernetes hoặc Cloud.
Operate: Đội Operations vận hành ứng dụng và hạ tầng thực tế.
Monitor: Thu thập log, metric, event và trải nghiệm người dùng để phát hiện vấn đề.
Thông tin từ Monitor lại quay trở về Plan, tạo thành một vòng phản hồi liên tục.
3. CI/CD nằm ở đâu?
CI/CD là một trong những cơ chế quan trọng để hiện thực hóa DevOps.
Continuous Integration (CI):
Code → Build → Test
Mỗi khi developer commit code, hệ thống có thể tự động build và kiểm thử.
Continuous Delivery/Deployment (CD):
Release → Deploy
Phiên bản đạt yêu cầu được chuẩn bị hoặc tự động đưa vào production tùy mô hình triển khai.
Ví dụ:
Developer → Git → CI Pipeline
↓
Build & Test
↓
Security Scan
↓
Docker Image
↓
Deploy
↓
Kubernetes
↓
Monitor
4. DevOps không chỉ dành cho Developer
Network Engineer cũng có thể áp dụng cùng tư tưởng:
Plan → viết cấu hình → Git → Validate/Test → Approval → Deploy → Monitor
Ví dụ, thay vì SSH vào 100 router để cấu hình VLAN, kỹ sư có thể quản lý cấu hình bằng Git, dùng Python/Ansible để kiểm tra và triển khai tự động, sau đó dùng telemetry để xác minh trạng thái mạng.
Đây chính là tư tưởng Infrastructure as Code (IaC) và Network Automation.
Vì vậy, hình số 8 của DevOps không có điểm kết thúc: Monitor của hôm nay chính là dữ liệu đầu vào cho Plan của vòng phát triển tiếp theo.
Hình trên mô tả hai ý quan trọng: DevOps là sự giao thoa giữa con người – quy trình – công nghệ, đồng thời là một vòng đời liên tục, chứ không phải một giai đoạn riêng của phát triển phần mềm.
1. DevOps = Dev + QA + Operations
Hình bên trái cho thấy DevOps nằm tại vùng giao nhau của ba nhóm:
- Dev – Development: thiết kế và phát triển ứng dụng.
- QA – Quality Assurance: kiểm thử và đảm bảo chất lượng.
- Technology Operations – Operations: triển khai, vận hành và duy trì hệ thống.
Trước đây, ba nhóm thường hoạt động khá độc lập. Dev viết code rồi chuyển cho QA; QA kiểm thử xong chuyển cho Ops. Khi production xảy ra lỗi, việc xác định trách nhiệm và xử lý thường mất nhiều thời gian.
DevOps hướng tới việc xóa bỏ các silo này, để Dev, QA và Ops cùng tham gia trong toàn bộ vòng đời ứng dụng.
2. DevOps là một vòng lặp liên tục
Biểu tượng hình số 8 bên phải thể hiện bản chất Continuous – liên tục của DevOps:
Plan → Code → Build → Test → Release → Deploy → Operate → Monitor → Plan...
Plan: Xác định yêu cầu, tính năng và công việc cần thực hiện.
Code: Developer viết code và quản lý source code bằng Git.
Build: Source code được tự động build thành artifact, package hoặc container image.
Test: Thực hiện unit test, integration test, security test... Nếu không đạt yêu cầu, pipeline có thể dừng ngay.
Release: Phiên bản đạt yêu cầu được chuẩn bị để đưa vào môi trường production.
Deploy: Tự động triển khai ứng dụng lên VM, container, Kubernetes hoặc Cloud.
Operate: Đội Operations vận hành ứng dụng và hạ tầng thực tế.
Monitor: Thu thập log, metric, event và trải nghiệm người dùng để phát hiện vấn đề.
Thông tin từ Monitor lại quay trở về Plan, tạo thành một vòng phản hồi liên tục.
3. CI/CD nằm ở đâu?
CI/CD là một trong những cơ chế quan trọng để hiện thực hóa DevOps.
Continuous Integration (CI):
Code → Build → Test
Mỗi khi developer commit code, hệ thống có thể tự động build và kiểm thử.
Continuous Delivery/Deployment (CD):
Release → Deploy
Phiên bản đạt yêu cầu được chuẩn bị hoặc tự động đưa vào production tùy mô hình triển khai.
Ví dụ:
Developer → Git → CI Pipeline
↓
Build & Test
↓
Security Scan
↓
Docker Image
↓
Deploy
↓
Kubernetes
↓
Monitor
4. DevOps không chỉ dành cho Developer
Network Engineer cũng có thể áp dụng cùng tư tưởng:
Plan → viết cấu hình → Git → Validate/Test → Approval → Deploy → Monitor
Ví dụ, thay vì SSH vào 100 router để cấu hình VLAN, kỹ sư có thể quản lý cấu hình bằng Git, dùng Python/Ansible để kiểm tra và triển khai tự động, sau đó dùng telemetry để xác minh trạng thái mạng.
Đây chính là tư tưởng Infrastructure as Code (IaC) và Network Automation.
Điểm quan trọng nhất của DevOps không phải là một công cụ cụ thể như Git, Jenkins, Docker hay Kubernetes. DevOps là văn hóa và phương pháp làm việc giúp Development, QA và Operations cộng tác, tự động hóa và liên tục cải tiến sản phẩm.
Vì vậy, hình số 8 của DevOps không có điểm kết thúc: Monitor của hôm nay chính là dữ liệu đầu vào cho Plan của vòng phát triển tiếp theo.