Сломается всё
(и что с этим делать)
За долгую историю общения с нагруженными сервисами я понял — законы Мерфи работают.
Сломается всё, каждая отдельная часть. Сломается самым изощрённым способом. Сломаются внутренности, о которых ты даже не подозревал, что они существуют.
Сбои невозможно предупредить. Всё что остаётся — минимизировать риски и последствия.
Интересно, что этому никто не учит. Подозреваю, что те кто обычно учат — сами не умеют, а те кто умеют — не любят учить.
Мне известно ровно одно исключение — книга Майкла Нигарда «Release It!». Это книга, которую стоило бы прочесть всем корпоративным архитекторам вместо фуфла, которое они обычно читают.
Каждый раз, когда я пренебрегал приёмами, описанными в книге — получал по носу. При этом приёмы все простые. Но применять их сложно: нет времени, да и программисты сопротивляются.
«Вот ещё, буду я встраивать прерыватель в обращения к биллингу. Пусть лучше биллинг свой наладят, чтоб нормально работал!» — это типичная реакция программиста, к которому приходишь с советами из книги Нигарда. К сожалению все эти «пусть они наладят», «это задача администратора», «купите сервер помощнее» — не работают. Работают только подходы, описанные Нигардом.
В общем, если читать ровно одну книгу об архитектуре софтверных систем — берите. На днях как раз вышло второе издание.
Release It! Second Edition
Design and Deploy Production-Ready Software
by Michael Nygard
★ Подписывайтесь на новые заметки.