close

DevOps

Перейти к навигации Перейти к поиску

DevOps ( англ . аббревиатура от developmentразработка — и Operationsоперации —) — это набор практик, объединяющих разработку программного обеспечения ( Dev ) и ИТ-эксплуатацию ( Ops ). Его цель — ускорить жизненный цикл разработки программного обеспечения и обеспечить непрерывную высококачественную доставку. DevOps — это дополнительная практика гибкой разработки программного обеспечения; Это связано с тем, что многие функции DevOps основаны на методологии Agile.

Основной характеристикой движения DevOps является активная поддержка автоматизации и мониторинга на всех этапах создания программного обеспечения, от интеграции , тестирования, развертывания до развертывания и управления инфраструктурой . DevOps стремится к более коротким циклам разработки, более высокой частоте развертывания, более эффективным выпускам в тесном соответствии с бизнес-целями. [ 1 ] ​[ 2 ] ​[ 3 ] ​[ 4 ]

Определения и история

Image
Иллюстрация, показывающая DevOps как пересечение разработки, технологических операций и качества (QA)

На конференции 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 ]

  1. Код: разработка и проверка кода, инструменты управления исходным кодом, слияние кода.
  2. Сборка: инструменты непрерывной интеграции , статус сборки
  3. Тестирование — инструменты постоянного тестирования, обеспечивающие обратную связь по бизнес-рискам.
  4. Пакет: репозиторий артефактов , распространение перед развертыванием приложения
  5. Релиз — управление изменениями, утверждение релизов, автоматизация релизов
  6. Настройка — настройка и управление инфраструктурой, инфраструктура как код
  7. Монитор: мониторинг производительности приложений, взаимодействие с конечным пользователем

Некоторые категории более важны в цепочке инструментов 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 требуются микросервисы для оптимизации их разработок и отказа от монолитных архитектур, поскольку архитектура сервисов становится модульной и сегментированной, чтобы минимизировать риски и улучшить способ развертывания приложений и их компонентов, интеграцию с различными уровнями.

Смотрите также

Ссылки

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

Внешние ссылки