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 ;).

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Rice

11 bài viết.
26 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
15 8
Sản phẩm sau khi làm http://coffeetube.herokuapp.com/ Yêu cầu Nói chung thì giờ download nhạc từ youtube thì nó có vô số cách rồi. Nhưng tự mình...
Rice viết 2 năm trước
15 8
White
9 4
Trước giờ logic code của mình vẫn luôn dễ dãi như gái làng chơi nên đôi khi nó đã support thêm cho mình cái đức tính càng lúc càng không (thèm) kiê...
Rice viết 2 năm trước
9 4
White
7 4
Description Mình là một thằng thích đọc sách. Nhưng lúc nào cũng bận (lười) nên cũng mấy tháng rồi chưa hoàn thành được quyển sách nào. Mình đa số...
Rice viết gần 2 năm trước
7 4
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
11 bài viết.
26 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!