
Giới thiệu
Trong lộ trình thăng tiến của một kỹ sư DevOps, có một lằn ranh mỏng manh giữa việc “làm chủ công cụ” và “bị công cụ làm chủ”. Gần đây, sau một buổi phỏng vấn vị trí Senior DevOps, tôi nhận thấy một xu hướng đáng báo động: Sự phụ thuộc quá mức vào các giải pháp phức tạp (Over-engineering) đang dần thay thế cho tư duy giải quyết vấn đề cốt lõi.
Dưới đây là những chiêm nghiệm về giá trị thực sự của một Senior DevOps trong bối cảnh hệ sinh thái Cloud Native đang ngày càng bùng nổ.
Nghệ thuật của sự lược bỏ – Less is More
Trong buổi phỏng vấn, tôi gặp một ứng viên có CV ấn tượng với danh sách dài các công nghệ thời thượng: Kubernetes, Istio, Linkerd, HashiCorp Vault, ArgoCD, Prometheus, Jaeger… Gần như toàn bộ bản đồ CNCF Landscape đều hiện diện trong dự án của bạn.
Tuy nhiên, khi tôi đặt một câu hỏi thực tế: “Nếu hệ thống chỉ có 5 microservices, lưu lượng dưới 100 req/s, việc triển khai Istio và Jaeger sẽ giải quyết bài toán cụ thể nào cho doanh nghiệp?”, ứng viên đã lúng túng.
Sự khác biệt lớn nhất giữa một Junior và một Senior không nằm ở số lượng công cụ họ biết, mà ở khả năng thực hiện Trade-off (Sự đánh đổi).
- Nếu CloudWatch hay Loki đã đủ để đáp ứng nhu cầu giám sát, tại sao phải vận hành một cụm ELK đồ sộ gây tốn kém tài nguyên lưu trữ và nhân lực bảo trì?
- Nếu Docker Compose hoặc Systemd là đủ để quản lý các worker đơn giản, việc cố gắng đưa chúng vào Kubernetes chỉ để “cho bằng bạn bằng bè” là một sai lầm về mặt kiến trúc.
Một kiến trúc sư giỏi luôn tự đặt câu hỏi: “Thành phần này có thực sự cần thiết không? Nếu loại bỏ nó, hệ thống có mất đi tính ổn định hay khả năng mở rộng không?”.
Tương quan giữa công cụ và rủi ro hệ thống
Chúng ta cần nhìn nhận hệ thống dưới góc độ Attack Surface (Bề mặt tấn công) và Failure Surface (Bề mặt lỗi). Càng nhiều thành phần trung gian, diện tích tiếp xúc với sự cố (Outage) càng rộng.
- Operational Overhead (Chi phí vận hành): Bạn cài Istio để làm Service Mesh, nhưng team có đủ năng lực để xử lý khi Envoy sidecar gây tăng Latency bất thường hoặc ngốn RAM không?
- Cognitive Load (Áp lực nhận thức): Khi sự cố xảy ra vào lúc 2 giờ sáng, việc phải lội qua 7-8 lớp công cụ chỉ để tìm nguyên nhân gốc rễ (Root Cause) là một bi kịch.
Hệ thống càng phức tạp, khả năng tự phục hồi và độ tin cậy càng giảm nếu đội ngũ vận hành không thực sự làm chủ được công nghệ đó.
Đừng để công cụ che lấp bản chất kỹ thuật
Công cụ chỉ là phương tiện (Tools are just enablers). Một Senior DevOps thực thụ cần hiểu rõ các nguyên lý nền tảng bên dưới lớp vỏ bọc YAML hay UI hào nhoáng:
- Thay vì chỉ biết viết YAML cho ArgoCD, hãy hiểu cách gói tin (packet) di chuyển qua Ingress Controller.
- Thay vì chỉ biết click Jenkins, hãy hiểu tại sao Database bị lock hoặc cách tối ưu hóa I/O cho hệ thống.
Nếu ví DevOps là người thợ máy, thì công cụ chỉ là bộ cờ-lê, mỏ-lết. Người thợ giỏi nhất không phải là người có hộp đồ nghề to nhất, mà là người biết dùng lực và kỹ thuật đúng lúc, đúng chỗ.
Case Study: Tối ưu hiệu năng bằng cách lược bỏ
Tôi từng tham gia tư vấn cho một startup gặp tình trạng hệ thống phản hồi chậm một cách vô lý. Qua kiểm tra, tôi phát hiện họ đang vận hành một dàn microservices nhỏ trên nền tảng Istio, trong khi đội ngũ chỉ có 2 kỹ sư DevOps.
Hệ quả là:
- Phần lớn thời gian của team dành cho việc cấu hình mTLS, VirtualService và DestinationRule.
- Độ trễ hệ thống tăng vọt do Overhead của các sidecar proxy.
Giải pháp tôi đưa ra rất đơn giản: Gỡ bỏ hoàn toàn Istio và quay về sử dụng Cloud Load Balancer cơ bản.
Kết quả: Hệ thống vận hành ổn định hơn, độ trễ giảm hơn 30%, và quan trọng nhất, đội ngũ kỹ thuật thoát khỏi cái bẫy “vận hành công cụ” để tập trung vào phát triển tính năng sản phẩm. Đó chính là giá trị của việc dám lược bỏ.
Lời kết
Đến một giai đoạn nhất định trong sự nghiệp, bạn sẽ không còn tự hào vì CV có nhiều tên công cụ, mà sẽ tự hào vì xây dựng được một hệ thống Lean (Tinh gọn) nhất có thể.
Dựa trên triết lý tối giản, chúng ta có thể đúc kết:
“Hạ tầng hoàn hảo không phải là khi không còn gì để thêm vào, mà là khi không còn gì để bớt ra.”
Còn bạn, bạn đã bao giờ dũng cảm “vứt rác” ra khỏi hệ thống của mình chưa? Hay vẫn đang gồng mình duy trì những công cụ phức tạp chỉ để giữ cho hồ sơ năng lượng trông có vẻ “ngầu”?
Trích: Hà Văn Hiếu – System Engineer tại FPT Software

