Bạn có chắc chắn muốn xóa bài viết này không ?
Bạn có chắc chắn muốn xóa bình luận này không ?
Khi bầy khỉ nổi loạn
Giữa dịp nghỉ lễ COVID-19 và thất nghiệp dài hạn này, thi thoảng mình lại lướt lướt LinkedIn course xem có gì hay hay để học không. Nay LinkedIn recommend mình học về reliable engineering. Đọc về case study của Netflix, mình thấy có một cụm từ hay hay là "Chaos Monkey" nên mình quyết định note lại cho tương lai xa xôi sử dụng :v.
All systems will fall.
Về mặt lý thuyết, Netflix khẳng định rằng tất cả systems đều không bao giờ đạt tới cảnh giới "reliable" được. Vậy nên thay vì bỏ tiền ra để suốt ngày nâng cấp systems (which is a losing game), chúng ta nên thiết kế một hệ thống để "fail".
Trong thời đại 4.0 hiện nay, các system đa phần đều được release liên tục và đồng thời cũng được examination liên tục để đảm bảo hệ thống luôn được ổn định, nhất quán, không bug không lỗi :shame:. Bở thế, các tổ chwsc đã và đang thiết kế những cách thông minh hơn để test system. Từ unit tới functional, và infrastructure testing.
Netflix giới thiệu cho chúng ta: Chaos Monkey.
Chaos Monkey
Những tiến bộ trong các hệ thống phần mềm phân tán (distributing system) đang dần thay đổi cuộc chơi cho các công nghệ phần mềm. Chúng ta luôn nhanh chóng áp dụng các thực tiễn giúp tăng tính linh hoạt của sự phát triển và tốc độ triển khai.
Một câu hỏi sẽ luôn hiện hữu trong đầu chúng ta: "Liệu hệ thống có đáng tin không?"
Chaos monkeys hiểu một cách đơn giản thì đó là có một bầy khỉ liên tục phá hủy hệ thống của bạn, và bạn sẽ phải tìm cách để sống sót với bầy khỉ đó.
Khi đó chúng ta sẽ xem xét từng module của hệ thống phân tán quy mô lớn, bao gồm lỗi ứng dụng, lỗi mạng, lỗi cơ sở hạ tầng, lỗi phụ thuộc, etc.
Điểm hay ho của Chaos Monkeys là nó vô tận. Vô vàn kiểu hỏi xoáy đạp xoay vào hệ thống với tất cả các vị trí nó có thể tấn công. Từ đó chúng ta có thể tìm ra điểm yếu của hệ thống một cách nhanh chóng và xử lí chúng.
Lời kết
Hiện tại Netflix đã tung ra các phiên bản Chaos sau:
- Chaos Monkey
- Latency Monkey
- Doctor Monkey
- Conformity Monkey
- Janitor Monkey
- Security Monkey
- Chaos Gorilla
- 10–18 Monkey
Nếu bạn là một DevOps Engineer (hoặc bạn chán, thất nghiệp như mình). Bạn có thể tìm hiểu thử về Chaos Monkey và test nó trên system của bạn.
Offical github của Chaos Monkey
Have fun.
À và còn câu cuối cùng: If it hurts, do it more often ;).




