четверг, 23 июля 2009 г.

[comp.flame] 21 июля, Москва, Сбербанк: страшный сон разработчика 24x7 систем

В понедельник, 21 июля 2009 года, в Москве воплотился в жизнь кошмарный сон разработчиков систем, которые должны работать в режиме 24x7: на несколько часов была заблокирована выдача вкладов и пенсий в 250 московских отделениях Сбербанка. Если верить этому источнику, то причиной стала новая версия ПО, введенная в эксплуатацию накануне, в воскресенье. Которая не выдержала реальной нагрузки. И вместо нее пришлось запускать старую версию, остановив для этого работу всех отделений Сбербанка в Москве.

Произошло то, чего я очень сильно опасаюсь в свое работе: внедряешь новую версию ПО, а оно не работает. Не повезло разработчикам. Не зная что там к чему сложно сказать, насколько они виноваты. Но под раздачу попадут, это наверняка. Может быть даже заслуженно.

Мне это все особенно близко, поскольку мы так же работаем со Сбербанком и предоставляем им сервисы, которые работают в режиме 24x7. И в последние годы нагрузка на нас со стороны Сбербанка удваивается каждый год. Поэтому нам приходится заниматься вопросами масштабирования и время от времени вводить в работу новые версии своих систем. И мы каждый раз рискуем оказаться в такой же ситуации :)

Нужно сказать, что произошедший сбой можно считать еще не самым плохим сценарием развития событий. Поскольку проблема быстро и ярко себя проявила. Гораздо хуже было бы, если бы при некотором стечении обстоятельств (высокая нагрузка, определенное время суток, фаза луны и т.д.) софт продолжал бы работать, но не правильно. Например, снижал или завышал проценты по вкладам или на несколько рублей/копеек изменял размеры начисленных пенсий.

Какие выводы можно сделать для себя из этой истории? Пожалуй, главных всего два:

  1. Тестирование. Еще раз тестирование. И еще раз тестирование. А потом еще раз тестирование.
  2. При запуске новой версии ПО нужно быть готовым за очень короткое время (лучше всего мгновенно) вернуться к предыдущей версии.
  3. И еще раз тестирование.

Вывода всего два. Но пункта три, поскольку откат к предыдущей версии так же должен быть протестирован. А потом еще раз протестирован.

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

2 комментария:

1 комментирует...

Блестящая мысль - устанавливать обновление в воскресенье.

eao197 комментирует...

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