DevOps
DevOps ( англ . аббревиатура от development — разработка — и Operations — операции —) — это набор практик, объединяющих разработку программного обеспечения ( Dev ) и ИТ-эксплуатацию ( Ops ). Его цель — ускорить жизненный цикл разработки программного обеспечения и обеспечить непрерывную высококачественную доставку. DevOps — это дополнительная практика гибкой разработки программного обеспечения; Это связано с тем, что многие функции DevOps основаны на методологии Agile.
Основной характеристикой движения DevOps является активная поддержка автоматизации и мониторинга на всех этапах создания программного обеспечения, от интеграции , тестирования, развертывания до развертывания и управления инфраструктурой . DevOps стремится к более коротким циклам разработки, более высокой частоте развертывания, более эффективным выпускам в тесном соответствии с бизнес-целями. [ 1 ] [ 2 ] [ 3 ] [ 4 ]
Определения и история
На конференции Agile 2008 в Торонто Йенс Васна и Патрик Дебуа представили этот термин в своем выступлении на тему «Гибкая инфраструктура». [ 5 ] Начиная с 2009 года, термин DevOps постоянно продвигался и входил в более широкое употребление благодаря серии «devopsdays», [ 6 ] которые начались в Бельгии , а теперь распространились на Европу и другие страны. [ 7 ]
Термин DevOps использовался во многих различных контекстах. [ 8 ]
Определение, предложенное Бассом, Вебером и Чжу, таково:
DevOps — это набор методов, предназначенных для сокращения времени между фиксацией изменения в приложении и внедрением изменения в обычное производство, при этом обеспечивая высокое качество. [ 9 ]
В течение следующего десятилетия также развивались более косвенные инициативы DevOps, такие как OpsDev, [ 10 ] WinOps, [ 11 ] и BizDevOps. [ 12 ]
Инструменты DevOps
Поскольку DevOps предназначен для межфункционального способа работы, вместо одного инструмента DevOps существуют наборы (или « цепочки инструментов ») из нескольких инструментов. [ 13 ] Ожидается, что такие инструменты DevOps будут соответствовать одной или нескольким из следующих категорий, отражающих ключевые аспекты процесса разработки и поставки: [ 14 ] [ 15 ]
- Код: разработка и проверка кода, инструменты управления исходным кодом, слияние кода.
- Сборка: инструменты непрерывной интеграции , статус сборки
- Тестирование — инструменты постоянного тестирования, обеспечивающие обратную связь по бизнес-рискам.
- Пакет: репозиторий артефактов , распространение перед развертыванием приложения
- Релиз — управление изменениями, утверждение релизов, автоматизация релизов
- Настройка — настройка и управление инфраструктурой, инфраструктура как код
- Монитор: мониторинг производительности приложений, взаимодействие с конечным пользователем
Некоторые категории более важны в цепочке инструментов DevOps, чем другие; особенно непрерывная интеграция (например , Jenkins ) и инфраструктура как код (например, Puppet ). [ 16 ] [ 17 ]
Отношения и другие подходы
Agile
Потребность в DevOps возникла в связи с растущим успехом гибкой разработки программного обеспечения, поскольку это привело к тому, что организации захотели выпускать свое программное обеспечение быстрее и чаще. Поскольку они пытались преодолеть нагрузку, которую это оказывало на их процессы управления выпусками, им приходилось внедрять такие шаблоны, как автоматизация выпуска приложений, инструменты непрерывной интеграции и непрерывная поставка . [ 18 ]
Непрерывная доставка
Непрерывная поставка и DevOps имеют общие цели и часто используются вместе, но есть небольшие различия. [ 19 ] [ 20 ]
В то время как непрерывная поставка сосредоточена на автоматизации процессов доставки программного обеспечения , DevOps также сосредоточена на организационных изменениях, чтобы поддерживать эффективное сотрудничество во многих задействованных функциях. [ 19 ]
DevOps и непрерывная поставка имеют общую основу в гибких методах и легком мышлении: небольшие, частые изменения с целенаправленной ценностью для конечного клиента. [ 21 ]
АрхОпс
ArchOps — это расширение DevOps, которое повышает уровень абстракции за счет приоритета артефактов архитектуры программного обеспечения над исходным кодом для развертывания и эксплуатации программных решений. [ 22 ] ArchOps устанавливает, что архитектурные модели являются первоклассными объектами в рамках разработки, развертывания и эксплуатации программных решений.
DataOps
Приложение непрерывной доставки и DevOps для анализа данных получило название DataOps. DataOps стремится интегрировать разработку данных, интеграцию данных, качество данных, безопасность данных и конфиденциальность данных с операциями. [ 23 ] Применяет принципы DevOps, гибкой разработки и статистического управления процессами, используемые в бережливом производстве, чтобы сократить время цикла извлечения ценности из анализа данных. [ 24 ]
DevSecOps
DevSecOps — это расширение DevOps, позволяющее интегрировать методы обеспечения безопасности в подход DevOps. Традиционная модель централизованной группы безопасности должна принять федеративную модель, которая позволяет каждой группе доставки учитывать правильные элементы управления безопасностью в своих практиках DevOps.
Цели
Цели DevOps охватывают весь процесс поставки. Они включают:
- Повышена частота развертывания;
- Более быстрые выпуски в производство;
- Низкий процент ошибок при генерации новых версий;
- Более короткое время доставки между версиями;
- Более быстрое время развертывания (в случае несоответствий в новой версии).
- Скорость реакции в случае сбоя развернутой версии
Простые процессы становятся все более стандартными и динамичными благодаря подходу DevOps. [ 25 ] DevOps стремится максимизировать предсказуемость, эффективность, безопасность и ремонтопригодность операционных процессов. Очень часто этой цели способствует автоматизация или роботизация процессов.
Интеграция DevOps сосредоточена на доставке продукта, пользовательском тестировании (UAT), непрерывном тестировании, тестировании качества, разработке функций и выпусках обслуживания для повышения надежности и безопасности и ускорения циклов разработки и развертывания. Многие идеи (и люди), вовлеченные в DevOps, исходят из движений управления корпоративными системами и гибкой разработки программного обеспечения. [ 26 ]
Микросервисы
Такой подход позволяет цифровым компаниям обеспечивать высокую доступность и стабильность своих приложений; Это связано с тем, что все части приложений (база данных, серверная часть, клиентская часть и т. д.) независимы, и если одна из них выходит из строя, это не означает, что проблема во всей информационной системе. Вместо этого другие службы будут продолжать работать, пока восстанавливается затронутый компонент. [ 27 ] Создателям DevOps требуются микросервисы для оптимизации их разработок и отказа от монолитных архитектур, поскольку архитектура сервисов становится модульной и сегментированной, чтобы минимизировать риски и улучшить способ развертывания приложений и их компонентов, интеграцию с различными уровнями.
Смотрите также
Ссылки
- ↑ Лукидес , Майк (7 июня 2012 г.). «Что такое DevOps?» . O'Reilly Radar (на английском языке США) . Проверено 2 ноября 2017 г. .
- Викискладе есть медиафайлы по теме DevOps . www.somic.org (на английском языке США) . Проверено 2 ноября 2017 г. .
- ^ «Культура DevOps (Часть 1) — ИТ-революция» . ИТ-революция (на английском языке США) . 1 мая 2012 г. . Проверено 2 ноября 2017 г. .
- ^ «DevOps, сочетающий разработку, эксплуатацию, agile, облако, открытый исходный код и бизнес — 451 Теория CAOS» . блоги.the451group.com . Архивировано из оригинала 14 сентября 2015 года . Проверено 2 ноября 2017 г. .
- ↑ Дебуа, Патрик. «Agile 2008 Торонто: Презентация Agile Infrastructure and Operations» . www.jedi.be. _ Проверено 3 ноября 2017 г. .
- ^ "Devopsdays Гент 2009" . www.devopsdays.org . Проверено 3 ноября 2017 г. .
- Викискладе есть медиафайлы по теме DevOpsDays . www.devopsdays.org (на английском языке США) . Проверено 3 ноября 2017 г. .
- ↑ «Сюрприз! Широкое соглашение по определению DevOps — DevOps.com» . DevOps.com (на английском языке США) . 13 мая 2015 г. . Проверено 3 ноября 2017 г. .
- ↑ Неверные «Книжные источники» с самоотсылкой ( справка ) . Википедия (на английском языке) . Проверено 3 ноября 2017 г. .
|url= - ↑ «DevOps также должен означать OpsDev — DevOps.com» . DevOps.com (на английском языке США) . 27 октября 2015 г. . Проверено 3 ноября 2017 г. .
- ↑ Вайнбергер, Мэтт. «Исследование Microsoft показывает, что все хотят DevOps, но культура — это вызов» . Компьютерный мир (на английском языке) . Проверено 3 ноября 2017 г. .
- ^ «Почему DevOps не работает для корпоративных приложений — DZone DevOps» . dzone.com (на английском языке) . Проверено 3 ноября 2017 г. .
- ↑ Gartner Market Trends: DevOps — не рынок, а инструментально-ориентированная философия, поддерживающая цепочку создания ценности с непрерывной доставкой (отчет). Гартнер. 18 февраля 2015 г.
- ↑ Dev2ops. «Интеграция инструментов DevOps в платформу предоставления услуг (ВИДЕО) — dev2ops» . dev2ops (на английском языке США) . Архивировано из оригинала 8 февраля 2014 года . Проверено 3 ноября 2017 г. .
- ^ «Изучение ВСЕЙ цепочки инструментов DevOps для (облачных) команд» . Информация . Проверено 3 ноября 2017 г. .
- ↑ «Стек DevOps с ограниченным бюджетом — DevOps.com» . DevOps.com (на английском языке США) . 5 февраля 2016 года. Архивировано из оригинала 27 мая 2016 года . Проверено 3 ноября 2017 г. .
- ↑ «Более сильная культура DevOps с Puppet и Vagrant» (неопр .) . Кукольный (на английском языке) . Архивировано из оригинала 29 января 2016 года . Проверено 3 ноября 2017 г. .
- ↑ Best Practices in Change, Configuration and Release Management (отчет). Гартнер. 14 июля 2010 г.
- ↑ a b Неверные «Книжные источники» со ссылкой на себя ( помощь ) . Википедия (на английском языке) . Проверено 3 ноября 2017 г. .
|url= - ↑ «Взаимосвязь между Dev-Ops и непрерывной доставкой: беседа с Джезом Хамблом из ThoughtWorks» . Форрестер (на американском английском) . 9 сентября 2011 г. . Проверено 3 ноября 2017 г. .
- ↑ «Сейчас нам нужны более гибкие ИТ!» . Доктор Добб . Проверено 3 ноября 2017 г. .
- ↑ Кастельянос, Камило; Корреаль, Дарио (15 сентября 2018 г.). «Выполнение архитектурных моделей для анализа больших данных» . Конспект лекций по информатике 11048 : 364-371. doi : 10.1007/978-3-030-00761-4_24 .
- ↑ «От DevOps к DataOps, Энди Палмер — Tamr Inc.» . Tamr Inc. (на английском языке США) . 7 мая 2015 г. . Проверено 3 ноября 2017 г. .
- ↑ DataKitchen (15 марта 2017 г.). «Как стать восходящей звездой с помощью аналитики данных» . операции с данными . Проверено 3 ноября 2017 г. .
- ^ «Новая реликвия: что такое DevOps — объяснение» . Новая реликвия (на английском языке) . Проверено 3 ноября 2017 г. .
- ^ «Гибкая инфраструктура» . Информация . Проверено 3 ноября 2017 г. .
- ↑ «Как объяснить начальнику преимущества DevOps (издание 2018 г.) | Кликитек» . www.clickittech.com (на английском языке США) . Проверено 9 августа 2018 г. .
Внешние ссылки
- Эта работа содержит частичный перевод, полученный из английской Википедии « DevOps », выпущенный ее издателями в соответствии с лицензией GNU Free Documentation License и лицензией Creative Commons Attribution-ShareAlike 3.0 Unported License .