`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

DevOps вам в помощь

+33
голоса

Не нужно морщить лоб. DevOps (от development и operations) ─ это всего-навсего набор практик, нацеленных на активное взаимодействие и интеграцию специалистов по разработке и специалистов по информационно-технологическому обслуживанию. И все.

DevOps вам в помощь

Так определяется DevOps в русскоязычной Википедии. Что еще нужно знать? На конференции «Agile 2008» Эндрю Шафер (Andrew Clay Shafer) и Патрик Дюбуа (Patrick Debois) обсуждали некую «проворную инфраструктуру» (Agile Infrastructure). Затем в данном контексте термин «DevOps» стал популярным в серии «DevOpsDays», которые впервые прошли в Бельгии в 2009 г., а затем во многих странах по всему миру.

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

Почему DevOps?

IT постоянно находятся в состоянии быстрой трансформации. Последние несколько лет традиционные локальные (on-premises) датацентры перемещаются от хостинга «силосных» (siloed) приложений типа клиент-сервер с часто недогруженными аппаратными средствами к облачным приложениям с виртуализированной инфраструктурой ─ будь то решение on-premise, публичное облако или гибридная комбинация обоих.

Ключевые атрибуты «родных» облачных приложений (cloud-native) включают широкое использование микросервисов (небольшие части независимо разворачиваемой функциональности), эффективную упаковку и развертывание в контейнерах, а также коммуникацию через API.

Главная причина таких изменений ─ потребность в скорости. Именно поэтому компании сейчас активно принимают стратегии цифрового преобразования (Digital Transformation, DT), чтобы улучшить свои позиции на соответствующих рынках, ─ или просто остаться конкурентоспособными. Это, в свою очередь, и привело к новой практике комбинированной разработки приложений и поставки IT, которая получила название DevOps.

Камал Ананд (Kamal Anand), вице-президент подразделения облачного бизнеса компании A10 Networks, хорошо обрисовал в общих чертах положения, лежащие в основе этих тенденций.

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

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

Методология DevOps подразумевает прежде всего цифровое преобразование, но скорее как инструмент его реализации, а не определение требований. DevOps позволяет быть практически более проворными, и быстрее реагировать на состояние рынка».

Корни DevOps

DevOps вам в помощь

DevOps является IT-ориентированным приложением идей, сформулированных американским статистиком, инженером и менеджмент-консультантом Эдвардсом Демингом (W. Edwards Deming).

Деминг работал в области теории производства продуктов и управления бизнесом. В итоге он сформулировал 14 ключевых принципов, которые, в частности, легли в основу Total Quality Management (TQM). Принципы Деминга хорошо показали себя в послевоенном восстановлении экономики Японии, а три из них, приведенных ниже, особенно хорошо соответствуют философии DevOps.

  • Чтобы достичь высокого качества, следует отказаться от инспектирования. Нужно прекратить тотальную проверку, встраивая качество непосредственно в продукт.

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

  • Следует сломать барьеры между подразделениями. Люди в исследованиях, конструировании, продажах и производстве должны работать единой командой, чтобы предвидеть проблемы в производстве и использовании, ─ во всем, где можно столкнуться с продуктом или сервисом.

Ключевыми свойствами DevOps являются непрерывная поставка компонентов ПО (таких, как микросервисы) и, соответственно, их непрерывная интеграция в производственные системы. Улучшить работу IT командам разработчиков также помогают определенные факторы корпоративной культуры, ─ такие, как внедрение практики «скудного управления» (Lean Management).

Очень часто термины «Agile» и «DevOps» используются почти синонимично. Это не совсем так и может вводить в заблуждение. Действительно, эти понятия относятся к одним и тем же целям улучшения работы IT за счет быстрой, итеративной разработки на основе небольших компонентов ПО.

Однако, DevOps, по сравнению с Agile Software Development, влияет на фазу развертывания, т.е., обеспечивает постоянную коммуникацию людей из команды «Ops» с их коллегами из команды разработчиков «Dev». Но, безусловно, DevOps, так или иначе, является преемником или производным принципов Agile.

Ниже приведены некоторые сведения о том, насколько распространен этот подход, ─ который, исходя из изложенного выше, кажется очень привлекательным для предприятий и организаций?

Что говорят обзоры

DevOps вам в помощь

Ежегодный опрос «State of the Cloud» компании RightScale отслеживает принятие DevOps уже в течение последних пяти лет, и показал рост с 54% в 2013 до 78% в 2017 гг. Темпы принятия стабильно выше на крупных и средних предприятиях, чем в SMB.

Данные RightScale также показывают большой скачок в принятии DevOps во всех подразделениях предприятия, ─ от 21% в 2016 до 30% в 2017 гг. С другой стороны, последний опрос «State of Application Delivery», проведенный компанией F5 Networks, нашел, что только 20% респондентов рассматривают DevOps как методологию, имеющую стратегическое значение.

Представление сотрудников о стратегическом значении DevOps сильно зависит от их роли в компании. Показательно, что в 2017 г. только 17% руководящих сотрудников расценили его как «важное», ─ по сравнению с 39% тех, кто по своим должностным обязанностям связан с DevOps или облачными технологиями.

Кроме того, обзор F5 Networks 2017 показал в основном тактическую точку зрения на DevOps, когда автоматизация и оркестрация используются прежде всего для потребностей масштабируемости и сокращения оперативных расходов, хотя истинная цель DevOps состоит в достижении большей подвижности и гибкости предприятия на рынке.

Недавний обзор разработчика ПО для «облачных песочниц», компании Quali, идентифицировал наибольшие десять барьеров, препятствующих внедрению DevOps на предприятиях.

В начале списка ─ культурные факторы, нехватка средств автоматизированного тестирования и интеграция наследуемых приложений on-premise в гибридную облачную среду. Вот что сказал СМО Quali Шаши Киран (Shashi Kiran) об этих трех наибольших барьерах, которые призвана устранить или снизить DevOps.

DevOps вам в помощь

«Барьер номер один для DevOps ─ культура. Это не должно удивлять, потому что DevOps не является просто набором инструментов» ─ Шаши Киран (Shashi Kiran)

Культура обычно труднее всего поддается изменениям, и чрезвычайно трудно при этом сделать так, чтобы все остались довольны. Это ─ постепенное изменение, которое проявляется в приращениях, и до некоторой степени она должна быть навязана сверху.

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

Интеграция наследуемых IT. Проблема в том, что, когда дело доходит до DevOps, приходится иметь дело с уже сделанными инвестициями в наследуемые системы предприятия. Эта сложность заставляет использовать новые подходы, где приложения работают в облаке, или архитектура перепроектирована на основе микросервисов.

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

Практика DevOps

Аналитическая компания Puppet выпускает ежегодный отчет «State of DevOps Report» с 2013 г. Обзоры Puppet приводят статистические данные относительно DevOps, используя методику DORA (DevOps Research and Assessment). Последний отчет можно скачать здесь.

DevOps вам в помощь

Автоматизация развертывания и поддержки работы инфраструктуры лидируют в списке практического использования DevOps, ─ как наиболее понятные для IT персонала и руководства направления.

Обзоры показали, что уровень принятия методов DevOps коррелирует с показателями функционирования IT на предприятии (частота развертывания, время выполнения, время восстановления после отказа, интенсивность отказов и др.). В свою очередь, IT показатели коррелируют с бизнес-метриками (доходностью, долей на рынке, производительностью и др.).

Ключевые результаты последнего обзора показали, что лучшие организации, принявшие DevOps, по сравнению с остальными «переразвертываются» в 200 раз чаще и в 2,5 раза быстрее, а также в 24 раза быстрее восстанавливаются после отказов и имеют втрое меньшую интенсивность отказов.

У них также выше лояльность сотрудников, на 22% меньше времени тратится на незапланированные работы и переделки, на 50% меньше времени ─ на решение вопросов безопасности и отмечается существенное снижение издержек от стимулируемой DevOps технологической трансформации.

Инструментальное обеспечение DevOps

DevOps вам в помощь

Бесконечная «петля Мебиуса» DevOps и ее инструментальная поддержка (Dev ─ слева, Ops ─ справа) в исполнении учебного ресурса Edureka.

Как видно, в DevOps используются многие инструменты (большая часть из них доступны как open source), относящихся к одной или более стадиям цикла.

DevOps вам в помощь

CollabNet DevOps Lifecycle Manager

Было бы странно, если бы кто-то не попытался устранить неудобства, связанные с разрастанием цепи инструментов. Компания CollabNet недавно представила свой DevOps Lifecycle Manager. Он объединяет многие несовместимые продукты, обеспечивая «единственное окно», дающее представление о всей разработке ПО и процессе развертывания.

DevOps вам в помощь

Если говорить о перспективном росте популярности инструментальных средств поддержки DevOps, то безусловное преимущество здесь за Docker-технологиями.

В наибольшей степени выросла популярность инструментальных средств контейнерной оркестрации, таких, как Kubernetes, Salt, Docker Swarm и Mesosphere. Однако RightScale в этом опросе не спрашивала о средствах непрерывной интеграции (continuous integration tools), таких как Jenkins, Travis CI и др.

DevOps вам в помощь

Средства непрерывной интеграции DevOps. Эти данные приведены в отчете Quali, которая поместила Jenkins на первую позицию по популярности. Далее следуют Docker, Puppet, Chef и Ansible.

Заключение

Методология DevOps начала свою жизнь в мире «производства точно в срок» (just-in-time manufacturing). На первых порах по понятным причинам она применялась в организациях, не обремененных наследуемой IT архитектурой, и в стартапах, ─ то, что называют «greenfield project». Сегодня начинается ее нашествие на существующие предприятия (brownfield), требующие серьезного реинжиниринга.

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

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

DevOps вам в помощь

Возможно, некоторых при прочтении этой статьи не покидало ощущение, что они уже где-то видели подобное... Не в ITIL ли? Ну... это, пожалуй, тема для отдельного разговора.

+33
голоса

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT