Hiểu DevOps như một vòng phản hồi, rồi thực hành công cụ theo thứ tự chúng trở nên hữu ích.
DevOps là cách những người xây dựng và vận hành phần mềm rút ngắn đường đi từ ý tưởng đến giá trị an toàn, có thể quan sát cho người dùng. Công cụ hỗ trợ, nhưng cốt lõi là ownership chung, tự động hóa, phản hồi và cải tiến liên tục.
flowchart LR
Plan[Lên kế hoạch] --> Code
Code --> Build
Build --> Test
Test --> Release
Release --> Deploy
Deploy --> Operate[Vận hành]
Operate --> Observe[Quan sát]
Observe --> Plan
Mọi topic trong lộ trình hỗ trợ một phần của vòng này. Hãy học đủ để đưa một dịch vụ nhỏ đi hết vòng trước khi chuyên sâu vào một công cụ.
Học di chuyển giữa file, xem process, đọc permission, tìm trong log và chạy lệnh qua SSH. Sau đó tự động hóa một chuỗi lặp bằng shell script. YAML là dữ liệu cấu hình của nhiều pipeline và công cụ hạ tầng; nó không phải ngôn ngữ lập trình, do đó cần kiểm tra indentation và schema cẩn thận.
Bạn nên giải thích được IP address, DNS name, port, TCP connection, HTTP request, route và firewall rule. Khi không truy cập được dịch vụ, kiểm tra từ ngoài vào: phân giải tên, route, port, process rồi application log.
Git cung cấp lịch sử thay đổi. Workflow hữu ích giữ thay đổi nhỏ, có review, chạy kiểm tra tự động và truy được revision nào đã release. Chiến lược branch và merge phải giảm rủi ro và thời gian chờ, không tạo nghi thức không cần thiết.
Docker image đóng gói ứng dụng cùng runtime dependency. Container chạy image với port, environment, storage và network rule rõ ràng. Dockerfile mô tả image; Compose mô tả môi trường nhỏ gồm nhiều container.
Kubernetes quản lý container trên nhiều máy theo desired state. Chỉ học pod, deployment, service, configuration, secret, ingress và access control sau khi bạn tự tin build, chạy, kiểm tra và dừng một container.
Continuous integration chạy kiểm tra nhanh cho mỗi thay đổi. Continuous delivery giữ một revision đã kiểm tra ở trạng thái sẵn sàng release. Continuous deployment tự release mọi revision vượt qua control bắt buộc.
Pipeline đầu tiên chỉ cần bốn job:
Thêm security scan, environment, approval và deployment strategy theo rủi ro. Luôn giữ đường rollback hoặc roll-forward đã được thử.
Infrastructure as Code mô tả môi trường bằng file có version. Terraform có thể tạo resource trên nhiều provider; template cloud-native như AWS CloudFormation tập trung vào một nền tảng. Module giảm lặp nhưng module quá tổng quát có thể che mất quyết định quan trọng.
Cloud cung cấp compute, storage, network, identity và managed platform. Hãy học khả năng trước, rồi mới học tên sản phẩm của vendor.
Log giải thích sự kiện, metric cho thấy hành vi dạng số theo thời gian, trace theo một công việc qua nhiều component. Prometheus thường thu metric và Grafana hiển thị chúng. Alert nên mô tả ảnh hưởng người dùng và chỉ tới cách phản ứng, không nên báo động cho mọi con số khác thường.
Lấy một web service nhỏ và:
Vòng nhỏ này dạy nhiều hơn việc cài mười công cụ rời rạc.
Tự động hóa kiểm thử và triển khai bằng workflow GitHub Actions.
DevOps là cách delivery và operation dựa trên feedback, không phải job title hay một bộ tool. Product, development, security và operations cùng chịu trách nhiệm từ planning đến học hỏi ở production.
Command line an toàn hơn khi bạn luôn biết current directory, preview target, quote path, đọc help và ưu tiên operation có thể hoàn tác. Command kết hợp qua file, stream, pipe và exit code.