Появление сети Интернет и её последующее внедрение почти во все сферы жизни человека привели к тому, что в настоящем многие компании предпочитают вести бизнес с использованием веб-технологий. В связи с этим возросла потребность в веб-разработке и в командах, которые этим занимаются. По причине того, что объем задач и уровень конкуренции постоянно растут, работа по прежним методологиям, применяемым при разработке и эксплуатации IT-продуктов, становится менее эффективной.
Если для компаний, у которых IT решения являются лишь неким помощником для ведения бизнеса и им не было критично развитие этих технологий внутри компании, то для тех компаний, у которых IT технологии являются основой их бизнеса и той ценностью, которую они предоставляют рынку, развитие технологий внутри компании является критичным для бизнеса. Компании второго типа также называют технологическими компаниями. Можно выделить список критичных моментов для такого рода организаций:
• Скорость изменения программного обеспечения
• Скорость получения отзыва от рынка
При работе с традиционными методологиями разработки и внедрения программного продукта достижение этих целей получается очень затратным как по времени, так и по денежным расходам. Одним из решений проблем традиционных методологий и достижения целей, поставленных технологическими компаниями, является применение практик devops, который, в свою очередь, стоит на таких четырех столпах, как:
• Сотрудничество
• Близость
• Инструменты
• Масштабирование
Актуальность
При использовании имеющихся методологий разработки проблемы скорости изменения ПО и получения реакция от рынка актуальны как никогда. Практики devops призваны устранить эти и другие трудности разработки продуктов, целью которых является применение в госструктурах и в компаниях, где IT не является ценностью и не рассматривается в виде основополагающей задачи. Основными преимуществами применения описываемых подходов является то, что скорость изменения программного продукта увеличивается в разы. Также повышается скорость получения обратной связи от клиентов, что в условиях современных реалий играет основополагающее значение на рынке.
Практическая значимость работы состоит в том, что в ней рассматриваются и наглядно иллюстрируются эффективные devops-методики, которые применяются в реальной работе. Изучение данной работы позволяет сформировать общее понимание технологии devops и проиллюстрировать методы применения частных практик на реальных примерах. Таким образом, данная дипломная работа представляет собой практическую ценность и может выступать в роли методического пособия для лиц и компаний, заинтересованных в применении отдельных практик devops в своих организациях.
Постановка задачи
Постановка задачи - подробное описание применения практик devops в разработке и эксплуатации современных веб-проектов. Среди таких практик можно выделить следующие:
• Контроль версий
• Разработка через тестирование
• Развертывание приложений
• Непрерывная интеграция
• Непрерывная поставка
• Непрерывная развертывание
• Минимально жизнеспособный продукт
• Система управления конфигурацией
• Облачные вычисления
• Контейнеры
• Автоматизация инфраструктуры
• Управление артефактами
• Ретроспектива
• Постмортем
• Безупречность
• Организационное обучение
Также необходимо описать использование таких четырех столпов эффективных devops-методик, как:
• Сотрудничество
• Близость
• Инструменты
• Масштабирование
Данная работа посвящена применению практик devops и исследованию этого феномена в целом.
В ходе выполнения работы были рассмотрены основополагающие понятия, так называемые “столпы”, devops и описана их значимость в контексте современной корпоративной разработки приложений для компаний, не имеющих в числе основополагающих цели, связанные с IT-задачами.
Далее в работе рассматриваются частные практики, такие как:
• Контроль версий
• Разработку через тестирование
• Развертывание приложения
• Непрерывная интеграция
• Непрерывная доставка
• Непрерывная развертывание
• Минимальный жизнеспособный продукт
• Управление инфраструктурой
• Облачные вычисления
• Контейнеризация
• Автоматизация инфраструктуры
• Управление артефактами
• Ретроспектива
• Постмортем
• Безупречность
• Организационное обучение
Каждая из практик описана в отдельном разделе и проиллюстрирована практическими примерами (фрагментами листинга), что позволяет не только получить теоретическую информацию, но и увидеть идеи на практике.
Результатом дипломной работы является анализ devops как современного направления для разработки. Данную работу можно рассматривать в качестве методологического пособия для лиц, заинтересованных во внедрении практик данной философии в процесс разработки в своих компаниях. В дальнейшем, работу планируется улучшать описание способов применение практике на примере команды разработчиков и команды эксплуатации, а также на их отношениях в командной работе.