اخبار جدید

مهندسی آشوب؛ راهی برای پیش بینی رویدادهای غیرمنتظره

[ad_1]

آیا فکر می کنید می توان هرج و مرج را سازماندهی کرد؟ خوب، این دقیقاً همان چیزی است که مهندسی آشوب در مورد آن است. امروزه با ظهور میکروسرویس ها و فضاهای ابری توزیع شده، دنیای وب بسیار پیچیده تر از گذشته شده است. همه ما بیش از هر زمان دیگری به این سیستم ها وابسته هستیم و هر اشتباهی در این سیستم ها می تواند مشکلات زیادی را ایجاد کند. مهندسی آشوب روشی برای پیش‌بینی رویدادهای غیرمنتظره و خرابی‌های سیستم است که در این مقاله به آن پرداخته‌ایم. با ما بمان.

مهندسی آشوب چیست؟

مهندسی آشوب یک رویکرد سیستماتیک برای شناسایی خرابی ها قبل از وقوع است. در این روش با انجام تست های پیشگیرانه نحوه واکنش سیستم در شرایط بحرانی را شناسایی کرده و مشکلات آن را حل می کنیم. مهندسی آشوب به ما این امکان را می‌دهد که درک خود از رفتار سیستم را با آنچه در واقع اتفاق می‌افتد مقایسه کنیم و بفهمیم که سیستم ما چه مشکلی دارد.

رونیکس

کارشناسان می گویند که مهندسی آشوب در واقع فرآیند آزمایش یک سیستم محاسباتی است تا اطمینان حاصل شود که سیستم می تواند در برابر اختلالات غیرمنتظره مقاومت کند. مهندسی آشوب بر اساس مفاهیم اولیه تئوری آشوب طراحی شده است. این نظریه بر رفتار تصادفی و رویدادهای غیرقابل پیش بینی تمرکز دارد. هدف مهندسی آشوب شناسایی نقاط ضعف سیستم از طریق آزمایش کنترل شده است. یعنی با این کار می توانیم نقاط آسیب پذیر سیستم را پیدا کنیم و مشکلات آنها را برطرف کنیم.

سیستم ها به دلایل مختلف شکست می خورند. هر چه سیستم بزرگتر و پیچیده تر باشد، رفتار آن غیرقابل پیش بینی تر و آشفته تر می شود. مفهوم اصلی نظریه آشوب، اختلال عمدی یک سیستم به منظور جمع آوری اطلاعاتی است که می تواند به انعطاف پذیری و انعطاف پذیری سیستم کمک کند. یکی از مهمترین کاربردهای مهندسی آشوب، یافتن نقاط ضعف امنیتی در فضای دیجیتال است. به عنوان مثال، مهندسان IT مشکلات پنهان، نقاط کور و گلوگاه های عملکرد سیستم را با اجرای چندین آزمایش برای رفع آنها قبل از حملات هکرها پیدا می کنند.

چرا مهندسی آشوب مهم است؟

امروزه زندگی و کسب و کار ما به سیستم های کامپیوتری وابسته است. با پیشرفت تکنولوژی، این سیستم ها پیچیده تر شده اند و پیش بینی خطاهای احتمالی آنها دشوار است. مشکلات سیستم کامپیوتری تاثیر قابل توجهی بر زندگی ما دارد و یک اشتباه کوچک می تواند هزینه زیادی برای شرکت ها داشته باشد. به عنوان مثال، به گفته مدیرعامل بریتیش ایرویز، یک خطای سیستمی در سال 2017 باعث شد ده ها هزار مسافر این ایرلاین در فرودگاه گم شوند و این مشکل 80 میلیون پوند برای این شرکت هزینه داشته است. بنابراین شرکت ها باید مشکلات احتمالی را پیش بینی کنند تا در شرایط بحرانی قرار نگیرند.

نقش مهندسی آشوب در سیستم های توزیع شده

سیستم های توزیع شده پیچیده تر از سیستم های یکپارچه هستند. این سیستم ها از چندین کامپیوتر متصل در یک شبکه تشکیل شده اند. این کامپیوترها با هم تعامل دارند و اجزای خود را به اشتراک می گذارند. هدف سیستم های توزیع شده همگام سازی و انجام وظایف مختلف است، بنابراین پیش بینی تمام خطاهای احتمالی آنها دشوار است. 8 اشتباه در سیستم های توزیع شده وجود دارد که برنامه نویسان تازه کار ممکن است در نظر نگیرند. این خطاها عبارتند از:

  • شبکه قابل اعتماد است.
  • تأخیر شبکه صفر است.
  • پهنای باند بی نهایت است.
  • شبکه امن است.
  • توپولوژی تغییر نمی کند.
  • یک مدیر وجود دارد؛
  • هزینه حمل و نقل صفر است.
  • شبکه همگن است.

بسیاری از این خطاها به ما در طراحی آزمایشات مهندسی آشوب کمک می کنند. به عنوان مثال، قطع شدن شبکه می‌تواند باعث ایجاد طیف گسترده‌ای از خرابی‌ها شود که بر مشتریان تأثیر می‌گذارد یا برنامه‌ها می‌توانند دائماً حافظه را مصرف کنند. هر یک از این نمونه ها نیاز به آزمایش و آماده سازی دارند. به همین دلیل مهندسی آشوب به ما کمک می کند تا مشکلات سیستم توزیع شده را بشناسیم و برای آنها آماده باشیم.

مهندسی آشوب چگونه کار می کند

مهندسی آشوب شبیه به تست استرس است و هدف آن شناسایی و اصلاح مشکلات سیستم یا شبکه است. تست استرس یک جزء را در یک زمان آزمایش می کند و آن را برطرف می کند، اما مهندسی آشوب همه مشکلاتی را که تعداد بی نهایت علت احتمالی دارند بررسی می کند. این بدان معناست که دیدگاهی جامع از مشکلات دارد و عملکرد سیستم را در برابر مجموعه ای از مشکلاتی که احتمال وقوع آنها کمتر است اندازه گیری می کند. فرآیند مهندسی آشوب شامل چندین مرحله است که در زیر به آنها خواهیم پرداخت.

1. برنامه ریزی فرآیند حالت پایدار

یکی از مهمترین سوالات در مهندسی آشوب این است که چه چیزی می تواند باعث خطا شود؟ با پرسیدن این سوال در مورد خدمات و سیستمی که در اختیار داریم، می توانیم نقاط ضعف بالقوه را ارزیابی کرده و در مورد نتایج احتمالی بحث کنیم. در این مرحله عملکرد صحیح سیستم را در حالت عادی شناسایی می کنیم. سپس اولویت‌های خود را بررسی می‌کنیم تا باگ‌هایی را پیدا کنیم که احتمال بیشتری دارند یا آسیب‌رسان‌تر هستند.

2. یک فرضیه ایجاد کنید

در این مرحله می خواهیم بدانیم شکست این نقاط ضعف چگونه بر عملکرد سیستم، مشتریان و خدمات سازمان تاثیر می گذارد. بنابراین یک یا چند نقطه ضعف سیستم را بررسی می کنیم و در مورد آنها فرضیه می سازیم. ما سناریوهای ممکن را در قالب فرضیه ها ایجاد می کنیم تا بدانیم چگونه در سیستم هرج و مرج ایجاد کنیم. برای مثال، آزمایش‌کنندگان نرم‌افزار ممکن است بخواهند عملکرد سیستم را مطالعه کنند تا بفهمند وقتی ترافیک افزایش می‌یابد چه اتفاقی برای سیستم می‌افتد. در این صورت افزایش ترافیک نقطه هرج و مرج در سیستم خواهد بود.

3. انجام آزمایش

در مرحله سوم، آزمایش هایی را برای اندازه گیری پیامدها انجام می دهیم. آزمایش‌ها ممکن است یک خطای حیاتی را در یک فرآیند نشان دهند یا یک رابطه علت و معلولی غیرمنتظره را شناسایی کنند. این تست های کنترل شده، خطاهای سیستم را تحت شرایط خاصی شناسایی می کنند و به ما فرصت اصلاح آنها را می دهند. به عنوان مثال، شبیه سازی افزایش ترافیک سیستم می تواند به ما بگوید که عملکرد ذخیره سازی داده ها آسیب خواهد دید.

4. ارزیابی

برای درک نحوه عملکرد سیستم در شرایط بحرانی، باید در دسترس بودن و پایداری سیستم را اندازه گیری کنیم، سپس نتایج تست را بررسی کرده و نقاط خرابی را پیدا کنیم تا تیم پشتیبانی بتواند آنها را برطرف کند. با انجام این کار، اطمینان حاصل می کنیم که سیستم ما حتی در زمان های بحرانی به طور پایدار و صحیح کار می کند.

5. عیب یابی

پس از انجام آزمایشات مهندسی آشوب، 2 نتیجه ممکن وجود دارد. در حالت اول تست تایید می کند که سیستم شما عیب پذیر است و در حالت دوم مشکلی که باعث از کار افتادن سیستم شده است را به شما نشان می دهد. کارشناسان می گویند هر دو رژیم برای شما خوب است. در حالت اول به سیستم خود و رفتار آن اطمینان بیشتری خواهید داشت و در حالت دوم قبل از جدی شدن مشکل را شناسایی کرده اید و می توانید در آن مرحله آن را برطرف کنید.

بهترین شیوه های مهندسی آشوب

مهندسی آشوب یک فرآیند پیچیده است. برای اینکه مشکلی ایجاد نکنید، بهتر است از روش های مطمئن استفاده کنید. ابتدا رفتار معمولی سیستم را درک کنید. درک کامل سیستم در حالت سالم و پایدار به شما در تشخیص بهتر مشکلات کمک می کند. سپس سناریوهای احتمالی را شبیه سازی کنید. روی تزریق اشکالات و خطاهای احتمالی تمرکز کنید. ایجاد هرج و مرج در نقطه ضعف سیستم و تست عملکرد سیستم برای یافتن مشکلات.

مهندسی آشوب می تواند بسیار مخرب باشد، بنابراین آزمایش خود را با دقت و به شیوه ای کنترل شده طراحی کنید. هماهنگی با تیم های فناوری اطلاعات، توسعه دهندگان و سایر واحدهای سازمانی و شناسایی مشکلات سیستم با حداقل آسیب.

آخرین کلمه

امروزه سیستم های توزیع شده و میکروسرویس ها گسترش یافته و سیستم های وب را پیچیده تر کرده اند. به همین دلیل، پیش بینی خرابی سیستم نسبت به گذشته دشوارتر است. باید روش های جدیدی برای جلوگیری از خطا در سیستم داشته باشیم. مهندسی آشوب یکی از این روش هاست. در مهندسی آشوب، با ایجاد خطاهای کنترل شده، نقاط ضعف و خطاهای سیستم را شناسایی کرده و مشکلات احتمالی را قبل از وقوع حل می کنیم.

اگر این مقاله برای شما مفید بود، آن را با دوستان خود به اشتراک بگذارید و نظر خود را برای ما بنویسید.


جلسات موثری را مانند اساتید هاروارد برگزار کنید

جلسات خود را به کارآمدترین شکل ممکن مدیریت کنید. و از هدر دادن هزاران ساعت وقت سازمانی خودداری کنید.
[ad_2]
نمایش بیشتر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا