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

با مرور فصلها، ساختار ، محتوای کتاب را به سرعت بشناسید.
با مرور فصلهای این کتاب میتونی خیلی سریع بفهمی هر بخش چی یاد میده، ساختار کلی چطوره و از کجا باید شروع کنی. هر فصل روی یک مفهوم یا مهارت خاص تمرکز داره و موضوعات اصلیش رو میبینی تا انتخابت آگاهانهتر باشه. چه بخوای کل کتاب رو دنبال کنی، چه فقط یک بخش خاص رو دنبال کنی، این نما کمکت میکنه مسیرت رو پیدا کنی.
در طول تاریخ، مزیتهای رقابتی خود را به عنوان سیستمهای پیچیده نشان دادهاند. علوم نظامی، ساختوساز، نوآوریهای دریایی—برای انسانهایی که در آن زمان مجبور به تعامل با آن سیستمها بودند، قطعات متحرک بسیار زیادی به روشهای غیرقابل پیشبینی با یکدیگر تعامل داشتند که پیشبینی نتیجه با اطمینان غیرممکن بود. سیستمهای نرمافزاری، سیستمهای پیچیده امروزی هستند.
مهندسی آشوب عمداً به عنوان یک رشته فعال برای درک و مدیریت سیستمهای پیچیده ایجاد شد. بخش اول این کتاب نمونههایی از سیستمهای پیچیده را معرفی میکند و اصول مهندسی آشوب را در آن زمینه پایه گذاری میکند. محتوای فصل ۱ و فصل ۲ به ترتیبی طبیعی چیده شده است که مهندسان و معماران باتجربه برای مدیریت پیچیدگی میآموزند: تأمل، مواجهه، مقابله، پذیرش و در نهایت مدیریت آن.
فصل ۱ ویژگیهای سیستمهای پیچیده را بررسی میکند و این ویژگیها را با سه مثال برگرفته از سیستمهای نرمافزاری نشان میدهد: “در سیستمهای پیچیده، ما اذعان داریم که یک نفر نمیتواند تمام قطعات را در ذهن خود نگه دارد.” در فصل ۲ توجه خود را به مدیریت پیچیدگی به عنوان یک رویکرد سیستمی معطوف میکنیم: “دیدگاه جامع و سیستمی مهندسی آشوب یکی از چیزهایی است که آن را از سایر شیوهها متمایز میکند.” دو مدل، مدل ایمنی پویا و مدل ستونهای اقتصادی پیچیدگی، به عنوان راههایی برای تفکر در مورد کار با پیچیدگی ارائه شدهاند.
فصل ۳ بر اساس این کاوش در سیستمهای پیچیده ارائه شده ...

مواجهه با سیستمهای پیچیده
Contemplating Complexity • Encountering Complexity • Example 1: Mismatch Between Business Logic and Application Logic • Example 2: Customer-Induced Retry Storm • Example 3: Holiday Code Freeze • Confronting Complexity • Accidental Complexity • Essential Complexity • Embracing Complexity
درحال تولید...

مدیریت سیستمهای پیچیده
Dynamic Safety Model • Economics • Workload • Safety • Economic Pillars of Complexity • State • Relationships • Environment • Reversibility • Economic Pillars of Complexity Applied to Software • The Systemic Perspective
درحال تولید...

مروری بر اصول
What Chaos Engineering Is • Experimentation Versus Testing • Verification Versus Validation • What Chaos Engineering Is Not • Breaking Stuff • Antifragility • Advanced Principles • Build a Hypothesis Around Steady-State Behavior • Vary Real-World Events • Run Experiments in Production • Automate Experiments to Run Continuously • Minimize Blast Radius • The Future of “The Principles”
درحال تولید...
ما احساس کردیم که نمایش صداهای مختلف از سازمانهای متفاوت در سراسر این کتاب مهم است. هیچ برنامه مهندسی آشوب یکسان و مناسب برای همه وجود ندارد. برخی از نظرات و راهنماییهای ارائه شده در اینجا کاملاً سازگار نیستند، و این اشکالی ندارد. ما از اختلاف نظر و دیدگاههای مخالف دوری نکردیم. شما موضوعات مشترکی مانند ساخت یک “دکمه قرمز بزرگ” در برنامههای آشوب، و همچنین نظرات متناقضی مانند اینکه آیا مهندسی آشوب شکلی از تست یا آزمایش است، خواهید یافت.
ما به طور خاص دیدگاههایی از اسلک، گوگل، مایکروسافت، لینکدین و کپیتال وان را انتخاب کردیم. ما قانعکنندهترین مثالها و روایتها را ارائه میدهیم و به خواننده واگذار میکنیم که کدام یک برای شرایط خودشان مناسبتر است. در سیستمهای پیچیده، زمینه پادشاه است.
با فصل ۴، “تئاتر فاجعه اسلک” با ریچارد کراولی آغاز میکنیم که رویکرد خاص مهندسی آشوب در اسلک را توصیف میکند. با ترکیبی از سیستمهای قدیمی و مدرن، اسلک محیطی غنی برای کاوش روشهای مختلف مهندسی آشوب فراهم میکند. ریچارد رویکردی منحصربهفرد برای روزهای بازی با شور و شوق خاصی انتخاب کرد: “از طریق بیش از بیست تمرین، آسیبپذیریها را کشف کرده، ایمنی سیستمهای جدید و قدیمی را اثبات کرده و نقشههای راه بسیاری از تیمهای مهندسی را تحت تأثیر قرار داده است.”
جیسون کاهون ما را به داخل معادل مهندسی آشوب گوگل، به نام “DiRT،” در فصل ۵، “Google DiRT: تست بازیابی فاجعه” میبرد. ...

تئاتر فاجعه اسلک
Retrofitting Chaos • Design Patterns Common in Older Systems • Design Patterns Common in Newer Systems • Getting to Basic Fault Tolerance • Disasterpiece Theater • Goals • Anti-Goals • The Process • Preparation • The Exercise • Debriefing • How the Process Has Evolved • Getting Management Buy-In • Results • Avoid Cache Inconsistency • Try, Try Again (for Safety) • Impossibility Result • Conclusion
درحال تولید...

Google DiRT: تست بازیابی فاجعه
Life of a DiRT Test • The Rules of Engagement • What to Test • How to Test • Gathering Results • Scope of Tests at Google • Conclusion
درحال تولید...

تغییر و اولویتبندی آزمایشها در مایکروسافت
Why Is Everything So Complicated? • An Example of Unexpected Complications • A Simple System Is the Tip of the Iceberg • Categories of Experiment Outcomes • Known Events/Unexpected Consequences • Unknown Events/Unexpected Consequences • Prioritization of Failures • Explore Dependencies • Degree of Variation • Varying Failures • Combining Variation and Prioritization • Expanding Variation to Dependencies • Deploying Experiments at Scale • Conclusion
درحال تولید...

لینکدین: توجه به اعضا
Learning from Disaster • Granularly Targeting Experiments • Experimenting at Scale, Safely • In Practice: LinkedOut • Failure Modes • Using LiX to Target Experiments • Browser Extension for Rapid Experimentation • Automated Experimentation • Conclusion
درحال تولید...

پذیرش و تکامل مهندسی آشوب در کپیتال وان
A Capital One Case Study • Blind Resiliency Testing • Transition to Chaos Engineering • Chaos Experiments in CI/CD • Things to Watch Out for While Designing the Experiment • Tooling • Team Structure • Evangelism • Conclusion
درحال تولید...
تابآوری توسط انسانها ایجاد میشود. مهندسانی که عملکرد را مینویسند، کسانی که سیستم را اداره و نگهداری میکنند، و حتی مدیریتی که منابع را به آن اختصاص میدهد، همگی بخشی از یک سیستم پیچیده هستند. ما این را یک سیستم جامعهفنی (sociotechnical system) مینامیم.
تا پایان این بخش، امیدواریم شما را متقاعد کنیم که بهبود موفقیتآمیز تابآوری شما مستلزم درک تعامل بین عوامل انسانی و غیرانسانی است که سیستم را تأیید، تأمین مالی، مشاهده، ساخت، بهرهبرداری، نگهداری و از آن درخواست میکنند. مهندسی آشوب میتواند به شما کمک کند تا مرز جامعهفنی بین انسانها و ماشینها را بهتر درک کنید.
نورا جونز این بخش از کتاب را با فصل ۹، “ایجاد بینش آیندهنگر” آغاز میکند. با تمرکز بر یادگیری به عنوان ابزاری برای بهبود تابآوری، او توضیح میدهد که چگونه گاهی اوقات مهمترین بخش مهندسی آشوب حتی قبل از اجرای یک آزمایش اتفاق میافتد. او همچنین رابطه بین آزمایش کنترلشده و حوادث برنامهریزی نشده را بیان میکند: “حوادث فرصتی برای ما هستند تا بنشینیم و ببینیم که مدل ذهنی یک فرد از نحوه کار سیستم چگونه با مدل ذهنی فرد دیگری از نحوه کار سیستم متفاوت است.”
اندی فلینر کاربرد مهندسی آشوب را در بخش “اجتماعی” سیستمهای جامعهفنی در فصل ۱۰، “آشوب انسانگرایانه” بررسی میکند. او میپرسد: “چه میشد اگر میتوانستیم حوزه مهندسی آشوب را نه تنها برای سیستمهای فنی توزیعشده پیچیدهای که میشناسیم و دوست داریم، بلکه برای سیستمهای توزیعشده پیچیدهای که شناخته شدهاند ...

ایجاد بینش آیندهنگر
Chaos Engineering and Resilience • Steps of the Chaos Engineering Cycle • Designing the Experiment • Tool Support for Chaos Experiment Design • Effectively Partnering Internally • Understand Operating Procedures • Discuss Scope • Hypothesize • Conclusion
درحال تولید...

آشوب انسانگرایانه
Humans in the System • Putting the “Socio” in Sociotechnical Systems • Organizations Are a System of Systems • Engineering Adaptive Capacity • Spotting Weak Signals • Failure and Success, Two Sides of the Same Coin • Putting the Principles into Practice • Build a Hypothesis • Vary Real-World Events • Minimize the Blast Radius • Case Study 1: Gaming Your Game Days • Communication: The Network Latency of Any Organization • Case Study 2: Connecting the Dots • Leadership Is an Emergent Property of the System • Case Study 3: Changing a Basic Assumption • Safely Organizing the Chaos • All You Need Is Altitude and a Direction • Close the Loops • If You’re Not Failing, You’re Not Learning
درحال تولید...

انسانها در حلقه
The Why, How, and When of Experiments • The Why • The How • The When • Functional Allocation, or Humans-Are-Better-At/Machines-Are-Better-At • The Substitution Myth • Conclusion
درحال تولید...

مسئله انتخاب آزمایش (و یک راهحل)
Choosing Experiments • Random Search • The Age of the Experts • Observability: The Opportunity • Observability for Intuition Engineering • Conclusion
درحال تولید...
مهندسی آشوب برای حل یک نیاز تجاری واقعی وجود دارد. این رشته در نتفلیکس متولد شد و اکنون در هزاران شرکت، که بخش بزرگی از آنها عمدتاً شرکتهای نرمافزاری نیستند، پذیرفته شده است. این بخش از کتاب زمینه بیشتری در مورد چگونگی جای گرفتن مهندسی آشوب در بافت بزرگتر نگرانیهای تجاری ارائه میدهد.
فصل ۱۳، “بازگشت سرمایه مهندسی آشوب،” به مهمترین سؤال در مورد این عمل از دیدگاه تجاری میپردازد، یعنی: چگونه ثابت کنیم که پذیرش مهندسی آشوب ارزش بیشتری نسبت به هزینههای آن فراهم میکند؟ “اثبات بازگشت سرمایه مهندسی آشوب آسان نیست. در بیشتر موارد، شما ارزش آزمایشها را تقریباً بلافاصله، قبل از اینکه بتوانید آن ارزش را بیان کنید، احساس خواهید کرد.” این فصل مدلی برای در نظر گرفتن بازگشت سرمایه ارائه میدهد و آن را در عمل به کار میبرد.
راس مایلز ملاحظات تجاری را در فصل ۱۴، “ذهنهای باز، علم باز، و آشوب باز،” با تأکید بر رابطه بین حوزههای تجاری و فعالیتهای علمی، در جهتی متفاوت میبرد. “مانند همه علوم، مهندسی آشوب زمانی بیشترین ارزش را دارد که بسیار مشارکتی باشد: جایی که همه بتوانند ببینند چه آزمایشهایی در حال پیگیری هستند، چه زمانی اتفاق میافتند و چه یافتههایی به دست آمده است.” او برای ابزارها، آزمایشها و جامعه منبع باز استدلال میکند تا بیشترین ارزش را از این رشته به دست آورد.
یکی از رایجترین سؤالات برای سازمانهایی که مهندسی آشوب را پذیرفتهاند این است که از کجا شروع کنند یا چگونه ادامه دهند. فصل ۱۵، “مدل بلوغ آشوب،” ارائه میدهد ...

بازگشت سرمایه مهندسی آشوب
Ephemeral Nature of Incident Reduction • Kirkpatrick Model • Level 1: Reaction • Level 2: Learning • Level 3: Transfer • Level 4: Results • Alternative ROI Example • Collateral ROI • Conclusion
درحال تولید...

ذهنهای باز، علم باز، و آشوب باز
Collaborative Mindsets • Open Science; Open Source • Open Chaos Experiments • Experiment Findings, Shareable Results • Conclusion
درحال تولید...

مدل بلوغ آشوب
Adoption • Who Bought into Chaos Engineering • How Much of the Organization Participates in Chaos Engineering • Prerequisites • Obstacles to Adoption • Sophistication • Putting It All Together
درحال تولید...
بر اساس تعریف، یک انسان نمیتواند یک سیستم پیچیده را به اندازهای خوب درک کند که پیشبینیهای دقیقی در مورد خروجی آن انجام دهد. مهندسی آشوب قطعاً در یک سیستم پیچیده از شیوهها، نیازها و محیطهای تجاری در حال تعامل قرار دارد. با این حال، روندهای روشنی پدیدار شدهاند که مسیرهای آینده این عمل و جایگاه آن را در صنعت گستردهتر مشخص میکنند. این بخش از کتاب به این روندها میپردازد.
اولین فصل در این بخش از کتاب، فصل ۱۶، “تأیید مداوم”، مهندسی آشوب را در دستهای بزرگتر از شیوههای نرمافزاری قرار میدهد. “مانند CI/CD (یکپارچهسازی مداوم/تحویل مداوم)، این عمل از نیاز به مدیریت سیستمهای پیچیدهتر متولد شده است. سازمانها زمان یا منابع دیگری برای تأیید اینکه سازوکارهای داخلی سیستم طبق انتظار کار میکنند، ندارند، بنابراین به جای آن تأیید میکنند که خروجی سیستم مطابق با انتظارات است.” بسیاری از شرکتها قبلاً اصطلاح “تأیید مداوم” (CV) را پذیرفتهاند و علاقه به مجموعه کامل شیوههای “CI/CD/CV” در حال رشد است، به ویژه در شرکتهایی که سیستمهای نرمافزاری را در مقیاس بزرگ اداره میکنند.
فصل بعدی، فصل ۱۷، “بیایید سایبر-فیزیکی شویم”، نیمگامی از نرمافزار به قلمرو سختافزار با سیستمهای سایبر-فیزیکی (CPS) برمیدارد. “معلوم میشود که وقتی تعداد زیادی از افراد بسیار باتجربه و چند رشتهای را برای مدت زمان کافی گرد هم میآورید تا فعالیتی مانند [تحلیل حالتها و اثرات خرابی] را انجام دهند، ...

تأیید مداوم
Where CV Comes From • Types of CV Systems • CV in the Wild: ChAP • ChAP: Selecting Experiments • ChAP: Running Experiments • The Advanced Principles in ChAP • ChAP as Continuous Verification • CV Coming Soon to a System Near You • Performance Testing • Data Artifacts • Correctness
درحال تولید...

بیایید سایبر-فیزیکی شویم
The Rise of Cyber-Physical Systems • Functional Safety Meets Chaos Engineering • FMEA and Chaos Engineering • Software in Cyber-Physical Systems • Chaos Engineering as a Step Beyond FMEA • Probe Effect • Addressing the Probe Effect • Conclusion
درحال تولید...

HOP با مهندسی آشوب ملاقات میکند
What Is Human and Organizational Performance (HOP)? • Key Principles of HOP • Principle 1: Error Is Normal • Principle 2: Blame Fixes Nothing • Principle 3: Context Drives Behavior • Principle 4: Learning and Improving Is Vital • Principle 5: Intentional Response Matters • HOP Meets Chaos Engineering • Chaos Engineering and HOP in Practice • Conclusion
درحال تولید...

مهندسی آشوب بر روی پایگاه داده
Why Do We Need Chaos Engineering? • Robustness and Stability • A Real-World Example • Applying Chaos Engineering • Our Way of Embracing Chaos • Fault Injection • Fault Injection in Applications • Fault Injection in CPU and Memory • Fault Injection in the Network • Fault Injection in the Filesystem • Detecting Failures • Automating Chaos • Automated Experimentation Platform: Schrodinger • Schrodinger Workflow • Conclusion
درحال تولید...

استدلال برای مهندسی آشوب امنیتی
A Modern Approach to Security • Human Factors and Failure • Remove the Low-Hanging Fruit • Feedback Loops • Security Chaos Engineering and Current Methods • Problems with Red Teaming • Problems with Purple Teaming • Benefits of Security Chaos Engineering • Security Game Days • Example Security Chaos Engineering Tool: ChaoSlingr • The Story of ChaoSlingr • Conclusion • Contributors/Reviewers
درحال تولید...

نتیجهگیری
درحال تولید...
21 فصل در حال تولید
مدت زمان خوانش
8:45
نوع کتاب
اشتراکی
شرکت کنندگان
0 نفر
تولید کتاب
۳۰ شهریور ۱۴۰۵