Збої неминучі

Майкл Найгард

Устаткування схильне збоїв, тому ми вводимо в наші системи надмірність Вона дозволяє пережити окремі збої обладнання, але підвищує ймовірність того, що в будь-який момент часу в системі буде бути присутнім хоча б одна несправність

Програмний код теж схильний збоїв Наші додатки будуються на основі програмного коду, а значить, вони теж уразливі Ми реалізуємо засоби моніторингу, що повідомляють про збої програми, проте в основі цих коштів теж лежить програмний код, а значить, вони самі схильні до збоїв

Люди теж роблять помилки, тому ми намагаємося автоматизувати наші дії, діагностику та робочі процеси Автоматизація знижує ймовірність помилок, обумовлених порушеннями правил, але підвищує ймовірність помилок, що виникають через відсутність правил Жодна автоматизована система не здатна реагувати на такий спектр ситуацій, як людина

Тому ми додаємо до засобів автоматизації механізми моніторингу Нове програмне забезпечення, нові можливості для помилок

Мережі будуються з обладнання, програмного забезпечення і дуже довгих ліній звязку А значить, і мережі схильні до збоїв Навіть якщо мережа працює нормально, її поведінка формально не прогнозовано, тому що простір станів великої мережі з практичної точки зору нескінченно Окремі компоненти можуть володіти детермінованим поведінкою, але поведінка їх сукупності по суті своїй хаотично

Будь-який механізм безпеки, який ми застосовуємо для усунення деякої різновиди помилок, вводить нові види збоїв Ми організуємо кластеризацию, щоб програма автоматично переходило зі збійного сервера на робочий, але тепер при примхах кластерної мережі виникає ризик «розщеплення потужностей»[3]

Варто нагадати, що аварія на Тримайл-Айленд[4] сталася в основному з-за клапана скидання тиску – механізму безпеки, який повинен був запобігати деякі види збоїв, повязаних з надмірним тиском

Стало бути, збої в системах в будь-якому випадку неминучі Так що ж нам робити

Усвідомте один факт: незалежно ні від чого у вашій системі будуть відбуватися різні збої Заперечуючи їх неминучість, ви втрачаєте можливість контролю та ізоляції цих збоїв Але, прийнявши цей факт, ви зможете спроектувати реакцію своєї системи на конкретні збої За аналогією з тим, як конструктори автомобілів створюють зони деформації (області, деформуються в першу чергу і що гасять енергію зіткнення для пасивного захисту пасажирів), ви можете спроектувати захисні режими збоїв, які будуть ізолювати пошкодження і захищати інші компоненти системи

Якщо цього не зробити, вам доведеться мати справу з усіма непередбачуваними – і зазвичай небезпечними – збоями, що виникають в ході роботи системи

Майкл Найгард (Michael Nygard) написав книгу «Release It Design and Deploy Production-Ready Software »(Випускаємо у світ Розробка та впровадження ПЗ, готового до випуску) (Pragmatic Bookshelf), що отримала премію Jolt Productivity в 2008 році Інші його публікації можна знайти за адресою http://www michaelnygard com / blog

Джерело: Форд Н, Найгард М, де Ора Б, 97 етюдів для архітекторів програмних систем – Пер з англ – СПб: Сим-вол-Плюс, 2010 – 224 с, Мул

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*