В чём отличие Deployment от Delivery

"Deployment" и "Delivery" - это два термина, связанных с поставкой программного обеспечения, и они имеют разные значения:

  1. Delivery (Доставка):

    • Доставка (Delivery) включает в себя процессы разработки, тестирования и интеграции программного обеспечения с целью создания рабочей версии продукта.
    • Это фаза, в ходе которой разработанное программное обеспечение подвергается тестированию и проверке, чтобы удостовериться, что оно готово к передаче клиентам или в производство.
    • Delivery охватывает всю цепочку разработки и тестирования и фокусируется на создании версии программного продукта, которую можно передать для последующего разворачивания (deployment).
  2. Deployment (Развертывание):

    • Развертывание (Deployment) - это процесс размещения и запуска готовой версии программного продукта (которая была подготовлена на этапе Delivery) на целевой системе или инфраструктуре.
    • Это фаза, в ходе которой программное обеспечение устанавливается, настраивается и запускается на серверах, в облаке или на устройствах конечных пользователей.
    • Deployment ориентировано на то, чтобы сделать программное обеспечение доступным для конечных пользователей или клиентов.

Коротко говоря, Delivery охватывает процессы создания и подготовки программного продукта, в то время как Deployment фокусируется на процессах установки и запуска этого продукта на конечных целевых платформах. Оба этапа важны в жизненном цикле разработки и поставки программного обеспечения и служат для обеспечения успешной поставки качественного продукта клиентам.

Oct. 26, 2023, V.Maximov

Термины "Deployment" и "Delivery" часто используются в контексте процессов разработки ПО, особенно в рамках DevOps и непрерывных практик (CI/CD - Continuous Integration/Continuous Deployment или Continuous Delivery). Они имеют разные значения и цели в процессе доставки программного обеспечения.

Continuous Delivery (Непрерывная доставка)

Это практика разработки программного обеспечения, при которой команды разработки производят короткие циклы разработки и поддерживают ПО в постоянной готовности к выпуску в любой момент. Это означает, что каждое изменение в коде, прошедшее все стадии автоматизированного тестирования, может быть опубликовано как стабильная версия продукта.

Цель — сделать выпуск новых версий программного обеспечения более быстрым и предсказуемым, снизить риски и уменьшить усилия, связанные с развертыванием и выпуском новых функций.

Continuous Deployment (Непрерывное развертывание)

Является расширением практики Continuous Delivery. В контексте Continuous Deployment каждое изменение, которое проходит все стадии автоматизированной сборки и тестирования, немедленно разворачивается в продуктивной среде. Таким образом, не требуется ручного одобрения для выпуска изменений.

Эта практика максимально уменьшает время между написанием кода и его использованием пользователями. Она требует высокого уровня автоматизации тестирования и мониторинга, чтобы обеспечить качество и стабильность в реальных условиях эксплуатации.

Основные различия

1. Автоматизация vs. ручное управление: В Continuous Delivery финальное решение о развертывании может быть сделано вручную. В Continuous Deployment каждое изменение автоматически разворачивается без вмешательства человека.
2. Частота развертывания: В Continuous Deployment изменения разворачиваются чаще и постоянно, в то время как в Continuous Delivery изменения готовы к развертыванию, но могут быть запущены в производство в более контролируемом порядке.
3. Уровень риска: Continuous Deployment требует более строгих мер контроля качества и автоматизации из-за более высокого риска, связанного с непрерывным развертыванием изменений.

Continuous Delivery гарантирует, что каждое изменение готово к развертыванию и может быть выпущено в любой момент, но не обязательно автоматически разворачивается. Автоматически развертывает каждое изменение, минимизируя задержки между разработкой и доступностью функций для пользователей. Обе практики направлены на ускорение и оптимизацию процессов разработки и выпуска программного обеспечения.

April 17, 2024, easyoffer