авария

Описание вчерашней сетевой аварии опубликовал в своем блоге Cloudflare. Ниже мой перевод первого абзаца на скорую руку, оригинал лучше:

Сегодня в 10:40 UTC у интернета случился сердечный приступ. Небольшая компания в Северной Пенсильвании стала избранным путем (preferred path) многих соединений крупнейшего транзитного провайдера Verizon. Представьте, что Яндекс.Карты завернули весь трафик МКАДа через маленький переулок. Клаудфлер, вместе с многими другими хостингами стал недоступен для больших частей интернета. Всё началось с того, что Verizon анонсировал свои внутренние пути во внешний интернет. Почему так вышло — читайте дальше.

Обожаю, когда объясняют сложные события с самых основ и не упускают важных деталей, раскрывая их суть по мере рассказа. ❤️💪

Один из крупнейших и самый дешевый CDN на свете Cloudflare испытывает проблемы с сетью.

Многие сайты могут быть недоступны. Я лично помогал включить Cloudflare десятку медиа, у RAWG отвалились картинки.

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

Статус тут.

Гугл опубликовал публичный постмортем про воскресную аварию. Текст длинный, но суть простая: у них ломается сеть, если специальная программа не подвозит правильную конфигурацию сети (BGP) каждые пару минут. Несколько копий этой программы запущены на отдельных серверах в каждом дата-центре (отказоустойчивость!). Эти серверы включает-выключает другая программа управления конфигурацией. Во второй программе была ошибка, из-за которой она выключила все копии первой программы. Через пару минут после этого протухли BGP-анонсы и развалилась сеть.

Из-за сломанной сети были недоступны внутренние инструменты, которыми пользуются сисадмины при исправлении проблем. Гугл говорит, что у них есть специальные бункеры с какими-то особыми доступами, но пока админы туда доехали — прошло дополнительное время. Самое главное, что система конфигурации потеряла своё внутреннее состояние и админам пришлось заново настраивать всё руками — это заняло очень много времени.

Чинят тем, что 1) запретят подсистеме выключения задач тушить сразу несколько серваков 2) система не будут терять состояние при потушенных серверах (не придется настраивать её заново руками) 3) сеть будет дольше работать без внешней поддержки программой управления (самое очевидное решение).

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

Поведение при факапе - отдельное искусство.

Сильно упрощая: хостер Digitalocean заблокировал аккаунт клиента и потушил продакшен-серверы стартапа без предупреждения, не дал даже данные выгрузить (автоматический антифрод, да).

Твит про это капитально бомбанул, на ситуацию обратил внимание основатель компании и вот Digitalocean публикует образцовый постмортем.

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

5/5

P.S. Ещё одно напоминание об опасности держать все яйца в одной корзине. Как минимум бэкапы должны быть у второго провайдера.

Прошлой ночью по Москве у гугла прилегла сеть в Штатах. 4 с половиной часа, с 12 до 17 PT. Проблемы затронули как собственные сервисы Gmail, YouTube и прочие так и клиентов облака: Snapchat и другие.

Гугл потерял «три девятки» (99.99% доступности сервисов) в этом квартале.

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

Мои сочувствия ребятам из России, у которых пользователи/клиенты в штатах (обычно я им завидую:). У вас была горячая ночь.

Ну и это хорошее напоминание нам всем, что для критических сервисов имеет смысл посчитать стоимость резервирования хостингов.

Яндекс выкатил пресс-релиз на Роеме. В таймлайне не указано, когда они уведомили пользователей о проишествии, а ведь поддержка — один из параметров, по которому мы выбираем хостинг.

«Мы уже работаем над формированием мер для предотвращения повторения подобного инцидента в будущем и в ближайшее время проинформируем о дальнейших шагах всех пользователей.»

Интересно, будет ли более подробный post mortem в этом информировании?

P.S. А ведь было время, когда Яндекс говорил отличным русским языком; помню, студентом мечтал там работать в том числе из-за языка на сайте (древнегреческое «красивый не может быть плохим»). Эх.

Upd: ну наконец-то приличный текст от руководителя Яндекс.Облака. Был бы я журналистом — продолжил бы долбить про «считаете ли вы нормальным писать пользователям об удалении их сервера через 6 часа, а не сразу же», но думаю, что эта история и так заняла слишком много внимания и нечего так напрыгивать на национальное достояние. ❤️ спокойной ночи

Ходят слухи (пикабу, хабр), что Яндекс вчера случайно удалил виртуальные серверы клиентов в своем облаке (человеческий фактор).

Это отличное напоминание настроить бекапы (если вдруг их нет) и проверить, как работают процедуры восстановления.

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

Внушают опасение слухи, что клиентам написали письма о проблеме только через несколько часов и никакой публичной реакции Яндекса на ситуацию до сих пор нет.

Интересно, там было затронуто так мало машин, что они не видят видят причин официально комментировать? Классическое «это затронуло 0.004% клиентов и вот что мы сделали, чтобы такого больше не случилось» — тоже часть работы.

Пока мы спали, фейсбук с инстаграмом заболели и до сих пор не до конца здоровы. Последнее обновление статуса от фб - 12 часов назад «разбираемся, до сих пор проблемы».

Жалко, что искусство менеджить кризисные ситуации и искусство постмортема так не развиты. Недавно чуть ломался Gmail (очень редко бывает) и думаю, что мы никогда не узнаем, что же там произошло.

Вот пример идеального поведения в похожей ситуации от Basecamp и DHH.

Лично я люблю разруливать кризисные ситуации. Думаю, что это чувство, которое есть у гонщиков на высокой скорости и у спортсменов. Когда высоки ставки, высокие риски и благодаря профессионализму и удаче получается сделать красиво. Или удача отвернулась в этот раз, но ты сделал все, что мог и это все равно красиво.

Чтобы не создать ложное впечатление: лучше строить стабильные системы и процессы, чем постоянно тушить пожары. Если ваши программисты каждую неделю героически чинят сайт - возможно, стоит разобраться с настоящей проблемой, а не ставить заплатки.

Вообще, герой дня, я думаю, не только МТС, но и https://platformalp.ru (какая-то система для быстрой сборки лендосов), на которой припаркован этот прекрасный поддомен.

Вот про эту ситуацию точно был бы бомбический доклад на конференцию, жаль никто не расскажет :((

Я бы на месте безопасников МТС вырубил домен по-быстрому (но у них такой возможности нет, TTL большой). Это, кстати, одна из причин, почему стандартным TTL доменов нужно устанавливать 5 минут.