litmuschaos/litmus
چه کاری انجام میده؟
این ابزار به مهندسان قابلیت عملکرد (SRE) و توسعهدهندگان کمک میکنه تا مهندسی آشوب (Chaos Engineering) رو به صورت ابرناتیو (Cloud-native) اجرا کنن. با استفاده از این ابزار، میتونید پایداری و مقاومت سیستمهای کانتینری و مبتنی بر کوبرنتیس رو با ایجاد شرایط خطا و بحران در محیط کنترلشده تست کنید. آزمایشهای آشوب در ChaosHub (https://hub.litmuschaos.io) منتشر میشن.
کاربرد:
برای تست تolerant بودن سیستمهای توزیعشده در برابر خطاها مثل قطعی شبکه، کاهش منابع CPU، حذف پادها (Pods)، خرابی سرویسها و غیره استفاده میشه. هدف، شناسایی نقاط ضعف قبل از وقوع حوادث واقعی در تولید (Production) است.
در چه شرایطی بهتره استفاده شود؟
وقتی که سیستم شما بر پایه میکروسرویس و کوبرنتیس است و نیاز دارید اطمینان حاصل کنید که در شرایط بحرانی هم پایدار میمونه. همچنین برای تیمهایی که DevOps و Site Reliability Engineering رو جدی میگیرن مناسبه.
چند مثال از موارد استفاده
شبیهسازی قطعی شبکه بین دو سرویس میکروسرویسی
شبیهسازی crash شدن یک پاد در کلستر کوبرنتیس
تست واکنش سیستم به کاهش ناگهانی منابع CPU یا حافظه
بررسی رفتار سیستم در صورت خرابی یک نود (Node) در کلستر
تست مکانیزمهای بازیابی خودکار (Auto-healing)
- ##ChaosEngineering
- ##Kubernetes
- ##SRE
- ##CloudNative
- ##ResilienceTesting
- ##DevOps
- ##LitmusChaos
- ##Microservices
- ##FaultTolerance
- ##Reliability
