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

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

Многие полагают, что devops-практики могут применяться только в новых проектах, выполняемых в небольших стартапах, и непригодны в крупных компаниях или наследственных системах, которым присущи технические и культурные долги. Тем не менее в отчете 2015 State of DevOps Report (отчет о состоянии devops за 2015 год), подготовленном компанией Puppet Labs, утверждается, что это далеко не так (https://puppet.com/resources/white-paper/2015-state-devops-report).

Высокая производительность достигается за счет контролируемости и развертываемости.

Исследователи, подготовившие этот отчет, обнаружили, что культурные принципы devops могут применяться в любых организациях, независимо от их размеров. Кроме того, такие технические принципы, как процесс непрерывной доставки и улучшенного развертывания, применимы для любого хорошо разработанного и спроектированного проекта по разработке ПО, включая унаследованный программный код, который выполняется на мэйнфреймах. Абсолютно новый проект, основанный на использовании микросервисов, не может быть успешным по причине своей новизны и тех же микросервисов. Он должен быть тщательно спроектированным, проверяемым и легко развертываемым. Эти принципы применяются по отношению ко всем программным проектам, как старым, так и новым.


Стратегическое расширение или сокращение организаций с помощью devops

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

• расширение клиентской базы;

• увеличение прибыли;

• расширение проекта или команды с целью достижения соответствия определенным требованиям;

• поддержка или улучшение соотношения количества сотрудников и систем либо денежных затрат;

• более быстрый рост по сравнению с конкурентами.

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