Разработка релизов часто путают с DevOps. На то есть веская причина. Роли и обязанности часто пересекаются. DevOps можно рассматривать как надмножество релиз-инжиниринга.
Релиз-инжиниринг — это дисциплина, которая концентрируется на развертывании программного обеспечения. Он пытается делать более качественное программное обеспечение с надежной и предсказуемой скоростью. Его задача — улучшить конвейер сборки и выпуска программного обеспечения. Вот некоторые вещи, на которые обращает внимание разработка релизов:
- Реализует контроль версий — разработка релизов пытается добавить отслеживаемость и надежность коду. Таким образом, код поддерживается в репозиториях управления версиями, таких как Git, SVN, Perforce и т. Д. Группы разработчиков используют эти системы управления версиями, чтобы лучше отслеживать эволюцию кода.
- Автоматизирует конвейеры сборки и выпуска — Разработка релизов концентрируется на поиске средств автоматизации для повышения скорости и надежности процесса выпуска. От первой фиксации кода до управления версиями и до того, как конечный продукт будет доставлен заказчику, разработка релизов постоянно улучшает процесс. Непрерывная интеграция и непрерывная доставка (CI/CD) играют важную роль в современных автоматизированных системах сборки/выпуска.
- Управление конфигурацией — по мере того, как программный код проходит различные циклы разработки, тестирования, постановки и производство, управление конфигурацией обеспечивает единообразие атрибутов продукта на протяжении всего жизненного цикла программного обеспечения.
- Производство и развертывание — каждая часть программного обеспечения, отправляемая заказчику в производственной среде, должна быть тесно связана с ее происхождением. . Так что, если есть проблема, компании могут проследить ее до источника.
DevOps имеет более широкие полномочия. Он концентрируется на создании межфункционального сотрудничества между командами.
Раньше группы разработчиков и операционные группы работали изолированно. Когда команды разработчиков развернули свой код в производственной среде, возникли жаркие дискуссии о том, кто возьмет на себя ответственность за любые производственные проблемы. Кроме того, команда разработчиков хотела бы, чтобы были развернуты новейшие и самые крутые функции, в то время как операционная группа хотела бы избегать любых рисков. Это привело к постоянному конфликту между двумя группами.
Целью практики DevOps было сближение разработки и эксплуатации. Вот некоторые вещи, на которых концентрируется DevOps:
- Настройка и предоставление инфраструктуры. Традиционно ИТ-отделы планировали и предоставляли инфраструктуру. Философия DevOps поощряет подход, более ориентированный на разработчиков. Конвейер создан, чтобы облегчить процесс разработки, чтобы он без трения проходил через различные этапы и циклы.. Разработчики несут большую ответственность за поведение своих приложений в производственной среде.
- Управление конфигурацией — команды DevOps имеют более широкий взгляд на управление конфигурацией. Хотя при разработке релизов его можно использовать только для программных продуктов, практика DevOps находит способы реализовать управление конфигурацией для каждого аспекта организации. Цель состоит в том, чтобы помочь всей организации обеспечить более плавную работу за счет автоматизации.
- CI/CD. Непрерывная интеграция и непрерывная доставка — большая часть философии DevOps. Зрелая практика DevOps использует CI/CD для автоматизации традиционных ИТ-задач с использованием инфраструктуры в качестве кода.
- Организационный мониторинг и улучшения. Практика DevOps делает упор на сборе данных о процессах для анализа и улучшения. Таким образом, сбор данных, преобразование их в полезную информацию и их использование для улучшения текущих процессов — важная обязанность DevOps.
В заключение
Из-за пересечения Из-за проблем, связанных с улучшением программных процессов, релиз-инжиниринг часто путают с DevOps. Но у DevOps больше возможностей. Хотя релиз-инжиниринг может существовать как отдельный отдел, DevOps требует большей интеграции с общим рабочим процессом организации. Легче создать практику релиз-инжиниринга, так как шаги конкретны. DevOps требует понимания организационного поведения, культуры работы и инфраструктуры. Успешный DevOps касается не только продукта, но и всей организации.
Дальнейшее изучение
Определения для разработки релизов и DevOps