В России август уже давно считается “чёрным” месяцем. Дурной репутацией он обязан переворотам, дефолтам, катастрофам и прочим катаклизмам, которые почему-то особенно часто выпадают именно на последний летний месяц.
Для Text.ru август 2020-го также выдался весьма мрачным, причём уже с первых часов, без какого бы то ни было разгона. В ночь с 31 июля на 1 августа (если быть точными, около 02:00 по московскому времени) в результате аварии в дата-центре серверного провайдера сгорел один из наших серверов, полностью парализовав работу сервиса.
Начиная с раннего утра субботы наши технические специалисты с головой окунулись в решение проблемы. После того как они убедились, что сервер не подлежит восстановлению, коллегиально было принято решение запускать процедуру переезда на новый. Горькая ирония ситуации состоит в том, что несколькими днями ранее намечалась плановая миграция как раз с того сервера, который приказал долго жить, однако осуществить её по ряду причин не удалось.
По завершении переезда, уже поздним вечером субботы, Text.ru ожил, но в несколько потрёпанном состоянии. Причина - безвозвратно исчезнувшие события с наших бирж копирайтинга и рерайтинга за весь предыдущий полный день. Причём “взрывная волна” зацепила и текущий момент, повлияв на создание новых заказов на биржах, проверку уникальности текстов и прочие привычные процедуры.
Взяв небольшой перерыв на сон, в воскресенье утром команда Text.ru вернулась к работе. Зафиксировав ожидаемо аномальное количество обращений от пользователей, мы быстро поняли, что одним специалистом поддержки не обойтись, поэтому на подмогу героически подключились ещё двое: одну сотрудницу пришлось выдернуть из отпуска, а другую и вовсе из декрета. Вся группа разработки также была в строю в полном составе, оперативно обрабатывая проходящие через поддержку жалобы.
В таком режиме мы провели всё воскресенье, откачав Text.ru до жизнеспособного состояния, когда можно выполнять основные операции с малой вероятностью нарваться на какую-нибудь ошибку.
Поскольку поток обращений множился, а человеческие ресурсы с нашей стороны были лимитированы, в понедельник, 3 августа, в начале рабочего дня состоялись отдельные обстоятельные совещания с командами разработки и поддержки для определения стратегии действий в режиме чрезвычайной ситуации.
С программистами сразу сошлись на том, что все плановые релизы и обновления начала августа следует отложить на неопределённый срок, пока не вернёмся к нормальному функционированию, и сосредоточиться на актуальных “болях” пользователей.
С поддержкой же проработали целую систему хештегов, классифицировав все затруднения по типам для упрощения сбора входящих жалоб. Эта система позволила упорядочить обращения и заметно увеличить скорость решения проблем.
Параллельно с регулярным закрытием запросов на исправление ошибок наша доблестная техническая команда решила уцепиться за призрачный шанс восстановить утраченные данные. Перепробовав все способы, дававшие минимальный процент надежды, добиться положительного исхода, увы, не удалось. Но, если перефразировать Рэндла МакМёрфи из “Пролетая над гнездом кукушки”, по крайней мере, мы попытались.
Впрочем, совсем уж катастрофическим расклад назвать было нельзя, поскольку основную часть данных, связанных с зависшими или пропавшими денежными средствами (что было самой насущной проблемой), нашим программистам получилось восстановить по имевшейся косвенной информации, то есть практически ориентируясь по звёздам.
9 августа мы приступили к осуществлению возвратов денежных средств по заказам, что сразу начало облегчать груз ответственности на наших плечах, поскольку к этому времени кипение недовольств достигло высоких значений. В последующие дни мы уже действовали по накатанной схеме, постепенно увеличивая область видимого света в конце тоннеля.
21 августа мы сделали ещё одну позитивную засечку в истории ликвидационных мероприятий, собрав полный список всех пострадавших пользователей (всего таких оказалось 731) и начислив каждому в качестве дополнительной компенсации PRO-аккаунт на месяц.
К концу августа большая часть последствий аварии устранена. Остаточные явления, которые ещё какое-то время будут тянуться, словно нефтяной след, решаются по мере выявления.
Конечно, мы бы предпочли обойтись без подобного технического катаклизма, но в любой ситуации можно отыскать положительные стороны.
Авария позволила провести своего рода стрессовый тимбилдинг, продемонстрировав максимум возможностей команды Text.ru. Кроме того, в процессе восстановления мы узнали больше о своих слабых сторонах и потенциальных уязвимостях, определив порядок укрепления редутов. Ну и, наконец, любой крупный проект, с честью пройдя проверку на прочность, становится сильнее и устойчивее.
Команда Text.ru благодарит всех пользователей нашего сервиса за лояльность, проявленное терпение и помощь в сборе информации. Мы работаем и становимся лучше для вас.