Обсудить задачу

Выпуск 15Инфраструктура данных

Чужое здание

Когда ваш сервер — не ваш сервер. Облако, колокейшн, аренда bare metal и собственный ЦОД: кто закрывает какой уровень риска, что остаётся на вас при любой модели и почему потеря одного здания выпадает из реестров.

В начале октября у крупного облачного провайдера за 4 дня одна за другой вышли из строя 3 площадки: пожары, вызванные внешними факторами, остановили 2 дата-центра целиком, третий повредили частично. После первой ночи сам провайдер почти не почувствовал потери — его сервисы ушли в соседние площадки. А десятки его клиентов — банки, операторы связи, ритейл, госсервисы — лежали большую часть дня. К 4-му дню сбои дошли и до сервисов самого провайдера, причём не только в его стране.

Одно облако, одна ночь, два исхода, а через 4 дня — третий. Разница была не в провайдере, а в решениях, которые каждый принял задолго до этих дней. И это та же картина, которую мы видим в разговорах о размещении последние годы: облако, колокейшн и аренда считаются надёжными по умолчанию, потому что «там же Tier III и SLA». В реестрах рисков при этом подробно расписаны наводнения и метеориты, а потеря одного конкретного здания не расписана вовсе.

Зоны доступности

Одна ночь, два исхода

Облако даёт зоны. Разнести по ним систему — работа клиента, а не провайдера.

Площадка остановлена целиком, сроков восстановления владелец не называет и не подтверждает, что её вообще удастся вернуть в строй. Основные сервисы самого провайдера продолжили работать. У клиентов, которые жили на этой площадке, сбои тянулись часами.

Одно облако, одна ночь, два исходаЗональные ресурсы живут в конкретном здании. Разнести систему по зонам — работа клиента,а не провайдера.Сервис разнесён по трём зонамЗона Aработаетприложениебаза данныхкопииЗона Bплощадкаостановленаприложениебаза данныхкопииЗона Cработаетприложениебаза данныхкопииНагрузка ушла в две оставшиеся зоны.Пользователи сбоя почти не заметили.Сервис целиком в одной зонеЗона AнеиспользуетсяЗона Bплощадкаостановленаприложениебаза данныхкопииЗона CнеиспользуетсяСервис стоит, пока не восстановят площадку.Сроки — решение владельца здания.Схема, без привязки к конкретному провайдеру.Одно облако, одна ночь, два исходаЗональные ресурсы живут в конкретном здании.Разнести систему по зонам — работа клиента, а непровайдера.Сервис разнесён по трём зонамЗона Aработаетприложениебаза данныхкопииЗона Bплощадкаостановленаприложениебаза данныхкопииЗона Cработаетприложениебаза данныхкопииНагрузка ушла в две оставшиеся зоны.Пользователи сбоя почти не заметили.Сервис целиком в одной зонеЗона AнеиспользуетсяЗона Bплощадкаостановленаприложениебаза данныхкопииЗона CнеиспользуетсяСервис стоит, пока не восстановят площадку.Сроки — решение владельца здания.Схема, без привязки к конкретному провайдеру.
Рис. 1. Одно облако, два исхода: сервис на трёх зонах и сервис в одной зоне

Почему так? Любое публичное облако делит ресурсы на два типа. Зональные — виртуальная машина и её диск — физически находятся в конкретном здании. Глобальные — облачная сеть, бакеты объектного хранилища — не привязаны к одной зоне, но живут внутри региона. Провайдер прямо пишет в документации: отказоустойчивость появляется, когда приложение развёрнуто сразу в нескольких зонах.

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

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

Чужое здание

Что на самом деле арендуется

В слове «облако» нет здания. А здание есть — с адресом, вводами питания, трассами, соседями и владельцем.

«Облако» — удобное слово: в нём нет здания. А здание есть. У него есть адрес, крыша, вводы питания, кабельные трассы, соседи и владелец.

Пока всё работает, разницы между «моим» и «чужим» сервером не видно. Она проявляется в тот момент, когда звучит вопрос «когда поднимемся». Если сервер ваш, на вопрос «когда поднимемся» отвечает ваша команда. Если он в чужом здании — пресс-служба партнёра. В ту ночь один из пострадавших сервисов так и написал своим пользователям: «инцидент на объекте инфраструктурного партнёра». Больше ему сказать было нечего — он знал о происходящем ровно столько же, сколько его клиенты.

Если сервер ваш, на вопрос «когда поднимемся» отвечает ваша команда. Если он в чужом здании — пресс-служба партнёра.

В чужом здании вы не знаете, что стоит рядом, какие у площадки реальные вводы и на сколько часов топлива, в каком порядке после аварии будут поднимать клиентов и где в этой очереди вы. И вы не можете туда приехать.

Это не упрёк провайдерам: у хорошего провайдера всё это продумано. Однако продумано для его собственного бизнеса, а не для вашего, и в ночь аварии он в первую очередь спасает именно его. Никакой пункт договора не ускорит ответ на ваш вопрос.

Реестр рисков

Перевёрнутая пирамида

Наводнение и метеорит описаны подробно. Потеря одного здания провайдера не описана вовсе.

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

Пирамида рисков: где реестр молчитСнизу — частые события, сверху — редкие. Подробно описаны края, а середина, где ещё естьбизнес, выпадает.В типичном реестреУровень рискаЧем закрываетсяГлобальные катастрофыописанопринятый риск, непланируетсяГород и регионописаноплощадка в другомгородеПотеря оператора или доступавыпадает из реестракопия и план выхода внеоператораПотеря зданиявыпадает из реестратолько второе зданиеОшибка в расчётах операторавыпадает из реестрасвоя проверка и второезданиеСвязность площадкиописано частичновторой канал другойтрассойПитание и охлаждение площадкиописаноTier площадкиОшибка, изменение, шифровальщикописано частичнокопии, неизменяемость,регламентыОтказ диска, узла, блока питанияописаноRAID, кластер, ЗИПОбобщение типичных реестров рисков; не оценка конкретной организации.Пирамида рисков: где реестр молчитСнизу — частые события, сверху — редкие. Подробноописаны края, а середина, где ещё есть бизнес,выпадает.Уровень рискаВ типичном реестреЧем закрываетсяГлобальные катастрофыописанопринятый риск, не планируетсяГород и регионописаноплощадка в другом городеПотеря оператора или доступавыпадает из реестракопия и план выхода внеоператораПотеря зданиявыпадает из реестратолько второе зданиеОшибка в расчётах операторавыпадает из реестрасвоя проверка и второе зданиеСвязность площадкиописано частичновторой канал другой трассойПитание и охлаждение площадкиописаноTier площадкиОшибка, изменение, шифровальщикописано частичнокопии, неизменяемость,регламентыОтказ диска, узла, блока питанияописаноRAID, кластер, ЗИПОбобщение типичных реестров рисков; не оценкаконкретной организации.
Рис. 2. Пирамида рисков: как уровни выглядят в типичном реестре и чем закрываются

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

Однако сколько бы страниц ни занимало SLA и сколько бы девяток в нём ни было, само по себе оно ничего не решает. Если ЦОД сгорел, простаивает и теряет клиентов ваш бизнес — прямо сейчас. Бизнес оператора к этому моменту уже пострадал, и ему есть чем заняться помимо ваших претензий. Получите ли вы что-то по SLA, а через суд — неустойку, это вопрос месяцев, а то и лет. И даже тогда компенсация считается в процентах от месячной платы за услугу и никак не связана ни с вашей выручкой, ни со штрафами регулятора, ни с репутацией. То есть риск не передан: передано право когда-нибудь получить небольшую часть его стоимости.

И ещё один сценарий, которого в реестрах не встречается совсем: оператор ЦОДа мог ошибиться сам. Ошибиться в расчёте дизелей — мощности, запуска, работы под реальной нагрузкой. Ошибиться в расчёте живучести без внешнего питания — запаса топлива, подвоза, охлаждения на автономном режиме. Ошибиться в расчёте общей устойчивости площадки к катастрофическим воздействиям — пожару, повреждению конструкций, разнесению вводов и трасс. Эти расчёты принимаются на веру по сертификату Tier, хотя сертификат подтверждает проект и построенный объект, а не поведение площадки в аварии, которую при проектировании никто не рассматривал.

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

Облако, колокейшн, аренда, свой ЦОД

Разумная пирамида: четыре модели размещения

Модель размещения меняет, кто чинит. Она не меняет, кто отвечает за второе здание.

Если разложить риски по частоте и посмотреть, кто закрывает каждый уровень, картина для четырёх моделей размещения выглядит так, как на рисунке 3.

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

Колокейшн. Здание, питание, охлаждение и охрана — на операторе. Железо, ЗИП, ПО и каналы — ваши. Оборудование ваше и его можно вывезти, но доступ на площадку — по правилам оператора.

Аренда bare metal. Чужое железо в чужом здании. Замена неисправного — по SLA арендодателя, поколение — то, что у него на складе. Лицензии, данные и архитектура — ваши. По рискам это колокейшн, где вывезти нечего.

Собственный ЦОД. Всё ваше, включая инженерные системы и людей, которые их обслуживают. Однако одна своя площадка — тот же единый домен отказа, что и одна зона в облаке.

Три уровня остаются на вас при любой модели. Первый — ошибка, неудачное изменение и шифровальщик: от них защищают копии и регламенты, а не здание. Второй и третий — потеря здания и потеря города: от них защищает только другое здание, вопрос лишь в том, как далеко оно стоит. Модель размещения решает, кто будет чинить диски и кондиционеры. Кто будет поднимать систему в другом месте — решаете вы.

Модель размещения решает, кто будет чинить диски и кондиционеры. Кто будет поднимать систему в другом месте — решаете вы.

Кто закрывает уровень в четырёх моделях размещенияМодель меняет, кто чинит диски и кондиционеры. Три уровня, выделенные слева, остаются навас при любой модели.Публичноеоблакоздание, железо,платформа —провайдерКолокейшнздание —оператор,железо — вашеАрендаbare metalздание ижелезо —арендодательСобственныйЦОДвсё вашеОтказ диска, узла, блокапитанияоператорвыоператорвыОшибка, изменение,шифровальщиквывывывыПитание и охлаждениеплощадкиоператороператороператорвыКаналы до площадкисовместносовместносовместновыПотеря зданиявы: вторая зонавы: второезданиевы: второезданиевы: второезданиеПотеря площадки порешению владельца илипо чужому делусовместновывы—Уход оператора,блокировка учётнойзаписивысовместновы—Город и регионвывывывызакрывает оператор по договоруделится между вами и операторомостаётся на васКто закрывает уровень в четырёхмоделях размещенияМодель меняет, кто чинит диски и кондиционеры. Триуровня, выделенные слева, остаются на вас прилюбой модели.1Публичное облакоздание, железо, платформа — провайдер2Колокейшнздание — оператор, железо — ваше3Аренда bare metalздание и железо — арендодатель4Собственный ЦОДвсё ваше1234Отказ диска, узла, блока питанияоператорвыоператорвыОшибка, изменение, шифровальщиквывывывыПитание и охлаждение площадкиоператороператороператорвыКаналы до площадкисовместносовместносовместновыПотеря зданиявы: втораязонавы: второезданиевы: второезданиевы: второезданиеПотеря площадки по решению владельца или почужому делусовместновывы—Уход оператора, блокировка учётной записивысовместновы—Город и регионвывывывызакрывает оператор по договоруделится между вами и операторомостаётся на вас
Рис. 3. Кто закрывает каждый уровень в облаке, колокейшне, аренде bare metal и собственном ЦОДе

Разумная пирамида для конкретной организации строится по пяти правилам:

  • уровни идут снизу вверх по частоте, а не по зрелищности: отказ диска в большом парке — рутина, ошибка или шифровальщик — вопрос нескольких лет, потеря здания — событие редкое, но на горизонте десятилетия уже не теоретическое;
  • для каждого уровня записано, кто его закрывает, — по договору, а не по ощущению;
  • расчёты оператора — дизели, автономность, устойчивость площадки — проверяются, а не принимаются на веру по сертификату;
  • у уровней, где закрывающий — вы, есть владелец, бюджет и проверка;
  • уровни выше потери города не планируются, а фиксируются одной строкой как принятый риск.

Если в реестре потеря чужого здания отмечена как «передано провайдеру», стоит открыть договор. Как правило, там будет компенсация в процентах от месячного счёта — через месяцы, а не в ту ночь, когда стоит ваш бизнес.

Инвентаризация сервисов

Сначала — карта

Сервисы, связи, домены отказа, внутренний SLA и влияние на клиента — для каждого сервиса отдельно.

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

Карта сервисов: с чего начинается пирамидаСервис в трёх зонах, который ходит за авторизацией в одну зону, живёт в одной зоне.СервисРазмещениеКритичныезависимостиВнутреннийSLARTO / RPOВлияниенаклиентаФактическийдомен отказаМобильноеприложение3 зоныавторизация,платёжный шлюз15 мин / 0высокое1 зона — черезавторизациюПлатёжный шлюз2 площадкипроцессинг, HSM,канал к партнёру15 мин / 0высокое2 площадкиАвторизацияклиентов1 зонакаталог,SMS-шлюз15 мин / 0высокое1 зонаCRM и колл-центр2 площадкителефония, базаклиентов1 ч / 15 минсреднее2 площадкиСайтоблако,1 зонаCDN, аналитика,капча1 ч / —среднее1 зонаПочта идокументооборот1 площадкакаталог,хранилище4 ч / 1 чнизкое1 площадкаОтчётность1 площадкахранилищеданных1 сутки /1 суткинизкое1 площадкафактический домен отказа уже, чем требует внутренний SLAПример для иллюстрации, не данные конкретной организации.Карта сервисов: с чего начинаетсяпирамидаСервис в трёх зонах, который ходит за авторизацией водну зону, живёт в одной зоне.Мобильное приложение3 зоныРазмещениеавторизация, платёжный шлюзКритичныезависимости15 мин / 0Внутренний SLA RTO/ RPOвысокоеВлияние на клиента1 зона — через авторизациюФактический доменотказаПлатёжный шлюз2 площадкиРазмещениепроцессинг, HSM, каналк партнёруКритичныезависимости15 мин / 0Внутренний SLA RTO/ RPOвысокоеВлияние на клиента2 площадкиФактический доменотказаАвторизация клиентов1 зонаРазмещениекаталог, SMS-шлюзКритичныезависимости15 мин / 0Внутренний SLA RTO/ RPOвысокоеВлияние на клиента1 зонаФактический доменотказаCRM и колл-центр2 площадкиРазмещениетелефония, база клиентовКритичныезависимости1 ч / 15 минВнутренний SLA RTO/ RPOсреднееВлияние на клиента2 площадкиФактический доменотказаСайтоблако, 1 зонаРазмещениеCDN, аналитика, капчаКритичныезависимости1 ч / —Внутренний SLA RTO/ RPOсреднееВлияние на клиента1 зонаФактический доменотказаПочта и документооборот1 площадкаРазмещениекаталог, хранилищеКритичныезависимости4 ч / 1 чВнутренний SLA RTO/ RPOнизкоеВлияние на клиента1 площадкаФактический доменотказаОтчётность1 площадкаРазмещениехранилище данныхКритичныезависимости1 сутки / 1 суткиВнутренний SLA RTO/ RPOнизкоеВлияние на клиента1 площадкаФактический доменотказафактический домен отказа уже, чем требуетвнутренний SLAПример для иллюстрации, не данные конкретнойорганизации.
Рис. 4. Карта сервисов: размещение, зависимости, внутренний SLA, влияние на клиента и фактический домен отказа

Минимальный состав такой карты:

  • оборудование и ресурсы — где стоит, чьё, в каком здании и зоне, до какого числа на поддержке;
  • сервисы — не системы, а то, чем пользуется клиент или сотрудник: оплата, вход в приложение, выдача кредита, отчётность;
  • связи — какие базы, очереди, внешние API, DNS, сертификаты и чужие облака нужны каждому сервису, чтобы он работал;
  • домены отказа — для каждого сервиса отдельно: какое здание, какая зона, какой кластер и какой канал его кладут;
  • внутренний SLA — сколько сервис может стоять и сколько данных можно потерять, RTO и RPO, согласованные с бизнесом, а не взятые по умолчанию;
  • влияние на клиента — насколько простой именно этого сервиса бьёт по NPS и оттоку.

Последний столбец обычно пустует, хотя расставляет приоритеты именно он. Час простоя мобильного приложения и час простоя внутреннего портала стоят несопоставимо, а в реестре рисков они нередко записаны одной строкой «ИТ-инфраструктура». Если влияние каждого сервиса на клиента известно, видно, где вторая зона окупается за одну аварию, а где хватит копии и суток на восстановление.

Чаще всего встречается такая картина: внутренний SLA есть на уровне «всё 99.9%», зависимостей никто не рисовал, а домен отказа сервиса совпадает с доменом отказа самой слабой его зависимости. То есть сервис в трёх зонах, который ходит за авторизацией в одну зону, живёт в одной зоне.

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

Сценарии потери площадки

Что может случиться со зданием

Площадку можно потерять, даже если она физически цела.

Хрестоматийный пример из телекома. Мобильный оператор, биллинг построен на совесть. Абоненты не лежат в одной базе — они разнесены по 7 базам первого уровня, онлайн-тарификации, и 5 базам второго уровня, где живут подключения и отключения услуг и периодические списания. Расчёт голосового и интернет-трафика вынесен в отдельные слои — по 2 десятка ВМ на 2 десятках хостов виртуализации. У каждой физической базы своя СХД.

То есть домены отказа нарезаны так, что любая проблема с железом задевает только часть абонентов. Так и было годами: что-то у кого-то не работало, но сказать, что сервис «отвалился» для значительной части абонентов, было нельзя.

Пока в один день не пришла беда с электропитанием всего здания. Питание упало, через минуту упало ещё раз — и всё. Осталось освещение, а серверной энергии не было.

Распределённая система, у которой все части в одном здании, поднимается не как распределённая, а как одна большая. Холодный старт десятков баз, массивов и сотен ВМ — это порядок запуска, проверки целостности и сверка между уровнями, и никакая распределённость его не ускоряет. Поэтапный возврат в работу до уровня около 70% занял больше 12 часов, оставшиеся 30% — ещё 2 дня. Плюс досчёт трафика задним числом.

Ошибки проектирования в привычном смысле здесь нет. Каждый уровень пирамиды ниже здания был закрыт образцово. Не было уровня выше — второго здания. Вся устойчивость оказалась внутри одного домена отказа, и в тот день он был один на всех.

Полная потеря питания и пожар — самые наглядные сценарии, но не единственные. Площадку можно потерять, даже если она физически цела.

  • Пожар и тушение. Даже локальное возгорание приводит к обесточиванию зала. Газовое пожаротушение и последующее проветривание — это часы, вода от соседних помещений — ещё хуже.
  • Питание всего объекта. Tier описывает инженерную систему внутри площадки. Он ничего не говорит о том, что будет, если площадка потеряет все вводы на сутки, а топлива, договоров на подвоз и мощности дизелей окажется меньше, чем рассчитывал оператор.
  • Трассы. Площадка может работать, но быть отрезанной: несколько оптических линий до столицы нередко идут по одному коридору.
  • Изъятие и владелец. Зал останавливают по делу соседа; площадку продают, оператор уходит с рынка — здание стоит, свет горит, но через 90 дней нужно съехать.

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

Резервные копии и DR

Копия в той же зоне

Копию в другой регион не делают даже те, кто аккуратно копирует каждую ночь.

После аварии чаще всего звучит вопрос: «А бэкапы где?» Ответ нередко неприятный: в той же зоне.

Лестница защиты в облаке та же, что на своих площадках (подробно — в выпуске 13 «Autosave mode=ON»), только каждая ступень включается и оплачивается отдельно, поэтому её легко пропустить. Что переживает каждая ступень — на рисунке 5.

Из того, что мы видим, большинство останавливается на второй ступени. Копию в другой регион не делают даже те, кто аккуратно копирует каждую ночь.

А копия — ещё не DR. Чтобы подняться в другом месте, кроме данных нужны:

  • вычислительные ресурсы и квота на них — которую в день массовой аварии одновременно попросят все клиенты погасшей зоны;
  • сеть, адреса и маршруты;
  • секреты и ключи шифрования, которые не лежат в той же зоне;
  • порядок запуска и человек, который его знает;
  • проверка, что всё это работает, проведённая хотя бы раз.
Лестница копий в облаке: что переживает каждая ступеньСтупени складываются: каждая следующая включает предыдущие. В облаке каждаявключается и оплачивается отдельно.Ошибка илиудалениеПотеря зданияПотерярегионаУходпровайдераилиблокировкаКомпрометацияучётнойзаписи1Снапшот диска2Копия в той же зонездесь останавливаетсябольшинство3Копия в другой зоне4Копия в другом регионе5Копия у другогопровайдера или насвоей площадке6Неизменяемая копия сотдельными учётнымиданнымипереживаетчастичноне переживаетЛестница копий в облаке: чтопереживает каждая ступеньСтупени складываются: каждая следующая включаетпредыдущие. В облаке каждая включается иоплачивается отдельно.AОшибка или удалениеBПотеря зданияCПотеря регионаDУход провайдера или блокировкаEКомпрометация учётной записиABCDE1Снапшот диска2Копия в той же зонездесь останавливаетсябольшинство3Копия в другой зоне4Копия в другом регионе5Копия у другогопровайдера или насвоей площадке6Неизменяемая копия сотдельными учётнымиданнымипереживаетчастичноне переживает
Рис. 5. Лестница копий в облаке: что переживает каждая ступень

Копия в другом регионе без всего остального — это восстановление за недели, а не за часы, и не то, что подразумевают, когда пишут в реестре «риск закрыт резервным копированием».

Внешние компоненты

Зависимости, которых нет на схеме

Страница может зависнуть на чужом скрипте, даже если ваш бэкенд работает.

В ту ночь легли и те, у кого в погасшей зоне не было ни одной своей машины.

Современная страница или приложение собирается из десятков внешних кусков: скрипты аналитики, авторизация через внешнего провайдера, платёжные виджеты, карты, капча, библиотеки с внешних CDN, DNS у внешнего оператора. Если такой кусок подгружается синхронно и без таймаута, страница ждёт его до бесконечности.

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

Отдельный урок тех дней — граница между локализацией данных и локализацией сервиса. В соседней стране сервисы провайдера работали с ошибками, и пользователям объяснили: персональные данные хранятся в стране, но распределённая инфраструктура включает компоненты в разных странах, и сбой одного из них влияет на доступность сразу в нескольких. То есть требование хранить данные локально выполнено, а домен отказа всё равно лежит в чужом здании за границей. Если вашему регулятору важна локализация, стоит спросить и о ней: где живут не только данные, но и всё, без чего сервис не работает.

Что с этим делать: инвентаризировать внешние вызовы на критичном пути, ставить на каждый таймаут и деградацию («карта не загрузилась» вместо «страница не открылась») и спрашивать ключевых партнёров, где и как они размещены, ещё при заключении договора.

Аренда против покупки

Аренда «под ключ»: что остаётся на вас

Обычно спрашивают не «надёжно ли это», а «почему это дороже, чем казалось».

Отдельная ветка того же вопроса — аренда серверов в коммерческом ЦОДе вместо покупки.

Аренда «под ключ»: что в цене, а что на васРазбор одного коммерческого предложения на аренду серверов. Цены не приводятся.Входит в цену арендыОборудование изналичия арендодателяРазмещение наплощадке Tier IIIПитание и охлаждениеЗамена неисправного поSLA арендодателяВнешний доступограниченной полосыПоддержка 24/7Площадка и железо — его.Здание по-прежнему одно.С оговоркамиСроки: от 5 рабочих днейпри наличии на складедо 35 при отсутствииМинимальный срок ипредоплатаПоколение иконфигурация — поскладу арендодателяМасштабирование — впределах его склада иего сроковГибкость условная: по сутиэто лизинг чужогооборудования.Остаётся на васЛицензии ОС ивиртуализации (BYOL)Диски под данныеКанал репликации досвоих площадокПроверка совместимостис платформойВторая площадкаПеренос данных привыходеЛицензии по ядрам растут счислом арендованныхсерверов.Пример из Средней Азии.Аренда «под ключ»: что в цене, а чтона васРазбор одного коммерческого предложения нааренду серверов. Цены не приводятся.Входит в цену арендыОборудование из наличия арендодателяРазмещение на площадке Tier IIIПитание и охлаждениеЗамена неисправного по SLAарендодателяВнешний доступ ограниченной полосыПоддержка 24/7Площадка и железо — его. Здание по-прежнемуодно.С оговоркамиСроки: от 5 рабочих дней при наличии наскладе до 35 при отсутствииМинимальный срок и предоплатаПоколение и конфигурация — по складуарендодателяМасштабирование — в пределах егосклада и его сроковГибкость условная: по сути это лизинг чужогооборудования.Остаётся на васЛицензии ОС и виртуализации (BYOL)Диски под данныеКанал репликации до своих площадокПроверка совместимости с платформойВторая площадкаПеренос данных при выходеЛицензии по ядрам растут с числомарендованных серверов.Пример из Средней Азии.
Рис. 6. Аренда серверов: что входит в цену, что с оговорками, что остаётся на клиенте

Один пример из Средней Азии. У заказчика две собственные площадки и основная мощность на гиперконвергентной платформе. На обсуждении у руководства прозвучало предложение: вместо закупки нового поколения арендовать серверы в коммерческом ЦОДе.

Предложение арендодателя на первый взгляд было аккуратным: сервер с большим объёмом памяти, площадка Tier III, поддержка 24/7. Однако при разборе заметная часть расходов в цену аренды не вошла.

  • Лицензии остаются на вас. Модель BYOL: ОС, платформу виртуализации и всё остальное приносит клиент. Арендуемый сервер был на предыдущем поколении и с меньшим числом ядер, поэтому на каждый свой сервер требовалось от 1.3 до 2 арендованных. Лицензии, которые считаются по физическим ядрам, растут вместе с этим числом (подробно — в выпуске 08 «Строки и ядра»).
  • Хранилище — отдельной строкой. В спецификации были только загрузочные диски, ни одного под данные.
  • Канал — отдельно. В услугу входил внешний доступ ограниченной полосы. Репликация между своими площадками и арендованной требует собственного канала, и в предложение он не входит.
  • Совместимость — ваша забота. Проверять сервер по списку совместимости платформы заказчику пришлось самому.
  • Гибкость условная. Минимальный срок — 12 месяцев, предоплата за 6, развёртывание — от 5 рабочих дней при наличии оборудования на складе до 35 при его отсутствии. По сути это лизинг чужого оборудования, а не облако с оплатой по факту.
  • Выход стоит денег. Перенос данных обратно, двойная работа в переходный период, переконфигурация сети.

И главное: аренда в одном коммерческом ЦОДе ничего не меняет в пирамиде. Это по-прежнему одно здание, только чужое.

Аренда не всегда хуже покупки: в выпуске 07 «Четыре контура» разобраны случаи, где она оправдана, — временная нагрузка, пилоты, вторая площадка под холодный резерв. Но сравнивать нужно полную стоимость на горизонте 3 лет, а не цену сервера в месяц.

Адреса, маршрут, люди

Кто управляет переездом

Скорость переезда определяется не железом.

Если площадка потеряна, всё решает, насколько быстро вы окажетесь в другом месте.

Показательно, что уже на второй день провайдер договорился с несколькими другими облачными операторами об ускоренном переезде своих пострадавших клиентов. Это правильный шаг и лучший ответ на вопрос, нужна ли копия у другого провайдера. Только переезжать будут все сразу, и первым поедет тот, у кого копия уже там.

  • Адреса. Если публичные адреса ваших сервисов принадлежат провайдеру, переезд означает смену адресов, DNS, сертификатов и настроек у всех внешних партнёров. Собственная PI-адресация и BGP позволяют увести трафик на другую площадку, не меняя адресов.
  • Маршрут. Канал до резервной площадки должен существовать до аварии, а не заказываться после неё. В день массовой аварии операторы связи перенаправляют магистральный трафик, и оставшиеся узлы перегружаются у всех одновременно.
  • Ёмкость. Подняться в другой зоне по требованию в тот же час захотят все клиенты погасшей зоны.
  • Люди и порядок. Кто принимает решение о переключении, в каком порядке поднимаются системы, кто проверяет результат. Если этого нет на бумаге, это будут решать ночью в мессенджере.

Чек-лист

Что проверить у себя

Вопросы, на которые лучше ответить до аварии, а не после.

Итог

Вместо вывода

Ни один из клиентов, лежавших в те дни, не выбирал «пусть у нас всё ляжет». Выбирали одну зону — дешевле, копии рядом — быстрее, адреса провайдера — так было из коробки. Вместе это долг из выпуска 12 «Долг и дефолт», и в те дни его предъявили к оплате сразу десяткам организаций.

Это не аргумент против облака и не за собственный ЦОД. Вопрос не в том, своё или чужое, и не в подробности SLA, а в том, сколько у вас зданий и сколько часов займёт переезд: в ночь аварии стоит ваш бизнес, а компенсация придёт потом — если придёт.

Ваш сервер — действительно ваш, если на вопросы из чек-листа вы отвечаете без звонка партнёру. Если нет — давайте разложим вашу пирамиду вместе.

Обсудить задачу

Разберём вашу задачу

Опишите платформу или проект — инженер ответит в Telegram или по почте.

Написать в Telegram

Или напишите в Telegram — бот передаст вопрос инженеру.