Недавно я начал управлять небольшим стартапом. Я думаю, что как большинство небольших стартапов, мы делали то, что хотели, в процессе производства, когда считали, что это нормально. Люди осторожны, и все работает очень хорошо. Нам также удалось очень быстро решить проблемы, за что клиенты очень благодарны.
Однако вчера у нас возникла проблема, когда администратор самостоятельно решил изменить имя сервера и обновить программное обеспечение, чтобы привести его в соответствие с вещами. Разработчики были уведомлены, однако изменение имени убило нашу систему очереди сообщений, которая, в свою очередь, фактически отключила нас на несколько часов. Из-за этого произошла серия каскадных сбоев, и виртуальная машина, на которой размещалась очередь сообщений, фактически пришлось убить и создать новую виртуальную машину. Никому не понравилось.
Это нужно было сначала проверить в непроизводственной среде.
Мне было интересно, какое обслуживание разрешено в производственной среде в критические для бизнеса времена? Некоторые я представляю, однако, сколько?
Техническое обслуживание можно проводить в любое время, если это не влияет на бизнес-системы.
В вашем случае проблем, вызвавших критический сбой, проблема заключалась не в том, что это невозможно сделать, а в том, что либо у вас нет уведомления о процессе изменения, либо администратор не следил за ним. О том, что произошло изменение имени, не сообщили людям, ответственным за бесперебойную работу службы. Если администратор является владельцем службы (а это очень вероятно в малом бизнесе), то его пригодность для этой роли необходимо изучить, поскольку это его работа - определять влияние любых изменений, влияющих на его службу.
Тестовые среды хороши, но без тщательного обслуживания они не решат всех проблем. Хотя, безусловно, тестирование изменений в тесте является лучшей практикой, это не заменяет план возврата (который также следует протестировать).
Наконец, еще один урок, который следует усвоить: разработчики не админы. Я подозреваю, что, как вы сказали, «разработчики были уведомлены». Держу пари ни копейки, их не спросили «что будет, если имя машины изменится?». Я бы хотя бы получил электронное письмо от разработчиков, в котором говорилось, что изменение имени машины не повлияет на приложение.
Вы учитесь на ошибке и предпринимаете шаги для анализа воздействия изменений окружающей среды, прежде чем их совершать.
Документация здесь имеет большое значение, но также постарайтесь оценить, почему этот тип изменения может иметь такое широкое влияние. Были ли какие-то жестко запрограммированные в приложениях? Можно ли улучшить работу системы?
Изменение имени хоста - это не мелочь, но и не должно вас полностью сломать.