Проект «Феникс». Роман о том, как DevOps меняет би - Страница 107


К оглавлению

107

Я знаю, что верить в стереотипы о профессии нехорошо. Я знаю, что команде нужны самые разнообразные навыки, если мы хотим добиться успеха. Вопрос в том, как все устроить, чтобы мы могли все вместе работать ради общей цели. Первая сложность – придумать название проекту оперативной команды. Мы не могли называть его «Мини-«Феникс», поэтому в итоге потратили час, обсуждая разные имена.

Мои ребята хотели назвать его «Куджо» или «Кинжал». Но разработчики настаивали на «Единороге».

Единорог? Который с радугами и заботливыми мишками?

Но вопреки всем моим ожиданиям, «Единорог» победил в голосовании.

Разработчики. Никогда их не пойму.

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

Было удивительно наблюдать, как команда борется с трудностями. Первой из задач стал анализ сведений о покупках наших клиентов, он оказался первым кирпичиком. Даже простое касание баз данных продукции означало ссылки на их хранилища, а любое изменение в них требовало получения одобрения у их архитекторов.

Несмотря на то что вся компания в это время уже могла вылететь из бизнеса, разработчики и Брент решили создать абсолютно новую базу данных, используя доступные инструменты, в которую данные копировались бы не только из «Феникса», но и из системы ввода заказов и из систем контроля учета.

Поступив таким образом, мы смогли бы развивать, тестировать и даже запускать операции, не задевая «Феникса» или другие критические для бизнеса приложения. А отгородившись от других проектов, мы были способны осуществлять любые изменения, не ставя их под удар. В то же время процессы, частью которых мы не являлись, не могли задеть наши проекты.

Я всем сердцем болею за применение такого подхода. Однако небольшая часть меня задается вопросом, как долго мы сможем справляться с неизбежным разрастанием, если каждый проект будет создавать по своей прихоти собственную базу данных. Я напоминаю себе о необходимости убедиться, что мы стандартизируем те типы баз данных, которые применяем в работе, дабы быть уверенными в том, что у нас есть все необходимое для их поддержки в долгосрочной перспективе.

Тем временем Брент работал с командой Уильяма над созданием процедур построения и автоматизации механизмов, которые могли бы одновременно создавать рабочие среды, а также среды для разработки и тестирования. Мы были поражены тем, что в течение трех недель работы, возможно, впервые на нашей памяти, все разработчики использовали одни и те же операционные системы, версии библиотек, базы данных, настройки баз данных и так далее.

«Просто невероятно, – сказал один из разработчиков на одной из ретроспективных встреч. – В случае с «Фениксом» требовалось три или четыре недели, чтобы все необходимое заработало на машинах новых в проекте людей, потому что у нас никогда не было полного списка всего, что нужно установить. А теперь все, что нам нужно сделать, – это проверить виртуальную машину, которую создали Брент и команда, и все – ты готов к работе».

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

Автоматизированные развертывания кода все еще не работали, то же и с перемещением кода между средами, но команда Уильяма достаточно много занималась этими возможностями, и мы пребывали в уверенности, что скоро и они будут запущены.

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

Из-за столь быстрого прогресса мы решили сократить наши короткие плановые периоды до двух недель. Таким образом мы смогли чаще обсуждать наши дела и принимать различные решения.

«Феникс» продолжает следовать плану, написанному три года назад. Я стараюсь не думать о том, что это уже слишком.

Кажется, что наш прогресс растет экспоненциально. Мы планируем и реализуем решения быстрее, чем когда-либо, и разрыв в скорости между «Единорогом» и «Фениксом» становится все больше. Команды, занятые «Фениксом», берут наши новые методы на заметку и используют их, что даже там позволяет получить результаты, которые, как мы полагали, невозможны.

«Единорога», похоже, уже не остановить, и он живет своей жизнью. Сомневаюсь, что мы смогли бы прервать работу всех этих людей и вернуть их на старый путь, даже если бы захотели.


Я сижу на встрече по бюджету. Звонит Вэс: «У нас большая проблема».

Выходя из комнаты, я говорю: «В чем дело?»

«Последние два дня никто не может найти Брента. Не знаешь, где он может быть?» – спрашивает он.

«Нет, – отвечаю. – Подожди, что значит вы не можете его найти? Он в порядке? Вы звонили ему на мобильный, так ведь?»

Вэс и не пытается скрыть раздражения. «Ну, конечно, я звонил ему на мобильный! Я оставляю ему сообщения на голосовой почте каждый час. Все пытаются его разыскать. У нас работы немерено, а члены его команды начали – черт, это Брент звонит… Не вешай трубку…»

107