Минутка рефлексии по итогам вчерашних событий
Я понимаю, почему небольшие и средние компании редко заморачиваются на создание геораспределенных отказоустойчивых систем. Здесь есть много причин и сейчас мы по ним пройдемся.
Первое и самое главное - это, конечно же, стоимость. И не столько стоимость самого железа, сколько стоимость проектирования, развертывания и поддержки системы, которая находится в нескольких гео-регионах.
Вторая причина - latency. Дело в том, что гео-разнесенная система не может работать одинаково эффективно во всех точках присутствия без разнесения баз данных и точек записи.
Чем больше удаление от мастера БД, тем менее эффективно тратятся ресурсы. У небольшой или средней компании просто нет такого количества трафика для того чтобы полноценно загрузить все точки присутствия. Проблема решается подъемом мастер-мастер репликации между ДЦ, но такой подход требует поддержки со стороны БД. Не все базы и DBA такое умеют.
Третья причина в том, что CTO небольшой компании, скорее всего, сам имея хороший опыт построения однородной инфраструктуры, не видит никаких причин для того, чтобы усложнять себе жизнь на ровном месте. Тем более что, будем честны, вероятность форс-мажора в среднем невысокая, и новость о том, что очередной дата-центр полностью переехал в облако (то есть сгорел), воспринимается скорее как диковинка, чем как что-то, имеющее непосредственное отношение к реальной жизни.
Четвёртая причина - инженерная культура. Массовую аварию психологически проще пережить. Если вместе с тобой повалило многих - ситуация уже не кажется такой страшной. Всегда можно сказать: «Ну мы же не единственные идиоты, у которых всё легло» и это удобное объяснение - и для себя, и для руководства.
В такой культуре массовость аварии становится своеобразным оправданием. Обсуждение быстро сводится к тому, что «у всех легло», а вот вопрос, почему собственный сервис не смог пережить отказ площадки, аккуратно задвигается на второй план.
Поговорим теперь про экономику процесса. Для небольшой компании без отработанного переключения, отказ ДЦ, где располагаются все сервера, по опыту как минимум означает как минимум шестичасовой, а чаще двенадцатичасовой даунтайм, который может растягиваться вплоть до нескольких дней восстановления работоспособности в полном объеме. За это время компания практически гарантированно теряет дневной оборот, плюсом часто попадая на снижение оборота следующие несколько дней из-за деградации сервисов.
Экономика распределенных систем начинает сходиться в двух случаях.
Первый: если за день вы теряете больше, чем стоимость дополнительных затрат на гео-распределение или резервирование.
Второй: падение оборота с учетом репутационных потерь на недоступность приносит долговременные убытки на ту же сумму.
Однако, если принять парадигму необходимости гео-распределения за основу, как экономящую нервы, репутацию и деньги компании, то ситуация становится не такой уж и сложной.
Для того чтобы разнести систему по точкам присутствия, достаточно, особенно если это делать вне режима аврала, спроектировать и постепенно разворачивать критические компоненты системы, непосредственно взаимодействующие с пользователем, в одном-двух дополнительных ДЦ.
Совмещая изменения с нагрузочным тестированием, такой подход позволит в относительно расслабленном режиме, за 3-4 месяца обеспечить себе доступность как минимум части системы в случае крупной аварии.
Но самая главная на мой взгляд причина, по которой мы вчера наблюдали массовый отказ систем среднего и большого калибра это инертность.
Когда система редко проектируется как геораспределенная самого начала. Поэтому в процессе роста решение о заведении второго дата-центра принимается, когда компания уже серьезно выросла и ее потери от падения больше чем на час становится уж совсем неприемлемыми.
Что бы дать вам импульс к действию, читайте вчерашнюю заготовку для постмортема и ловите схему георезервирования для небольшого сервиса. А если у вас большой сервис - нарисуйте сами. Или к нам приходите, нарисуем вместе.
@downtime_bar #DRP #георезервирование
Forwarded fromDowntime Bar&Grill

October 9, 2026 63