DevOps — это развивающаяся философия и концепция, которая способствует более эффективной разработке приложений и более быстрому выпуску новых или пересмотренных программных функций или продуктов заказчикам.
Практика DevOps обеспечивает более плавный и непрерывный обмен данными, совместную работу, интеграцию, прозрачность между группами разработки приложений (Dev) и их коллегами из ИТ-подразделений (Ops).
Более тесная взаимосвязь между этапами разработки и эксплуатации включает все этапы жизненного цикла DevOps: от первоначального планирования ПО до этапов разработки, тестирования и выпуска, а также развертывания, эксплуатации и текущего мониторинга. Это сотрудничество обеспечивает непрерывный цикл обратной связи с клиентами для дальнейшего совершенствования, разработки, тестирования и развертывания. Одним из результатов этих усилий может быть более быстрая реализация необходимых изменений или дополнительных функций.
В некоторых источниках цели DevOps делят на четыре категории: культура, автоматизация, измерение и совместное использование (CAM), поскольку именно в этих областях могут помочь инструменты DevOps. Эти инструменты могут сделать рабочие процессы разработки и эксплуатации более упорядоченными и совместными, автоматизируя ручные или статические задачи, связанные с интеграцией, разработкой, тестированием, развертыванием и мониторингом, ранее отнимающие много времени.
В чем преимущества DevOps
Наряду с усилиями по устранению барьеров на пути коммуникаций и сотрудничества между группами разработки и ИТ-операций, основной ценностью DevOps является удовлетворенность заказчиков и более быстрое предоставление преимуществ. DevOps также разработан для стимулирования инноваций в бизнесе и стимулирования непрерывного совершенствования процессов.
Практика DevOps способствует более быстрому, эффективному и безопасному предоставлению бизнес-преимуществ конечным заказчикам организаций. Это может быть выражено в более частых выпусков продуктов, функций или обновлений. А также включать скорость, с которой выпуск продукта или новая функция попадает в руки клиента, и все это с надлежащим уровнем качества и безопасности. Кроме того, практика DevOps может быть нацелена на быстрое определение проблемы или ошибки, чтобы устранить ее повторно выпустить продукт.
Базовая инфраструктура также поддерживает DevOps благодаря высокой производительности, готовности и надежности программного обеспечения, поскольку оно впервые разрабатывается и тестируется, а затем выпускается в производственную среду.
История DevOps
Многие методы DevOps для оптимизации разработки и развертывания программного обеспечения на раннем этапе имеют основу для гибкой разработки программного обеспечения и экономного программирования. Но DevOps изначально развивалась из нескольких простых движений, нацеленных на гармонизацию деятельности разработчиков и их коллег пиз ИТ-подразделений.
В начале 2000-х годов потребность в поддержании доступности популярных веб-сайтов, таких как Google и Flickr, значительно выросла. Эта потребность привела к появлению инженеров по надежности программного обеспечения (SRES), которые работают в тесном сотрудничестве с разработчиками, чтобы гарантировать, что после внедрения кода сайты будут стабильно работать.
В 2009 году инженеры Джон Алльсо и Пол Хаммонд из Flickr представили на конференции собственную методологию DevOps. Их презентация была озаглавлена «более 10 развертываний в день: сотрудничество разработок и внедрения в Flickr». В том же году Патрик Дебоа организовал первый «день DevOps» в Бельгии. Появился хэштег #DevOps набрал обороты по мере того, проводилось все больше дней DevOps.
В ближайшие годы были разработаны и предложены отраслевые и открытые инструменты и платформы для реализации целей DevOps.
NetApp и DevOps
NetApp помогает повысить эффективность бизнеса с помощью DevOps: рабочие группы создают автоматизированную инфраструктуру с меньшим количеством инженерных разработок, а разработчики создают ее в надежных и предсказуемых средах с меньшими проблемами. С помощью технологии NetApp® вы можете уверенно предоставлять сервисы и возможности, необходимые вашей организации для повышения производительности разработчиков, как в локальных, так и в облачных средах.
NetApp позволяет разработчикам, тестировщикам и специалистам по контролю качества легко использовать ресурсы инфраструктуры (например, постоянные тома хранения данных) в качестве кода, используя привычные инструменты конвейера DevOps. Например, API СХД NetApp и интеграцию IAC с такими инструментами, как Puppet, Ansible, Docker, Kubernetes и OpenShift.
Но NetApp не просто упрощает разработчикам использование СХД в качестве кода. Технологии NetApp также позволяют ИТ-отделам уверенно выделять и предоставлять ресурсы специалистам по разработке и тестированию. Разработчики и тестировщики могут ускорить циклы программирования и тестирования за счет быстрого выделения ресурсов, что позволяет экономить время при использовании таких функций хранения данных, как снимки файловой системы или клоны. Эти функции позволяют предоставлять копии производственных данных или наборы кодов в режиме реального времени в виде кода всего за несколько минут, чтобы ускорить процесс разработки и контроля качества.
Поддержка NetApp сообществу распространяется также на thePub. Это сообщество разработчиков поощряет совместную работу, его участники делится советами и рекомендациями, а также обсуждает идеи о новейших методах и протоколах DevOps.