Cloudflare опять упал, Zoom поэтому не работает (и половина интернета вместе с ним), не удивляйтесь.
Upd: поднялись в течении 20 минут.
Cloudflare опять упал, Zoom поэтому не работает (и половина интернета вместе с ним), не удивляйтесь.
Upd: поднялись в течении 20 минут.
Помните, на прошлой неделе Cloudflare упал и уронил половину интернета?
Они пишут одни из лучших post-mortem’ов в индустрии. Последний — не исключение.
Круто, что они опубликовали его прямо в день падения. Обычно, одни согласования с юристами занимают дни.
Но самое впечатляющее для меня в этой истории — вот этот комментарий пользователя eastdakota на форуме hacker news.
Это Мэтью Принс, основатель и генеральный директор компании, которая обслуживает 20% всего интернет-трафика, рассказывает, как он сначала сидел на созвоне по починке аварии, а потом пригласил к себе домой бывшего техдира (тот захватил сына, показать, какая у папы работа) и главного юриста компании и они на троих сообразили текст в гугл-доке. Задали в нем вопросы технарям компании. Заказали еды. Включили ответы на вопросы в текст. Дали вычитать технарям. И опубликовали. И получился пост-мортем. ❤️
Cloudflare падал; если не могли открыть сайт или глючило приложение в последние 4 часа — скорее всего из-за этого.
CF — главный CDN/анти-дидос на свете, он стоит между пользователями и серверами, которые оберегает от лишних нагрузок. Поэтому когда падает CF, то это как если сломался удлинитель — не важно, что электричество в розетке есть, до нас оно не дойдет.
Интересно, что во время аварии не работала и панель управления администратора, так что нельзя было выключить его хотя бы на время.
Кстати, российские сайты это задело мало. РКН регулярно блокирует Cloudflare, так что все, кому важны пользователи из РФ, уже давно перешли на другие решения. Такая вот устойчивость интернета.
Подъехал пост-мортем от Амазона.
С одной стороны, хочется поржать над DNS Enactor, DropletWorkflow Manager (DWFM), Network Manager и прочими — это Galactic от Krazam, только в реальном мире и на очень серьезных щщах.
Если без шуток, то цепочка такая:
1. сначала сломался доступ к dynamodb из-за рейс-кондишена системы управления DNS — два таска начали писать в DNS одновременно, первый старую версию записей, второй — более новую новую, в результате часть записей в DNS оказалась новая, часть старая, второй процесс запустил cleanup, который удалил все старые записи и из такого разломанного состояния система сама восстановиться не могла. Сломалось в полночью, за 50 минут поняли в чем дело и ещё за 40 минут починили руками.
2. из-за сломанного dynamodb, система управления железом не могла обновить статус физических серверов и начала отмечать их как «недоступные», поэтому не могла запустить новые виртуальные машины; после восстановления dynamodb, по-идее всё должно было встать само, но из-за большого объема железа, стоящего в очереди, обновление статуса занимало дольше, чем таймаут — и очередь не разгребалась, а только росла. Коллапс. Стандартной процедуры восстановления для такого случая прописано не было, через 2 часа попыток что-то разрулить, инженеры ограничили число входящих запросов и начали перезапускать тачки с системой управления; это помогло, теперь можно было создать новые виртуальные машины;
3. но ещё какое-то время эти новые виртуалки не делали никакой полезной работы, потому что из-за взрывной нагрузки не справлялась система управления разлива конфигурации сети и сеть на новые тачки приходила с задержкой;
4. из-за этой задержки появления сети на машинах, моргали статусы серверов в лоад-балансерах, отмечая живые инстансы как мертвые и триггерились дополнительные переключения нагрузки (привет, DNS!) и перегрузилась система проверки здоровья серверов,
пришлось её на время выключить.
Ну а когда у вас не доступны базы данных и виртуальные машины, то все остальное уже валится по цепочке (и список десятков облачных сервисов, которые пострадали).
Раздел «что мы поменяем» удивительно короткий и очень технический: починят рейс кодишен в DNS, ограничат объем серверов, который может выключить лоад-балансер и т. д. Ну и заканчивают «извините, в будущем будем более лучше стараться».
Интересно, что они не делают никаких философских выводов из ситуации. Видимо, считают, что идейно всё верно. Я сам такими огромными системами (и командами) не управлял и поэтому осторожно предположу, что, наверное, технически, можно сделать систему проще, но учитывая, что над ней работают десятки независимых команд — это, наверное, минимальный доступный объем сложности и допустимый объем ошибок. Было бы интересно услышать мнение «настоящих сварщиков».
—
Коллеги советуют замечательную статью на тему безопасности сложных систем. Она не дает ответов, но предостерегает от попытки найти «root cause», «причину аварии» и предлагает посмотреть на безопасность систем по-новому, через другие линзы, чем я привык. Очень рекомендую.
В Канаде авария у крупнейшего интернет-провайдера Rogers, интернета (а в некоторых случаях даже телефона) нет у десятков миллионов клиентов. Причины аварии пока неизвестны. Надеюсь, хоть тут обошлось без русских хакеров.
Если у вас не открываются какие-то западные сайты и приложения (привет, hackernews) — это может быть связано. Наши клиенты из Канады просто написали «мы сегодня оффлайн».
Прямо сейчас Rogers пытается купить другого крупного канадского провайдера, Shaw Communications, за 20 млрд канадских долларов. Интересно, повлияет ли авария на сделку, не вмешаются ли регуляторы — уж больно показательная история.
Компания Atlassian 4 апреля что-то капитально сломала, так что 400 компаний-клиентов потеряли доступ к системе управления проектами Жира и базе знаний Конфлюенс. На 10 день (!) аварии, доступ восстановлен только для 35% клиентов, для некоторых восстановление доступа может занять ещё 2 недели (!).
Это тектоническая авария, есть компании, у которых из-за этого вполне может встать разработка.
Вот хороший обзор истории и смешной слух о реальных причинах. Удивляет очень плохая внешняя коммуникация, уж у миллиардного Атлассиана-то ведь должен быть вменяемый PR-директор?
Жальче всего людей, у которых не было локальных бэкапов этих систем. Не знаю как остальные техдиры, но я в свой чеклист аудита добавил пункт «бэкапы облачных сервисов».
Один из крупнейших интернет-маркетплейсов страны Wildberries не работает вторые сутки и не называет ни причину падения, ни сроки, когда проблемы будут исправлены.
Главная страница открывается, но пропали все данные о прошлых заказах, нельзя оформить новый заказ, в личном кабинете не отображается даже имя пользователя.
Учитывая, что сами они ничего не говорят, предположу, что компания потеряла большую часть базы данных из-за аварии или хакерской атаки и пытается восстановить данные из бэкапов.
Проверяйте бэкапы, это дешево, могу помочь! И зовите меня с Федей, если вдруг авария, в которой не можете разобраться, у нас есть опыт тушения пожаров (дорого).
Отдельно обращу внимание на отвратительную внешнюю коммуникацию. Берите пример с Cloudflare, они хорошо объясняются, когда что-то идет не так.
Новостной эпизод подкаста сегодня по мотивам падения фб.
Гости: технический директор ВКонтакте Александр Тоболь и глава сетевой инфраструктуры Mail.ru Group Елена Якупова 🔥
Разбираемся, как устроен интернет, компьютерные сети и что это за работа такая — сетевой инженер, который может одним движением сломать крупнейшие сервисы на планете. Строим гипотезы, что произошло в фб и вспоминаем истории из своей практики.
Записывались прям ночью во вторник, очень старались успеть к четвергу :)
Слушайте и подписывайтесь: Apple, Google, Castbox, Spotify, Яндекс, Overcast, веб-версия.
ФБ рассказал, почему они упали в понедельник.
Началось все с человеческой ошибки. В ходе обычной работы, кто-то дал системе команду, которая отключила все дата-центры Фейсбука от ее скоростной внутренней сети, которая связывает дата-центры Фейсбук друг-с-другом и со внешним интернетом.
Вообще-то, у них есть программа, которая проверяет команды и отменяет потенциально опасные — вроде той, которую написали в понедельник. Из-за ошибки в этой программе защиты, команда прошла автоматический контроль.
В этот момент все сервера Фейсбука пропали с радаров интернета, Фейсбук для внешнего мира сломался.
Все было бы ничего, инженеры могли бы быстро включить все обратно, но у фейсбука есть специальная автоматизированная система, которая проверяет связность DNS серверов с дата-центрами компании и в случае проблем — отключает эти серверы от интернета. В понедельник, эта система отключила все DNS-серверы компании от интернета.
DNS — адресная книга интернета. Эта система переводит человеческий адрес Facebook.com в машинный айпи-адрес 157.240.224.35. Формально, интернет может работать и без DNS, в реальности на работе DNS завязано почти ВСЁ. Например, внутренние сервисы — инструменты, которыми пользуются инженеры фейсбука для решения проблем. Да что там сервисы, сотрудники фб в офисы не могли попасть, потому что автоматической системе контроля дверей тоже нужна DNS.
Дополнительная вишенка на торте — сломалась не только основная сеть фейсбука, но и запасная, которая построена специально для доступа к управлению сетевым железом в случае аварии основной сети. В общем, инженерам пришлось ножками топать в дата-центр и подключаться к сетевому оборудованию напрямую, буквально проводочком. Это непросто, потому что современные дата-центры — это крепости, попасть в них кому-то сверх обычного персонала — то ещё приключение. А теперь попробуйте это сделать, когда все корпоративные IT-системы недоступны. Подозреваю, что высшему руководству буквально по телефону приходилось подтверждать личность инженеров. Да и современное железо в ДЦ построено так, чтобы даже наличие физического доступа не дает контроля над ним — придется доказать, что ты не верблюд.
В общем, горячие были 6 часов у инженеров. Респект фб, что так быстро описали суть произошедшего и жаль, что подробный отчет, по которому, безусловно, можно снять боевик — мы вряд ли увидим.
Конкретно от этой проблемы фб вряд ли пострадает во второй раз — программу проверки команд теперь будут тестировать на порядок лучше, да и DNS в будущем, вряд ли будет отключаться так легко. При этом, мы говорим об очень сложных системах и в них рано или поздно что-то пойдет не так. Такие крупные аварии, «идеальные штормы» происходят каждые несколько лет. Этот — не последний.
Нам же, простым смертным, это очередное напоминание, что стоит подстелить соломки и сделать так, чтобы наши сервисы, наши бизнесы продолжали работать, не теряли клиентов, даже если сломался такой гранд, как вацап или фейсбук. Когда все твои конкуренты вне доступа из-за крупной аварии — это шанс получить много новых клиентов, если ты продолжаешь работать. Хоть и баян, но: кризис — время возможностей.
ФБ начал возвращаться в строй. Сетевая связность восстановлена, заработал DNS. Приложения, скорее всего, тоже скоро очухаются.
Вот хороший обзор ситуации и объяснение механизма падения от Cloudflare https://blog.cloudflare.com/october-2021-facebook-outage/
Теперь ждём технического пост-мортема от фб.
Пойду спать, спокойной ночи, друзья.