13 июля, 2015

Адреналин

adrenaline-600x600
Как говорит моя любимая: "Не понимаю я этих адреналинщиков - в горы лезут, со скал прыгают... Попробовали бы провести хотя бы один деплоймент, наелись бы адреналина по самое не хочу". Конец цитаты.
Переведу на русский язык, поскольку далеко не все мои читатели IT специалисты. Представьте себе бизнес, целиком завязанный на компьютеры. Ну, например, вебсайт Ebay - стотыщ человек на этом сайте  что-то покупают каждый момент времени, тыща - выкладывают что-то на продажу, и стопицот миллионов человек просто роются на сайте в поисках товара. Это называется "продакшен", в смысле куча серверов, сетевого оборудования и баз данных, из которых этот сайт, собственно, и состоит с обратной стороны от экрана вашего компьютера. А программисты тем временем пишут программы, которые улучшают старые функции сайта, или  вводят новые, или еще что-нибудь. Пишут и отлаживаются они на копии продакшена, которая называется "девелопмент", или может "тестинг". Такое же оборудование, но которое недоступно широкой публике. Пишут они, пишут, специальные люди, называемые тестерами, гоняют их программы так и сяк, пытаясь найти в них ошибки, чтобы оные ошибки не вылезли у клиентов. Наконец какой-то этап завершен, и надо эти изменения выкатывать на продакшен, да так чтоб не сломать ничего, не помешать клиентам и не отпугнуть их. Этот процесс называется "деплоймент". В нем участвуют несколько (иногда много) человек, под него пишется план кто что и за кем делает - один накатывает скрипты котрые меняют структуру базы данных, другой записывает программы в рабочие библиотеки, тестеры после всего быстро все тестируют прямо на продакшене по самым чувствительным точкам, да обычно еще есть и план, как откатить изменения обратно, если вдруг что-то не заработает как надо. Ну вот, а поскольку точную копию продакшена на тестинге создать практически невозможно (хотя бы потому что надо дешевле), из-за разницы в окружении иногда на продакшене выскакивают та-акие баги... А еще хуже бывает, если все это поработает неколько часов, так что базу данных уже с резервной копии не восстановишь, а потом полезут баги... Да и законы Мерфи никто еще не отменял: “Наиболее вероятно то событие, которое наименее желательно”. Поэтому успешный деплоймент воспринимается командой, как успешное приземление космического корабля с ними на борту.
Я к чему это все рассказываю. У меня этой ночью нечто наподобие было. Одну из баз данных продакшена внепланово восстанавливал, а она медленная, но к утру все должно было быть готово - иначе 700 человек в трех городах с утра бы куковали без доступа к продакшену и поминали меня нехорошими словами, опять же это простой и прямые нехилые убытки компании. Однажды мы прикидывали - полчаса простоя стоят 10-15 тысяч долларов.
Успел к 6:15 утра. Фууууухххх.... Адреналин аж из ушей течет.