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

Перед собесом рекрутер выдала мне ексель файл с сотней технологий по каждой из которых нужно было поставить себе оценку.

После этого интервьюер задавал мне вопросы по этому списочку и проставлял уже свою оценку. Такого типа собесы распространены в больших компаниях, где процесс найма пытаются сделать максимально формализованным, поэтому я не удивился и спокойно реагировал на вопросы вроде “настраивали ли вы DHCP”, и “что такое BGP, vxlan?”.

В том числе один из вопросов касался “Disaster recovery/disaster recovery plan”. Я, естественно, по науке с этим дела никогда не имел, документов и планов не писал, но че-то попробовал рассказать вроде “надо приложуху деплоить в разных регионах/датацентрах и настраивать между ними репликацию, чтобы когда один дц умрет, то можно было бы перенаправить все запросы на второй”. Не особо проканало, но хоть так, лучше чем ничего.

Буквально на следующий день утром заказчик одного из продуктов, который я разрабатываю и поддерживаю пишет “все упало”. Смотрю в мониторинг — там действительно упало все, что находилось в основном ДЦ, где располагаются наши сервера. Пробую открыть панель управления серверами — не открывается, host not found, ssh-gateway тоже не работает. “Приехали”, подумал я и моментально вспомнил вчерашний собес. Точно так же не резолвились вообще никакие наши хосты. Похоже на то, что у хостера пропали все записи в DNS, потому что сами сервера работали и исправно посылали логи в LogEntries (где была куча ошибок о невозможности зарезолвить эндпоинты SQS лол).

Резервирование серверов-то у меня было, только они находились в том же ДЦ, на том же аккаунте. Кросс-региональную репликацию я не делал, потому что не продал это заказчику. Утренний фулл бекап базы находился на S3 и по практике его разворачивание вместе с подъемом новой инфраструктуры заняло бы часа два. Саппорт хостера понятное дело ничего дельного не смог ответить. В общем я уже собрался делать костылик для того чтобы собирать запросы от клиентов (продукт — технологический b2b saas, клиенты шлют запросы по HTTP) и потом их обработать пачкой, но пока думал и гадал то DNS заработал и все заколосилось. Outage составил 40 минут.

Похожая ситуация уже случалась примерно год назад, но тогда я просто забил делать костыль (а делать там нечего, api gateway + λ + SQS + S3) потому что я ленивая задница и потому что были продуктовые задачи. Весь год я думал о том что надо бы сделать бекап АРІ, потому что случались и менее серьезные сбои, по 10 минут и тд, и весь год задвигал эту задачу подальше, накапливая технический долг.

Вот так вот рок меня настиг. Разберусь с продуктовыми задачами и засяду за грамотный disaster recovery, ахаха.