Azure DevOps
Azure DevOps — это облачная платформа от компании Microsoft, предназначенная для управления полным жизненным циклом разработки программного обеспечения (DevOps). Она предоставляет набор интегрированных инструментов для планирования проектов, управления версиями кода, автоматизации сборки и развертывания (CI/CD), тестирования и отслеживания ошибок. Платформа является эволюционным развитием сервисов Visual Studio Team Services (VSTS) и Team Foundation Server (TFS) и предлагается по модели «программное обеспечение как услуга» (SaaS) с доступом через веб-интерфейс.
История
Корни Azure DevOps уходят в 2005 год, когда Microsoft выпустила Team Foundation Server (TFS) — локальный сервер для управления разработкой, интегрированный с Visual Studio. В 2013 году компания запустила облачную версию под названием Visual Studio Online, которая в 2015 году была переименована в Visual Studio Team Services (VSTS). В 2018 году Microsoft провела ребрендинг, разделив VSTS на пять отдельных модулей и объединив их под брендом Azure DevOps. Это было сделано для унификации с облачной платформой Microsoft Azure и для предоставления более гибких условий лицензирования.
Ключевые этапы развития:
- 2018 год: Релиз Azure DevOps. Введение бесплатных тарифов для небольших команд (до 5 пользователей).
- 2019 год: Интеграция с GitHub (приобретённым Microsoft в 2018 году). Появление Azure DevOps Server (локальная версия).
- 2020-2023 годы: Расширение возможностей YAML-пайплайнов (конвейеров), улучшение интеграции с Kubernetes и контейнерами, внедрение расширенной аналитики и дашбордов.
- 2024 год: Акцент на безопасность (DevSecOps), интеграция с GitHub Copilot и Azure AI.
Основные компоненты
Azure DevOps состоит из пяти основных сервисов, которые могут использоваться как вместе, так и по отдельности:
Azure Boards
Сервис для управления проектами и отслеживания задач. Поддерживает методологии Agile, Scrum и Kanban. Позволяет создавать рабочие элементы (user stories, tasks, bugs), планировать спринты, настраивать доски (boards) и бэклоги (backlogs). Включает в себя инструменты для построения диаграмм сгорания задач (burndown charts) и отчётов по скорости команды (velocity).
Azure Repos
Система управления версиями. Поддерживает два типа репозиториев:
- Git: распределённая система контроля версий, де-факто стандарт в современной разработке. Поддерживает pull requests, политики ветвления, code review.
- Team Foundation Version Control (TFVC): централизованная система, унаследованная от TFS. Используется реже, в основном в проектах, мигрирующих со старых версий.
Azure Repos предоставляет неограниченное количество частных репозиториев для команд.
Azure Pipelines
Сервис непрерывной интеграции и непрерывной доставки (CI/CD). Позволяет автоматически собирать, тестировать и разворачивать код. Поддерживает:
- YAML-пайплайны: конфигурация в коде (infrastructure as code).
- Классические пайплайны: настройка через графический интерфейс.
- Мультиплатформенность: агенты сборки могут работать на Windows, Linux и macOS.
- Поддержка множества языков: .NET, Java, Python, Node.js, Go, C++ и другие.
- Интеграция с облаками: Azure, AWS, Google Cloud, а также локальными серверами.
- Развёртывание в контейнеры: Docker, Kubernetes (в том числе Azure Kubernetes Service).
Azure Test Plans
Инструмент для ручного и автоматизированного тестирования. Позволяет создавать планы тестирования, наборы тестов и отслеживать их выполнение. Поддерживает приёмочное тестирование (exploratory testing) и сбор данных о производительности.
Azure Artifacts
Менеджер пакетов. Позволяет создавать, хранить и распространять пакеты (NuGet, npm, Maven, Python, Universal Packages). Используется для управления зависимостями внутри организации и публикации артефактов сборки.
Классификация и модели развёртывания
Azure DevOps доступен в двух основных формах:
Azure DevOps Services (облачная версия)
- Модель: SaaS (Software as a Service).
- Хостинг: Microsoft Azure.
- Обслуживание: управление и обновление осуществляется Microsoft.
- Доступ: через веб-браузер, REST API, CLI.
- Ценообразование: бесплатно для первых 5 пользователей (с ограничением по времени сборки — 1800 минут в месяц). Далее — по подписке на пользователя (Basic, Basic + Test Plans) или по потреблению ресурсов (дополнительные минуты сборки, параллельные задания).
Azure DevOps Server (локальная версия)
- Модель: On-premises (устанавливается на серверах организации).
- Хостинг: собственные серверы организации.
- Обслуживание: администрирование и обновление выполняются силами ИТ-отдела организации.
- Доступ: по локальной сети или через VPN.
- Лицензирование: приобретается серверная лицензия (Server CAL) и лицензии для пользователей (User CAL). Существует бесплатная версия с ограничениями (Express Edition).
Применение
Azure DevOps используется в различных сценариях разработки:
- Разработка коммерческого ПО: крупные корпорации (например, в России — «Лаборатория Касперского», Сбербанк, «Яндекс») используют платформу для управления проектами с тысячами разработчиков.
- Open Source проекты: Azure DevOps предоставляет бесплатные репозитории и пайплайны для публичных проектов.
- DevOps-трансформация: компании, переходящие от монолитной архитектуры к микросервисам и контейнеризации, используют Azure Pipelines для автоматизации развёртывания.
- Интеграция с экосистемой Microsoft: тесная связь с Visual Studio, GitHub, Azure, Office 365 и Power Platform.
Интеграция и расширяемость
Azure DevOps поддерживает широкий спектр интеграций:
- Сторонние сервисы: Slack, Jira, Jenkins, SonarQube, Docker, Kubernetes.
- API: REST API и OAuth 2.0 для создания собственных расширений.
- Marketplace: магазин расширений, где доступны тысячи плагинов, добавляющих функциональность (например, интеграция с Telegram, анализ кода, генерация документации).
Критика и ограничения
Несмотря на популярность, Azure DevOps имеет ряд недостатков:
- Сложность настройки: для больших проектов конфигурация пайплайнов и политик ветвления может быть нетривиальной.
- Привязка к экосистеме Microsoft: хотя платформа поддерживает сторонние инструменты, наилучшая интеграция достигается с продуктами Microsoft.
- Ценообразование: для крупных команд с большим количеством параллельных сборок стоимость может быть высокой.
- Ограничения бесплатного тарифа: 1800 минут сборки в месяц могут быть недостаточны для активных проектов.
- Зависимость от облака: в облачной версии доступность сервиса зависит от инфраструктуры Microsoft.
Конкуренты
Основными конкурентами Azure DevOps являются:
- GitLab CI/CD — интегрированная платформа с открытым исходным кодом.
- Jenkins — популярный инструмент CI/CD с открытым исходным кодом.
- Atlassian Bamboo — часть экосистемы Jira.
- CircleCI — облачный сервис CI/CD.
- GitHub Actions — встроенная CI/CD в GitHub (с 2019 года).
Интересные факты
- Azure DevOps используется для разработки самой операционной системы Windows и облачной платформы Azure.
- В 2021 году Microsoft объявила, что Azure DevOps Services обрабатывает более 1 миллиона сборок в день.
- Платформа поддерживает не только разработку ПО, но и управление инфраструктурой (Infrastructure as Code) с помощью Terraform и ARM-шаблонов.
- В России Azure DevOps популярен среди компаний, использующих стек Microsoft, однако после 2022 года наблюдается частичный переход на альтернативные решения (GitLab, российские платформы) из-за санкционных рисков.
Источники
- Microsoft Docs: «What is Azure DevOps?» (официальная документация).
- Microsoft Learn: «Azure DevOps Services documentation».
- Статья «Azure DevOps: обзор и возможности» на Habr.
- Книга «Azure DevOps for .NET Developers» (Packt Publishing, 2020).
- Отчёты аналитиков Gartner и Forrester по рынку DevOps-инструментов.
- Материалы конференции Microsoft Build (2018–2024).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →