Текст книги "Проект «Феникс». Роман о том, как DevOps меняет бизнес к лучшему"
Автор книги: Джордж Спаффорд
Соавторы: Кевин Бер,Джин Ким
сообщить о нарушении
Текущая страница: 3 (всего у книги 7 страниц)
Глава 3
Хрупкая система
Вторник, 2 сентября
Я иду за Вэсом и Патти в глубину здания. В конце концов мы приходим в гигантский офис, объединяющий шесть стандартных кабинетов. Вдоль одной из стен располагается большой стол с множеством клавиатур и огромных мониторов, вроде рабочего места трейдера с Уолл-стрит. Повсюду башни из серверов, мигающих разными огоньками. Каждый сантиметр стола покрыт мониторами, на которых показываются графики, окна авторизации, текстовые редакторы, вордовские документы и еще бесконечное количество приложений, которых я не знаю.
Брент печатает что-то в одном из открытых окон, не обращая внимание на происходящее вокруг. Из его телефона раздаются звуки с обсуждения в NOC. Его, очевидно, не заботит, что звуки громкой связи могут помешать его соседям.
«Привет, Брент. Есть минутка?» – спрашивает Вэс, кладя руку ему на плечо.
«А это не может подождать? – отвечает Брент, даже не подняв глаза. – Я вроде как немного занят прямо сейчас. Работаю над проблемой с SAN, слышал?»
Вэс хватает стул. «Да, именно об этом мы и хотели поговорить».
Когда Брент оборачивается, Вэс продолжает: «Расскажи мне еще раз о вчерашнем вечере. Что привело тебя к выводу, что именно обновление SAN вызвало сбой в работе системы расчета зарплаты?»
Брент закатывает глаза: «Я помогал одному из инженеров SAN с обновлением прошивки, когда все ушли домой. Это заняло намного больше времени, чем мы думали, – все работало не так, как должно было. Ситуация была уже довольно напряженной, когда мы наконец-то закончили часов около семи.
Мы перезапустили SAN, и потом вся автоматическая самодиагностика системы стала давать сбои. Мы посидели над ней минут пятнадцать, пытаясь выяснить, что пошло не так. Именно в этот момент мы стали получать имейлы о сбое в работе системы расчета зарплаты. Тогда я и сказал «Game over».
Мы просто отставали на слишком много версий ПО. Производитель SAN, видимо, ни разу не устанавливал то обновление, которое мы загрузили. Я позвонил тебе и рассказал, что мы хотим отменить эту операцию. Когда ты дал согласие, мы начали откат.
И именно в этот момент SAN обвалился, – говорит он, качаясь на стуле. – И потянул за собой не только систему расчета зарплаты, но и несколько других серверов».
«Мы хотели обновить программное обеспечение SAN годами, но все никак не представлялось возможности, – объясняет Вэс, поворачиваясь ко мне. – Однажды мы уже почти собрались это сделать, но не смогли добиться достаточно большого перерыва на техническое обслуживание.
Работа программы шла все хуже и хуже до тех пор, пока несколько жизненно необходимых приложений не были повреждены. И в итоге прошлой ночью мы скрепя сердце решили установить-таки эти обновления».
Я киваю. Затем у меня звонит телефон.
Это Энн, поэтому я включаю громкую связь.
«Как ты и предлагал, мы просмотрели данные, которые выгрузили из системы расчета вчера. Последний платежный период в порядке. Но в этом платежном периоде все номера социального страхования для почасовых работников фабрики – полнейший бардак. А в полях с количеством отработанных часов только нули. Никто ничего подобного раньше не видел».
«Только одно поле в беспорядке? – спрашиваю я, брови от изумления взлетают на лоб. – Что ты имеешь в виду под словом «беспорядок»? Что в полях?»
Она пытается описать, что видит на экране. «Ну, это не цифры и не буквы. Тут немного червей, пики и волнистые линии… И еще здесь есть иностранные буквы с умлаутами… И никаких пробелов. Это важно?»
Брент хихикает, пока Энн пытается описать то, что видит на экране, я сердито гляжу на него. «Думаю, мы получили некоторое представление, – говорю я. – Это очень важно. Ты можешь переслать мне файл с поврежденными данными?»
Она соглашается. «Кстати говоря, полетели еще какие-то базы? Интересно. Вчера вечером все работало».
Вэс бормочет что-то сквозь зубы, заставляя Брента замолчать до того, как он успеет хоть что-то сказать.
«Ммм, да. Мы знаем о проблеме и работаем и над ней», – я абсолютно неэмоционален.
Положив трубку, я облегченно выдыхаю, благодаря богов, которые защищают тех людей, что фиксируют сбои.
«Только одно поле в базе данных повреждено? Ладно вам, ребята, это определенно не похоже на обвал SAN, – говорю я. – Брент, что еще происходило вчера, помимо апгрейда SAN, что могло вызвать сбой системы расчета зарплаты?»
Брент, развалившись, крутится на стуле, размышляя. «Ну, теперь, когда ты об этом спросил… Разработчик хронометрического приложения вчера звонил мне со странным вопросом о структуре таблицы базы данных. Я как раз вовсю работал над тестами для «Феникса», поэтому я постарался как можно быстрее от него отвертеться, чтобы вернуться к работе. Думаете, он мог сделать что-то, из-за чего полетела программа?»
Вэс быстро наклоняется к телефону, который по-прежнему работает на громкой связи. «Эй, парни, это Вэс. Я здесь с Брентом и Патти, а также с нашим новым боссом, Биллом Палмером. Стив Мастерс сделал его главой отдела IT-сопровождения. Так что слушайте, парни».
Мое желание дождаться официального объявления о новой должности кажется все менее исполнимым.
Вэс продолжает: «Кто-нибудь знает хоть что-нибудь о разработчиках, которые вносили изменения в хронометрическое приложение на производстве? Брент сказал, что ему звонил кто-то и спрашивал об изменении в базах данных».
Из телефона раздается голос: «Да, я помогал кому-то, кто имеет отношение к проблемам производства. Я практически уверен, что это был разработчик, о котором вы говорите. Он устанавливал какое-то приложение систем безопасности, так как Джону нужно было, чтобы на следующей неделе оно уже вовсю работало. Кажется, его звали Макс. У меня где-то были записаны его контакты… Он говорил, что с сегодняшнего дня уходит в отпуск, и поэтому работа такая срочная».
Вот мы и у цели.
Разработчик, вносящий срочные изменения, потому что ему нужно уйти в отпуск, – и все это, возможно, часть какого-то срочного проекта, которым управляет Джон Пеш, наш руководитель по информационной безопасности.
Ситуации вроде этой только укрепляют мое глубоко подозрительное отношение к разработчикам: они часто беззаботно что-то ломают и потом исчезают, оставляя прибирать бардак моему отделу.
Если и есть что-то более опасное, чем разработчик, так это разработчик, сговорившийся со службой безопасности. Если эти двое работают вместе, вот тебе и средства, и мотивы, и возможности. Скорее всего, наш руководитель по информационной безопасности заставил начальника разработчиков сделать что-то, и все это привело к тому, что разработчик сделал нечто совсем другое, в результате чего полетела система расчета зарплаты.
Служба информационной безопасности постоянно забрасывает своими суперсрочными запретами всех подряд вне зависимости от последствий для всей остальной организации, поэтому мы не особо любим приглашать их на общие встречи. Лучший способ убедиться в том, что они ничего не наворотят, – находиться с ними в одной комнате.
Они постоянно находят миллионы причин, почему, что бы мы ни делали, это создаст дыру в системе безопасности, в которую проникнут инопланетные хакеры и ограбят всю компанию и украдут наши коды, интеллектуальную собственность, номера кредитных карточек и фотографии любимых. Конечно, всегда есть потенциальные риски, но часто я просто ничего не могу разобрать в их визгливых, истеричных и лицемерных требованиях и уж тем более исправить каким-то образом безопасность нашей компании.
«Ладно, ребята, – говорю я решительно. – Сбой системы расчеты зарплаты – это вроде места преступления, а мы в таком случае – Скотленд-Ярд. SAN вычеркнут из списка подозреваемых, но, к сожалению, мы ранили его в процессе расследования. Брент, продолжай работать над покалеченным SAN, нам, безусловно, нужно поднять его и запустить.
Вэс и Патти, наши новые подозреваемые – Макс и его менеджер, – говорю я. – Делайте что нужно, чтобы найти их, задержать и выяснить, что они натворили. Мне плевать, что Макс в отпуске. Полагаю, он что-то испортил, и нам обязательно нужно это восстановить к трем часам».
На мгновение я задумываюсь. «Я собираюсь найти Джона. Кто-нибудь хочет ко мне присоединиться?»
Вэс и Патти спорят о том, кто будет помогать допрашивать Джона. Патти с пеной у рта говорит: «Это должна быть я. Я пыталась навести порядок среди людей Джона годами. Они никогда не следуют правилам, и это всегда вызывает проблемы. Я отдам что угодно, лишь бы увидеть, как Стив и Дик выносят ему выговор за то, что он выкинул такое».
Это очень убедительный аргумент, и Вэс говорит: «Ладно, он весь твой. Я уже ему сочувствую».
Внезапно я начинаю жалеть о том, какие выбрал слова. Это не охота на ведьм, и я не жажду возмездия. Нам просто нужно восстановить цепочку событий, которая привела к обвалу системы.
Возвращаясь к неадекватным решениям, вызвавшим падение SAN прошлым вечером, я подумал, что мы больше не должны совершать подобных ошибок. Не в мою смену.
Пока мы с Патти звоним Джону, я кошу глазами на экран телефона Патти, задаваясь вопросом, не пришло ли время последовать совету жены и надеть очки. Еще одна вещь, которую нужно запомнить, не считая сотни других.
Я набираю номер и после первого же гудка слышу: «Джон слушает».
Я быстро рассказываю ему о системе расчета зарплаты, обвале SAN и спрашиваю: «Ты вносил какие-то изменения в хронометрическое приложение вчера?»
Он отвечает: «Да, плохи дела, но уверяю тебя – никаких изменений в твои средние системы мы не вносили. Сожалею, что не смог помочь».
Я вздыхаю. Я думал, что уж сейчас-то Стив или Лора отправили всем сообщение о моем повышении. Похоже, мне просто суждено рассказывать о моей новой роли в каждом разговоре.
Я раздумываю над тем, а не проще ли разослать это уведомление самому.
Я коротко пересказываю историю моего повышения снова. «Вэс, Патти и я узнали, что вы с Максом работали над каким-то срочным проектом вчера вечером. Что это было?»
«Люк и Дэймон ушли? – удивляется Джон. – Никогда не думал, что Стив и вправду может уволить их обоих. Ну, кто знает? Может быть, что-то наконец начинает меняться здесь. Пусть это будет для тебя уроком, Билл. Твои люди больше не должны тянуть с проблемами безопасности! Позволь дружеский совет… Подозреваю, это все происки конкурентов, – продолжает он. – Как говорится, один раз – совпадение. Дважды – случайность. В третий раз – вражеские проделки. Возможно, произошла утечка информации с почты сотрудников отдела продаж. Это объяснило бы, почему мы теряем так много сделок».
Джон продолжает говорить, но я задумался над его предположением, что Люк и Дэймон, возможно, были уволены из-за каких-то вопросов безопасности. Это возможно – Джон ежедневно имеет дело с разными довольно влиятельными людьми вроде Стива и другими членами правления, с внутренними и внешними аудиторами. Однако я абсолютно уверен, что Стив не упоминал Джона и систему информационной безопасности как причину их увольнения – только то, что всем необходимо сфокусироваться на «Фениксе».
Я вопросительно смотрю на Патти. Она закатывает глаза и крутит пальцем у виска. Она, конечно, считает теорию Джона безумной.
«Стив поделился с тобой соображениями о новой структуре организации?» – спрашиваю я из искреннего любопытства. Джон всегда жалуется, что отдел информационной безопасности находится в слишком низком приоритете. Он всегда говорит, что он должен стать кем-то вроде директора по информационным технологиям, аргументируя это тем, что так пропадет конфликт интересов. Насколько я знаю, своего он не добился.
Ни для кого не было секретом, что Люк и Дэймон старались максимально оттеснить Джона в сторону, чтобы он как можно меньше контактировал с теми, кто делал реальную работу. Но Джон все равно приходил на встречи, несмотря на все их усилия.
«Что? Я понятия не имею, что происходит, – говорит он оскорбленно, мой вопрос, похоже, задел его за живое. – Меня как обычно ни во что не посвятили. Я всегда все узнаю последним. До того, как ты сказал мне, я считал, что все еще подчиняюсь Люку. А теперь он ушел, и я вообще не знаю, кто главный. Стив звонил тебе?»
«О, ну что ты, меня так же ни во что не посвящают, как и тебя, – отвечаю я, строя дурачка. Спеша поменять тему, я спрашиваю, – Что ты можешь сказать насчет изменений в хроноприложении?»
«Я позвоню Стиву и выясню, что происходит. Он, похоже, вообще забыл, что существует отдел информационной безопасности», – продолжает он, заставляя меня задуматься о том, сможем ли мы вообще когда-нибудь поговорить о настоящей проблеме. К моему облегчению, в конце концов, он говорит, – Ах, да, ты спрашивал меня о Максе. Мы столкнулись со срочной аудиторской проблемой в области личной информации сотрудников, конкретнее – с информацией о социальном страховании, днях рождения и т. д. Законодательство ЕС, а теперь уже и многих американских штатов запрещает нам хранить такого рода данные. По этому поводу были большие разборки с аудиторами. Как всегда, только я мог спасти эту компанию от нее самой и предотвратить новый провал. Это попало бы на все первые полосы, ты знаешь? – он продолжает. – Мы нашли программу, которая позволяет нам больше не хранить эти данные. Это нужно было сделать уже год назад, но, несмотря на все мое беспокойство, никто ничего не сделал. Теперь у нас просто нет времени. Аудиторы от индустрии платежных карт (PCI) в этом месяце чуть задержались, поэтому я ускорил работу с командой, занимающейся хронометрическими приложениями».
Я смотрю на свой телефон, у меня нет слов.
С одной стороны, я очень рад, потому что мы обнаружили дымящийся ствол в руке у Джона. То, что Джон говорил о графе с личными данными, совпадает с описанием поврежденных данных от Энн.
С другой стороны: «Так, если я правильно понял… – говорю я медленно. – Ты запустил это приложение, чтобы исправить ошибки, обнаруженные аудиторами, и это привело к сбою системы расчета зарплаты, из-за которого Дик и Стив сейчас на стены лезут?»
Джон быстро отвечает: «Во-первых, я практически уверен, что не мое приложение вызвало этот сбой. Это необъяснимо. Производитель уверял нас, что оно абсолютно безопасно, и мы его сами проверяли. Во-вторых, у Дика и Стива действительно есть причины, чтобы «лезть на стены», – обязательства необходимо выполнять. Это закон. Моя работа состоит в том, чтобы держать их подальше от оранжевых костюмов, и поэтому я сделал то, что сделал».
«Оранжевых костюмов?»
«Это те, которые носят в тюрьме, – отвечает он. – Моя задача – сделать так, чтобы руководство действовало в согласии со всеми законами, регламентами и контрактными обязательствами. Люк и Дэймон были совершенно безумны. Они действовали в обход всех правил. Если бы не я, скорее всего, прямо сейчас все мы были бы уже в тюрьме».
Я думал, мы разговариваем о случившемся сбое, а не о том, как воображаемая полиция запирает нас в камерах.
«Джон, есть определенные процессы и процедуры, которым нужно следовать, если ты хочешь вносить в наши системы изменения, – говорит Патти. – Ты их обошел и снова устроил проблему, которую разруливать должны мы. Почему ты не придерживаешься регламента?»
«О! Неплохо, Патти, – фыркает Джон. – Я как раз придерживался. Знаешь, что мне сказали твои люди? Что следующее свободное окно – через четыре месяца. Алло! Аудиторы будут здесь уже на следующей неделе! – Он говорит жестко, – Завязнуть в твоих бюрократических штучках – не вариант. Если бы ты была на моем месте, то поступила бы так же».
Патти краснеет. Я спокойно говорю: «По словам Дика, у нас меньше четырех часов на то, чтобы восстановить хронометрическое приложение. Теперь, когда мы узнали, что были произведены изменения, касающиеся персональных данных, мы получили что хотели. – Я продолжаю: – Макс, который работал над этим проектом, сегодня уже в отпуске. Вэс или Брент свяжутся с тобой, чтобы выяснить все подробности о той программе, которую ты пытался установить. Уверен, ты поможешь им всем чем сможешь. Это важно».
Когда Джон соглашается, я благодарю его за потраченное время. «Подожди, еще один вопрос. Почему ты так уверен, что не твой продукт вызвал обвал? Ты тестировал планируемые изменения?»
На другом конце провода повисает короткая пауза, после чего Джон отвечает: «Нет, у нас не было такой возможности. Нет подходящей среды для тестирования. Вы, ребята, видимо, запрашивали под это бюджет когда-то, но…»
Я должен был знать.
«Ну что же, это хорошие новости, – говорит Патти, когда Джон кладет трубку. – Это будет не просто починить, но, по крайней мере, мы хотя бы знаем, что случилось».
«Джон внес планируемые изменения в график изменений?» – спрашиваю я.
Она невесело смеется. «Именно это я и пыталась тебе сказать. Джон редко пользуется установленными процедурами. Так же как и большая часть всех остальных, кстати говоря. Мы здесь вроде как на Диком Западе. По большей части мы здесь все стреляем до того, как думаем».
Она говорит, пытаясь защититься: «Нам нужно здесь больше порядка и больше поддержки от руководства. Все думают, что лучший способ сделать что-то – это просто взять и сделать. Это делает мою работу практически невозможной».
В моей старой группе мы всегда очень дисциплинированно подходили к вопросу внесения изменений. Никто ничего не делал, не предупредив всех остальных, к тому же мы сто раз все перепроверяли, чтобы убедиться, что изменения не повредят всем остальным группам. Я не привык действовать вслепую.
«У нас просто нет времени, чтобы допрашивать всех подряд, если что-то пошло не так, – говорю я раздраженно. – Составь мне список всех изменений, которые были сделаны за последние три дня. Без подробного расписания мы никогда не сможем установить причину и следствие и, скорее всего, просто умрем, пытаясь разобраться с очередным сбоем».
«Хорошая идея, – кивает она. – Если нужно, я всему IT-отделу разошлю письмо, чтобы выяснить, что они делали, и попытаюсь отследить, что не было внесено в систему».
«Что ты имеешь в виду под «разошлю письмо»? Нет общей системы, куда все могут внести планирующиеся изменения? Как насчет нашей системы отслеживания ошибок или системы разрешений на изменения?» – спрашиваю я, оторопев. Это как если бы Скотленд-Ярд разослал письма по всему Лондону, чтобы выяснить, кто находился рядом с местом преступления.
«Мечтай, – говорит она, глядя на меня как на новичка, которым я, кстати, и являюсь. – Годами я пыталась заставить людей пользоваться нашими инструментами регулирования процесса внесения изменений. Но, как и Джон, никто не пользуется ими. То же с нашей системой отслеживания ошибок. Все идет как попало».
Все гораздо хуже, чем я думал.
«Ладно, делай что должна, – говорю я, в конце концов, не в силах скрыть разочарование. – Убедись, что достучалась до всех разработчиков, поддерживающих хронометрическую систему, а также до админов и сетевых сотрудников. Позвони их руководителям и скажи, что очень важно, чтобы мы знали обо всех изменениях, вне зависимости от того, насколько важными они кажутся им. И не забудь про людей Джона».
После того как Патти кивает, я говорю: «Слушай, ты менеджер изменений. Нужно как-то лучше справляться с этими процессами. Мы должны быть лучше осведомлены о ситуации, а это значит, что нам нужен какой-то нормально функционирующий процесс контроля изменений. Заставь каждого записать свои изменения, чтобы мы могли собрать полную картинку того, что на самом деле здесь происходит».
К моему удивлению, Патти выглядит очень удрученной. «Слушай, я уже пробовала это раньше. И знаешь, что случилось? Наш совет по изменениям, наш CAB, собрался один или два раза. И уже через пару недель люди просто перестали приходить, говоря, что они слишком заняты. Или же они просто проводили изменения, не дожидаясь разрешений из-за горящих сроков. В любом случае, все загнется уже через месяц».
«Не в этот раз, – говорю я жестко. – Разошли приглашения на встречу всем руководителям техотдела и скажи, что их присутствие не обсуждается. Если они сами не могут прийти, пусть пришлют кого-то вместо себя. Когда у нас следующее собрание?»
«Завтра», – отвечает она.
«Превосходно, – говорю я с искренним энтузиазмом. – Жду не дождусь».
Когда я наконец-таки добираюсь до дома, уже далеко за полночь. После долгого дня, полного разочарований, я истощен. Шарики валяются на полу и наполовину опустошенная бутылка вина стоит на столе. На стене висит рисованный плакат с надписью «С днем рождения, папочка!».
Когда я днем звонил своей жене, Пэйдж, и рассказывал о своем повышении, она была гораздо более счастлива, чем я. Она настаивала на том, что мы должны пригласить соседей и устроить небольшую вечеринку. Я пропустил свой собственный праздник, вернувшись так поздно.
К двум часам дня Патти собрала-таки все двадцать семь изменений, осуществленных за последние три дня, и только работа Джона и обновление SAN могли быть причиной сбоя в работе системы расчета зарплаты. Но Вэс и его команда по-прежнему не могли восстановить работу SAN. В три часа мне пришлось рассказать Энн и Дику плохие новости и предупредить их, что теперь нам остается только использовать план Б. Их разочарование и расстройство были слишком очевидны.
Только к семи часам удалось восстановить хронометрическое приложение, и лишь к одиннадцати снова запустили SAN.
Не самые лучшие результаты для первого дня в качестве вице-президента отдела IT-сопровождения. Прежде чем я ушел с работы, я написал Стиву, Дику и Энн короткий отчет, обещая приложить все усилия в будущем, чтобы предотвратить такого рода сбои.
Я поднимаюсь наверх, чищу зубы и проверяю телефон последний раз, перед тем как лечь в постель, стараясь не разбудить Пейдж. Я все проклинаю, когда вижу на почте письмо от PR-менеджера компании в теме письма «Плохие новости. Завтра мы будем на первых полосах…».
Я сажусь в постели и, прищурившись, читаю новостную статью:
Elkhart Grove Herald Times
Parts Unlimited ошибается в платежных чеках, лидер местного профсоюза называет такую ошибку «необдуманной».
Производитель автомобильных частей, компания Parts Unlimited, не смогла верно выплатить зарплату своим сотрудникам – некоторые работники не получили ничего, согласно внутреннему источнику из компании. Согласно нашим данным, некоторые сотрудники с почасовой заработной платой не получили ничего за свою работу. Parts Unlimited отрицает, что проблема связана с тяжелым финансовым положением компании, и ссылается на проблему в системе расчета заработной платы.
Когда-то самая топовая компания с 4-миллиардным оборотом в последних кварталах терпит убытки. Эти финансовые проблемы, в которых многие обвиняют высшее руководство, привели к растущей небезопасности для работников, которые не могут содержать свои семьи.
Согласно нашему источнику, что бы ни вызвало сбой в системе выплаты зарплаты, сотрудникам придется подождать несколько дней или недель, чтобы получить компенсацию.
«Это лишь одна капля в море ошибок исполнительного руководства, совершенных за последние годы», – говорит аналитик Келли Лоуренс.
Финансовый директор компании, Дик Лондри, на звонки из Herald Times не ответил.
Согласно утверждениям представителей Parts Unlimited, Лондри выражает сожаления о произошедшей ошибке и клянется, что такое больше не повторится.
Herald Times обещает и дальше освещать эту историю.
Слишком измученный, чтобы сделать что-то еще, я выключаю свет, мысленно делая себе пометку принести завтра личные извинения Дику. Я закрываю глаза и стараюсь заснуть.
Часом позже я все еще смотрю на телефон, более чем проснувшийся.