Sơ lược về DevOps Feedback Loops

Thu HaTr

Là khái niệm cơ bản về tư duy hệ thống cũng như là phần quan trọng quyết định sự thành công cho tổ chức, hiểu và thực hiện đúng các DevOps feedback loops trong doanh nghiệp sẽ “quyết định sự thành hay bại” của mọi vấn đề.

Các chuyên gia DevOps đang tập trung vào việc tạo mối liên kết hợp lý giữa phát triển và vận hành IT. Tuy nhiên, để nuôi dưỡng mối quan hệ này và sự hợp tác của hai đơn vị kinh doanh này thành công - cần tập trung vào cả tốc độ và chất lượng - trước tiên cần hiểu feedback loops ảnh hưởng đến cải tiến quy trình như thế nào.

devops-feedback-loops.jpg

Feedback Loop là gì?
Là thuật ngữ DevOps phổ biến, feedback loops là một khái niệm phần lớn bị hiểu sai. Hãy bắt đầu bằng cách tìm hiểu nghĩa của các từ “feedback” và “loop”, sau đó là cách chúng phối hợp với nhau để hoàn thành công việc. Feedback được định nghĩa trong Từ điển Oxford là, “Việc sửa đổi hoặc kiểm soát một quá trình hoặc hệ thống bằng các kết quả hoặc tác động của nó”. Và loop được định nghĩa trong Từ điển Oxford là, “Cấu trúc, chuỗi hoặc quá trình, sự kết thúc của nó được kết nối với điểm bắt đầu." Khi kết hợp hai thuật ngữ này với nhau, có thể hiểu feedback loop là hệ thống mà outputs được đưa trở lại vào inputs để cải thiện quy trình hoặc sản phẩm trong khi tăng hoặc giảm các tác động được tạo ra sau này. Feedback loops về cơ bản là sự đánh giá nội bộ về cách các nhóm, hệ thống và users hoạt động.

Điều này vẫn có vẻ khó hiểu. Vì vậy, hãy tìm hiểu sâu hơn cách feedback loops hoạt động trong kinh doanh và công nghệ.

Nhiều chuyên gia đồng ý, “feedback loops thực thi các ưu tiên và mục tiêu dự án để sự tự do và tốc độ phát triển nhanh không dẫn đến sai lầm”. Mục tiêu của hệ thống này là tạo mạch giữa hai đơn vị kinh doanh DevOps đã đề cập ở trên. Về cơ bản một luồng xuất hiện khi thay đổi xảy ra trong một đơn vị, nó gây ra thay đổi trong đơn vị khác, và dẫn đến sự thay đổi trong đơn vị đầu tiên. Điều này cho phép công ty linh động thực hiện các chỉnh sửa cần thiết liên tục theo đúng hướng. Sử dụng feedback loop để thu thập IT data và tạo ra luồng thông tin liên tục có thể hiệu đơn giản là sự tăng trưởng có giá trị ở quy mô lớn. Và, một trong những lý do tốt nhất để sử dụng DevOps feedback loops là thu hẹp khoảng cách giữa chức năng software và sự mong đợi của khách hàng.

DevOps Feedback Loop đơn giản
Developer (input) viết một số code cho chương trình mới và gửi cho designer xây dựng. Sau đó, hệ điều hành sẽ chạy code dựng sẵn (output) và được developer theo dõi để xác định việc cần làm tiếp theo (input). Các bước tiếp theo đó được gửi trở lại cho designer và một lần nữa được theo dõi trên hệ điều hành (output). Đó chính là loop. Mục đích của feedback loop ở đây là hợp lý hóa cách viết code, phân phối, xây dựng, xử lý và thời gian cần thiết để sửa đổi input. Nếu một trong các bước trong phân phối thông tin bị tắt, toàn bộ loop sẽ bị tắt.

Hai loại Feedback Loops
Reinforcing (tích cực)

Cũng được gọi là loop tăng tốc hoặc thay đổi, loại loop này xuất hiện khi nhóm đầu tiên thấy sự gia tăng tích cực dẫn đến nhóm thứ hai cũng thấy sự gia tăng tích cực, sau đó tạo ra sự gia tăng tích cực cho nhóm đầu tiên. Lưu ý rằng nó cũng có thể đi theo chiều hướng khác với ảnh hưởng tiêu cực. Lưu ý rằng ví dụ nêu trên là một feedback loop tích cực.

Balancing (tiêu cực)
Loại loop này ngược lại với việc tăng tốc. Sự cân bằng xảy ra khi nhóm đầu tiên thấy sự gia tăng tích cực và nhóm thứ hai thấy giá trị giảm, khi đó làm giảm giá trị của nhóm thứ nhất. Hệ thống cuối cùng sẽ ổn định ở vị trí không thể thay đổi nữa.

Vì mỗi loại feedback loop gồm nhiều yếu tố khác nhau, nên dẫn đến ít hoặc nhiều ảnh hưởng hơn nữa, chức năng cơ bản vẫn giữ nguyên. Khi loop tiếp tục, từng đơn vị sẽ thay đổi trong khi vẫn ảnh hưởng đến những đơn vị khác.

Những sai lầm thường gặp cần tránh
  • Tập trung vào feedback, bỏ qua loop
Feedback luôn rất tuyệt vời. Nhưng, tầm quan trọng của loop là hành động. Có thể có những bước đầu tiên để tích hợp, xây dựng, thử nghiệm và triển khai. Sau đó, mọi thứ bắt đầu thất bại và các cam kết tăng lên. Các nhóm bị tổn thất vì không tìm ra nguyên nhân gốc và giao tiếp, chỉ có thể thấy được feedback nhưng không tiếp tục loop để giải quyết vấn đề.
  • Feedback loops là tích cực, bỏ qua tiêu cực
Quay trở lại các loại loops, hẳn là không có bất kỳ sự thỏa hiệp nào xác định loại đang được xử lý trước khi thực hiện bất kỳ thay đổi nào. Nếu đang tập trung vào một kết quả nhưng loop lại tạo ra kết quả khác, sự cân bằng không cần thiết hoặc tăng lên, các hệ thống và sự vận hành chậm hơn, kém hiệu quả hơn sẽ được kết thúc. Quá trình này sẽ dẫn đến những vấn đề không bao giờ được sửa chữa.
  • Thất bại trong việc đào tạo nhóm cung cấp feedback
Có thể xác nhận rằng toàn bộ nhóm có thể cung cấp feedback đáng tin cậy, có thể sử dụng cũng như thực hiện bất kỳ feedback nào nhận được là một phần quan trọng để có feedback loops thành công. Để đạt được điều này, có thể sử dụng các feedback loops đã có và thảo luận về những thành phần đang hoạt động trong hệ thống. Ngoài ra, hãy chắc chắn tất cả các thông báo có thể hoạt động, đảm bảo thực hiện những việc cần thiết để hoàn thành và có tính hiệu quả.
  • Thúc đẩy ý tưởng về các loops đơn, không phải là hệ thống
Mặc dù rất có giá trị khi tập trung vào chỉ một loop, nhưng nếu không thấy toàn bộ hệ thống các loops, loop đơn sẽ thất bại. Ví dụ: hệ thống không ổn định do lỗi network và không gian lưu trữ đầy đủ. Để khắc phục sự cố, sẽ áp dụng balancing loop, đưa ra thông báo cho nhân viên khi xảy ra sự cố sẽ giúp ổn định hệ thống nhưng không thể dừng lại ở đó. Sau khi ổn định, cần thực hiện accelerating loop, nơi có thể lập kế hoạch cho các sửa đổi hệ thống trong tương lai cho phép mở rộng network và lưu trữ. Nếu không có hệ thống các loops làm việc cùng nhau, sẽ gặp bế tắc về việc thay đổi.
  • Feedback loops không phải là hệ thống thông báo
Nói về thông báo, luôn nhớ rằng cảnh báo và thông báo chỉ là một phần thông tin. Đây không phải là những loops trong chính nó. Cần tập trung vào nhân lực liên quan đến thông tin từ output vào input thay vì chỉ dựa vào cảnh báo hệ thống tự động. Liên tục kiểm tra tự động hóa và cải thiện loops.
  • Quên xác định các vấn đề cụ thể
Đánh giá về tình hình hiện tại sẽ giảm những vấn đề hóc búa trong tương lai. Khi mỗi vấn đề được xác định trước khi bắt đầu loops, có thể tránh sự trùng lặp, loops hở và các sự cố hệ thống. Trên hết, khi các vấn đề được xác định thì sẽ dễ dàng xác định loại loop và xây dựng từ đầu.
  • Tạo điều kiện đánh giá mà không đóng loop
Từ các hoạt động nhỏ đến lớn, đóng loop và đảm bảo thông tin feedback tích cực đến thành phần khác là điều cần thiết. Với việc liên lạc giữa máy với người, người này sang người khác, máy này đến máy khác, và từ người đến máy, cần đảm bảo rằng mọi đầu ra đều giao tiếp chính xác với các đầu ra khác. Nếu một trong những thành phần đó bị tắt thì tất cả sẽ bị tắt.

Hiểu rõ hơn về feedback loops
Phân tích và tối ưu hóa phân phối hệ thống và software tùy thuộc vào khả năng của mỗi người để thiết lập đúng feedback loops. Nếu không có chúng, doanh nghiệp và cấu trúc sẽ thất bại bởi vì thiếu các vấn đề được giải quyết và thông tin được chia sẻ nhanh chóng.

Nguồn:
 
Top