Философия DevOps. Искусство управления IT (Дэниелс, Дэвис) - страница 203

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

Согласно объяснению, приведенному Кромхаут,

при выборе между своим собственным сервисом и SaaS[49] оцениваются соответствующие расходы и преимущества, включая затраты, связанные с выполнением дополнительных работ (как затраты времени персонала, так и финансовые).

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

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

Как отмечает Кромхаут:

Создание рабочей инфраструктуры, определенной кодом, очень важно, поскольку мы стремимся все заменять в оперативном режиме, не отключая сайт на проведение профилактических работ. Рассматриваемый код может обрабатываться с помощью файла JSON, определяющего конфигурацию сервисов AWS, или «поваренных книг» Chef, или же с помощью Python (посредством Boto и Fabric). Мы отправляем запросы на включение подобного кода, который будет просмотрен и протестирован нашими коллегами перед выполнением слияния и развертывания. Критерий успеха в данном случае – создание рабочего кода. Это позволило нам отказаться от GitHub и наладить рабочий поток в стиле Канбан.

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

• Кто несет ответственность за принятие решений по выбору инструмента?

• Какие критерии используются для выбора инструмента, его оценки и опыта использования?

• Что является главным при выборе инструмента с точки зрения разработчика и заказчика?

Многие люди избегают пользоваться технологиями. Особенно это относится к новым технологиям, таким как Docker, которая имела статус новой во времена развертывания производственной инфраструктуры DramaFever. Также существует категория людей, для которых Docker вообще лишен всякого смысла. Цель этого примера заключается не в том, чтобы обсудить технологию Docker, а в том, чтобы выявить причины, в силу которых инженеры выбирают эту программу, изучить соображения, которыми они руководствуются, и компромиссы, а также познакомиться со способами принятия окончательных решений в пользу выбора того или иного инструмента.