Blog Posts DevOps

3 nguyên tắc DevOps áp dụng cho đội CNTT của bạn

Bài viết được thực hiện bởi chủ tịch JPC Group – John Custy và là một chuyên gia CNTT 35 năm.

Khi được hỏi vấn đề nào cần được DevOps giải quyết, Trưởng nhóm Vận hành dịch vụ, Patrick Hill, đã trả lời “Vấn đề đó là không ai liên kết và cũng không cung cấp thông tin về những gì mà đội khác dự định làm”

Hoặc theo cách nói của Forrester, trong phạm vi hẹp này, mỗi bên liên quan đều có những rào cản cản trở thành công và khách hàng không đạt được trãi nghiệm như ý”

Và DevOps được khởi nguồn: để giải quyết xung đột giữa các đội phát triển (developments) và vận hành (operations).

Các đội dev muốn phát hành các tính năng nhanh và thường xuyên trong khi đội ops muốn duy trì sự ổn định và tính sẵn có của cơ sở hạ tầng – có nghĩa là càng ít thay đổi càng tốt. Trong khi đó khách hàng lại muốn cả hai.

Hai thực hành này được thể hiện theo nhiều cách:

  • Độ tin cậy: Khi có các bản phát hành mới, các nhà phát triển thường chỉ để lại code trên tường để đội vận hành đưa vào sản phẩm. Việc thiếu giao tiếp và kiến ​​thức sâu sắc về code sẽ gây khó khăn trong việc đảm bảo độ tin cậy trong sản phẩm.
  • Chất lượng: đội IT nhận được sự cố do người dùng báo cáo mỗi ngày. Những sự cố này thường được xử lý ở hệ thống khác hệ thống đội dev đang làm. Khi sự cố không liên quan đến backlog của đội dev, họ sẽ không xem xét. Việc thiếu phản hồi của người dùng đồng nghĩa là chất lượng sản phẩm bị ảnh hưởng.
  • Hỗ trợ: Khi việc hỗ trợ cần escalations lên mức độ cao hơn, nó có thể bị lạc thông tin trong quá trình chuyển giao từ CNTT và phát triển. Điều này làm cho việc giao tiếp những gì đã được sửa chữa trở nên khó khăn và khi nào, dẫn đến người dùng không hài lòng.

DevOps là một phương pháp ủng hộ sự cộng tác làm việc giữa 2 đội Dev và Ops, trong đó  pháp truyền thống họ là 2 đội hoàn toàn riêng biệt. Theo cách nói của Patrick Debois, thì DevOps không phải là về công nghệ, DevOps là về một bài toán kinh doanh”.

Dưới đây là ba nguyên tắc chính của DevOps (từ The DevOps Cookbook) và cách áp dụng chúng cho nhóm CNTT của bạn:

Cách thứ nhất: hệ thống tư duy

IT pro-tip # 1

Các nhà phát triển thường bị cô lập với phần còn lại của đội IT trong các tổ chức lớn. Mặc dù họ là một phần của cùng một phòng ban, nhưng có rất nhiều lý do cho việc thiếu cộng tác giữa các đội chẳng hạn vị trí địa lý của các đội.

Không chỉ nên phân bổ nguồn lực dev cho việc hỗ trợ mức độ escalation mà còn nên hỗ trợ đáp ứng SLA với khách hàng. SLA sẽ làm cho họ chịu trách nhiệm về năng suất kinh doanh.

Khi bạn xây dựng một nền văn hóa cộng tác

Tại Atlassian, nhân viên gửi các vấn đề của họ đến cổng thông tin khách hàng Jira service desk Đội Workplace Productivity sẽ xử lý thông qua các hàng đợi của vấn đề (queue).

Nếu họ xác định được vấn đề nào ảnh hưởng đến nhiều người dùng, họ sẽ chuyển thông tin sự cố tới Workplace Engineering để điều tra. Joe Flowers, Kỹ sư hệ thống cao cấp tại Atlassian giải thích rằng “Nếu có một sự cố liên quan đến mạng, chúng tôi sẽ hợp tác với đội Kỹ thuật mạng để nhanh chóng giải quyết vấn đề. Tất cả điều này đều được quản lý trong Jira service desk và Jira software. Đồng thời chúng tôi cũng chịu trách nhiệm đáp ứng SLA.”

Cách thứ hai: vòng phản hồi

“Mục tiêu của hầu hết mọi sáng kiến cải tiến quy trình là rút ngắn và khuếch đại các vòng phản hồi để có thể liên tục điều chỉnh và cải tiến.”

– Gene Kim

Khi bạn cải thiện vòng phản hồi giữa việc phát triển và đội IT, các bên liên quan sẽ hiểu tác động của họ đối với mục tiêu chung. Khi cả hai đội làm việc minh bạch, những sai lầm và sự cố truyền thông sẽ chỉ còn ở trong quá khứ.

IT pro-tip #2

Ngoài các bài khảo sát tự động hoặc phỏng vấn khách hàng, thông tin phản hồi có thể được ghi lại thông qua bàn dịch vụ service desk. Bằng cách phân tích dữ liệu sự cố, bạn có thể hiểu được những gì đang diễn ra không đúng

Workplace Productivity và Workplace Engineering là 2 đội anh em với nhau tại Atlassian.

Một cái bàn dịch vụ xử lý nội bộ trong khi cái kia được xây dựng để cải thiện các ứng dụng. Hai đội thường hợp tác thông qua các cuộc họp, ticket của Jira Service Desk và nói chuyện cùng nhau (họ ngồi ngay cạnh nhau).

Một ví dụ về cho vòng phản hồi là khi nhân viên bắt đầu báo cáo sự cố đăng nhập. Có quá nhiều tên người dùng và mật khẩu cần nhớ cho tất cả các hệ thống Atlassian. Những báo cáo ngày một nhiều và trở nên rõ ràng: họ buộc phải hành động. Với dữ liệu được thu thập từ bàn dịch vụ của đội Workplace Productivity, họ sẽ tạo 1 project để đội Workplace Engineering xử lý. Cuối cùng, một tên người dùng và mật khẩu cho tất cả nhân viên đã được đưa ra và kết quả số lượng yêu cầu đăng nhập giảm đi . Đây ví dụ về việc phản hồi của người dùng ảnh hưởng trực tiếp đến năng suất kinh doanh cũng như kết quả của cộng tác giữa các đội trong việc xử lý và cải tiến.

Cách thứ ba: liên tục thử nghiệm và học hỏi

Để tạo ra một nền văn hóa cần 2 việc: thử nghiệm liên tục việc đòi hỏi phải chấp nhận rủi ro, học hỏi từ những thành công và thất bại; và thứ 2 cần hiểu rằng việc lặp lại và thực hành là điều kiện tiên quyết để làm thành công”

– Gene Kim

Điều này có thể là phân bổ thời gian cho các thử nghiệm hoặc tạo ra giải thưởng để khuyến khích đội chấp nhận các thử nghiệp rủi ro và đạt thành công

IT pro-tip #3

Chạy các thí nghiệm nhỏ trong 1 nhịp độ đều đặn. Kiểm tra các giả thuyết và đo lường kết quả. Đó có thể là một cuộc tập trận trực tuyến, nơi bạn thực hành những cách mà đội của bạn đối phó với một sự cố lớn.

Netflix thực hiện điều này với “Chaos Monkey”, một dịch vụ chạy trong Amazon Web Services có nhiệm vụ kết thúc các instances (máy ảo).

“Trong năm qua Chaos Monkey đã chấm dứt hơn 65.000 instances đang chạy trong môi trường sản xuất và thử nghiệm của chúng tôi. Hầu hết thời gian mọi người không để ý, nhưng chúng tôi tiếp tục tìm thấy những điều bất ngờ do Chaos Monkey đem lại cho phép chúng tôi cô lập và giải quyết vấn đề để chúng không xảy ra nữa. “

Các nguồn khác

Nếu bạn quan tâm nhiều hơn về DevOps, hãy tải ebook mới nhất của chuyên gia ITSM – John Custy. Anh ấy sẽ chỉ cho bạn cách đưa các nguyên tắc DevOps vào nhóm hỗ trợ CNTT bằng các mẹo hữu ích.

VI