Сломается всё

(и что с этим делать)

За долгую историю общения с нагруженными сервисами я понял — законы Мерфи работают.

Сломается всё, каждая отдельная часть. Сломается самым изощрённым способом. Сломаются внутренности, о которых ты даже не подозревал, что они существуют.

Сбои невозможно предупредить. Всё что остаётся — минимизировать риски и последствия.

Интересно, что этому никто не учит. Подозреваю, что те кто обычно учат — сами не умеют, а те кто умеют — не любят учить.

Мне известно ровно одно исключение — книга Майкла Нигарда «Release It!». Это книга, которую стоило бы прочесть всем корпоративным архитекторам вместо фуфла, которое они обычно читают.

Каждый раз, когда я пренебрегал приёмами, описанными в книге — получал по носу. При этом приёмы все простые. Но применять их сложно: нет времени, да и программисты сопротивляются.

«Вот ещё, буду я встраивать прерыватель в обращения к биллингу. Пусть лучше биллинг свой наладят, чтоб нормально работал!» — это типичная реакция программиста, к которому приходишь с советами из книги Нигарда. К сожалению все эти «пусть они наладят», «это задача администратора», «купите сервер помощнее» — не работают. Работают только подходы, описанные Нигардом.

В общем, если читать ровно одну книгу об архитектуре софтверных систем — берите. На днях как раз вышло второе издание.


Release It! Second Edition

Release It! Second Edition
Design and Deploy Production-Ready Software
by Michael Nygard