M365Con 2027 – бесплатная онлайн-конференция · 11–22 Jan 2027 · 120 sessions→ m365con.net

Блог · Mirko Peters

Бесшовная интеграция Microsoft Fabric с GitHub и Azure DevOps

By · · Updated

Когда вы управляете современными нагрузками данных и аналитики, надёжный контроль версий и управление становятся обязательными. Как технические руководители, мы постоянно балансируем между скоростью разработки и корпоративным уровнем соответствия требованиям. Поэтому подключение рабочих областей Microsoft Fabric к внешним репозиториям, таким как GitHub и Azure DevOps, стало настоящим прорывом для

Automatically translated with AI from the original post. Read the English original

Когда вы управляете современными нагрузками данных и аналитики, надёжный контроль версий и управление становятся обязательными. Как технические руководители, мы постоянно балансируем между скоростью разработки и корпоративным уровнем соответствия требованиям. Поэтому подключение рабочих областей Microsoft Fabric к внешним репозиториям, таким как GitHub и Azure DevOps, стало настоящим прорывом для инженерии аналитики. В этом посте мы разберём, как настроить бесшовные интеграции, оценить, кто отвечает за развёртывание, и использовать сильные стороны каждой платформы.

Чтобы глубже погрузиться в тему и послушать экспертные разборы того, как эти экосистемы взаимодействуют, обязательно послушайте сопутствующий выпуск подкаста: GitHub vs Azure DevOps for Microsoft Fabric CI/CD.

GitHub vs Azure DevOps: 5 неожиданных фактов

  1. Разное происхождение, сближающиеся возможности: Хотя обе платформы нацелены на CI/CD и совместную работу, GitHub изначально был социальной платформой для разработки кода, а Azure DevOps выросла из корпоративных инструментов ALM Microsoft (Team Foundation Server), поэтому их рабочие процессы и корпоративные интеграции существенно различаются.
  2. Переносимость конвейеров: Конвейеры Azure DevOps на основе YAML могут работать на многих платформах и даже повторно использовать задачи из классических конвейеров, тогда как GitHub Actions предлагает более крупный публичный маркетплейс действий, созданных сообществом. Поэтому переносимость часто зависит от доступных действий в маркетплейсе в сравнении со встроенными библиотеками задач Azure.
  3. Философия Boards и Issues: Azure DevOps включает полнофункциональную систему рабочих элементов (Boards) с настраиваемыми шаблонами процессов и отчётностью, ориентированными на корпоративное планирование, тогда как GitHub Issues проще и более социальна. Это может удивить команды, которые ожидают одинакового управления проектами при сравнении «github vs azure devops».
  4. Корпоративное соответствие требованиям и локальные варианты: Azure DevOps Server обеспечивает зрелое локальное размещение и средства контроля соответствия, которые часто требуются регулируемыми организациями, тогда как GitHub предлагает GitHub Enterprise Server, но исторически больше ориентирован на облачные рабочие процессы. Поэтому для команд, где важно соответствие требованиям, это два разных варианта выбора.
  5. Различия в ценообразовании и модели пользователей: Ценообразование и модель соавторов GitHub основаны на репозиториях и организациях, с щедрыми бесплатными тарифами для открытого ПО, тогда как Azure DevOps использует лицензирование на пользователя для отдельных функций (Test Plans, Artifacts) и может быть более предсказуемым по затратам при крупных корпоративных лицензионных соглашениях. Это неожиданный фактор при сравнении «github vs azure devops».

Что такое владение развёртыванием

Deployment Ownership Explained

Что такое владение развёртыванием

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

Код и артефакты

Вы отвечаете за исходный код и артефакты в платформах DevOps. Эти компоненты составляют основу конвейера поставки. Вот основные части, из которых складывается владение развёртыванием в современных инструментах DevOps:

  • Отслеживание исходного кода
  • Тестирование
  • Развёртывание
  • Управление инфраструктурой
  • Отслеживание сборок
  • Управление секретами
  • Управление релизами

Вы используете инструменты DevOps для автоматизации этих шагов. Автоматизация помогает быстрее поставлять обновления и снижает количество ошибок. Вы бережёте свой код и следите за тем, чтобы артефакты соответствовали протестированным версиям. Вы отслеживаете сборки и релизы, чтобы сохранять согласованность между средами.

Доступ и управление

Вы контролируете доступ к инструментам DevOps и задаёте политики управления. Вы решаете, кто может просматривать, редактировать или развёртывать код. Вы используете автоматизацию для соблюдения правил и мониторинга активности. Управление гарантирует, что команда следует стандартам на этапах разработки и поставки. Вы ведёте журнал действий и проверяете изменения, чтобы защитить процесс разработки программного обеспечения.

Почему владение важно

Владение даёт вам контроль над средой DevOps. Вы защищаете конвейер поставки от рисков и сохраняете безопасность разработки. Вы поддерживаете соответствие нормативным требованиям и операционный контроль.

Инструменты devops помогают выстроить надёжную систему управления. Вы получаете автономность и даёте командам возможность работать независимо. Вы управляете рисками и поддерживаете надёжность процесса поставки. Автоматизация помогает достичь этих целей, делая разработку и поставку более эффективными.

Совет: когда вы управляете своим конвейером devops, вы можете быстро реагировать на изменения и держать разработку программного обеспечения под контролем.

Чтобы принимать взвешенные решения об инструментах devops, нужно понимать, кто отвечает за развёртывание. Так вы ускоряете поставку, защищаете свой код и сохраняете контроль над процессом разработки.

Модель владения GitHub

Хранение кода и артефактов

GitHub вы используете как центральное место для управления исходным кодом. Когда вы отправляете код на github.com, у вас сохраняется понятная история каждого изменения. Это помогает отслеживать, кто и когда внёс обновления. В зависимости от задач код можно хранить в публичных или приватных репозиториях. Если вы используете GitHub Enterprise, вы получаете дополнительные возможности для крупных организаций, например расширенные инструменты безопасности и соответствия требованиям.

Для артефактов развёртывания GitHub предлагает GitHub Packages. Этот сервис позволяет хранить результаты сборки, образы контейнеров и другие файлы рядом с кодом. Вы можете получать доступ к этим артефактам напрямую из своих рабочих процессов. Однако GitHub Packages предоставляет только базовые метаданные, например дату создания и количество загрузок. Добавлять пользовательские свойства или использовать расширенные запросы для управления артефактами нельзя. Другие платформы, например JFrog, предлагают больше возможностей для метаданных и запросов.

Доступ и разрешения

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

Управление доступом можно автоматизировать, подключив GitHub к вашей системе управления идентификацией и доступом (IAM). Так легко добавлять и удалять пользователей по мере изменения состава команды. Также стоит задать понятные политики контроля доступа и регулярно их пересматривать. GitHub позволяет просматривать журналы аудита, чтобы замечать необычную активность.

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

Управление и соответствие требованиям

Для безопасных и соответствующих требованиям развёртываний нужно надёжное управление. GitHub предоставляет несколько инструментов для этого. Рабочие процессы можно повторно использовать в разных проектах, что экономит время и обеспечивает единообразие. GitHub Actions позволяет автоматизировать развёртывание и применять правила для каждой среды.

Чтобы убедиться, что файлы развёртывания не были изменены, можно использовать аттестации артефактов. GitHub поддерживает OpenID Connect (OIDC) для безопасных развёртываний в облачных платформах. Вы можете контролировать развёртывания, задавая правила о том, кто и когда может их выполнять. GitHub также позволяет просматривать историю развёртываний, что помогает при аудитах и проверках соответствия требованиям.

Примечание: GitHub Actions интегрируется с Microsoft Fabric, поэтому вы можете автоматизировать развёртывание и управлять аналитическими решениями с теми же механизмами управления.

Вопросы безопасности

При использовании GitHub для конвейеров развёртывания необходимо внимательно следить за безопасностью. Угрозы безопасности могут возникать на многих этапах рабочего процесса. Злоумышленники могут попытаться внедрить вредоносное ПО в исходный код или артефакты сборки. Конфиденциальные данные, такие как ключи доступа и пароли, могут быть раскрыты, если не следовать лучшим практикам. Несанкционированный доступ может дать злоумышленникам контроль над вашим конвейером и производственной средой. Устаревшие зависимости могут создать уязвимости, которые угрожают всей системе.

Защищайте репозитории GitHub с помощью надёжного контроля доступа. Включите двухфакторную аутентификацию для всех пользователей. Для хранения учётных данных и токенов используйте управление секретами. Не храните конфиденциальную информацию непосредственно в коде. Регулярно проверяйте разрешения и удаляйте доступ у пользователей, которым он больше не нужен.

Совет: повысить уровень безопасности можно, сочетая встроенные инструменты GitHub с внешними решениями. Для дополнительной защиты можно использовать сторонние сканеры или интегрироваться с платформами облачной безопасности.

Начните с GitHub как репозитория: контрольный список (GitHub и Azure DevOps)

Практический контрольный список для начала работы с GitHub в качестве репозитория кода.

  • Создайте учётную запись GitHub или войдите в существующую
  • Решите, использовать ли личную учётную запись или учётную запись организации для владения командным репозиторием
  • Создайте новый репозиторий (публичный или приватный) и выберите подходящий уровень видимости
  • Задайте понятное имя репозитория и добавьте информативный README.md
  • Добавьте файл LICENSE, подходящий для потребностей вашего проекта
  • Добавьте .gitignore, подготовленный для вашего языка или фреймворка
  • Инициализируйте репозиторий с веткой по умолчанию (main) и настройте правила защиты веток
  • Настройте CODEOWNERS и рекомендации по участию в проекте (CONTRIBUTING.md)
  • Настройте шаблоны задач и шаблон запроса на включение изменений (pull request)
  • Настройте метки, этапы и проектные доски для отслеживания задач
  • Настройте рабочие процессы GitHub Actions для CI/CD или интегрируйте существующие конвейеры
  • Добавьте секреты репозитория для CI, развёртываний и сторонних сервисов
  • Настройте правила защиты веток: обязательные проверки, статусы сборок и обязательно подписанные коммиты при необходимости
  • Включите Dependabot для обновлений зависимостей и оповещений о безопасности
  • Включите функции безопасности: сканирование кода, сканирование секретов и оповещения об уязвимостях
  • Настройте веб-хуки или интеграции для CI, chatops или внешних сервисов
  • Пригласите соавторов или членов команды и задайте разрешения для репозитория
  • Перенесите существующие репозитории и задачи (если переходите из Azure DevOps, спланируйте миграцию и сопоставьте элементы работы)
  • Задокументируйте структуру репозитория, процесс разработки и процесс выпуска в wiki или папке docs
  • Настройте мониторинг и оповещения для выпусков, развёртываний и важных рабочих процессов
  • Изучите и сравните рабочие процессы с альтернативами (GitHub и Azure DevOps), чтобы оптимизировать выбор инструментов CI/CD и управления проектами
  • Регулярно проверяйте доступ к репозиториям, секреты и настройки безопасности

Модель владения в Azure DevOps

Репозитории и конвейеры

Используя Azure DevOps, вы получаете единую платформу для управления кодом, артефактами и процессами развёртывания. Службы Azure DevOps объединяют репозитории кода, отслеживание работ, инструменты тестирования и хранилище артефактов. Такая интеграция помогает контролировать каждый этап жизненного цикла поставки программного обеспечения. Вы можете связать каждый запуск конвейера с конкретными коммитами, запросами на включение изменений или элементами работы, что даёт наглядное представление о процессе разработки.

Конвейеры Azure DevOps используют удостоверения для доступа к ресурсам. Эти удостоверения можно задавать на уровне коллекции или проекта. Удостоверения на уровне проекта помогают ограничить доступ только ресурсами, необходимыми для каждого проекта, что повышает безопасность. Также можно защитить ресурсы репозитория с помощью проверок и разрешений конвейера. Это позволяет управлять правами владения и редактирования для кода и рабочих процессов развёртывания.

Azure DevOps поддерживает оптимизированный CI/CD, поэтому вы можете автоматизировать сборки, тесты и развёртывания. С Azure Pipelines вы получаете непрерывную интеграцию и непрерывную поставку, что помогает быстро и надёжно выпускать обновления. Microsoft разработала Azure DevOps так, чтобы он хорошо работал с облачными вычислениями, что упрощает масштабирование проектов по мере роста ваших потребностей.

Контроль доступа

Вы контролируете, кто может получать доступ к службам Azure DevOps, с помощью управления доступом на основе ролей. Эта модель позволяет назначать разрешения на основе ролей, так что каждый пользователь получает только необходимый ему доступ. Пользователей можно объединять в группы безопасности и назначать разрешения на уровне организации, проекта или отдельного объекта. Microsoft рекомендует следовать принципу наименьших привилегий, то есть предоставлять пользователям только те разрешения, которые необходимы для выполнения их задач.

  • Назначайте роли пользователям и группам для точного контроля доступа.
  • Используйте группы безопасности для управления разрешениями на разных уровнях.
  • Регулярно проверяйте разрешения и аудит, чтобы выявлять неожиданное использование.

Управление и политики

Надёжное управление необходимо для безопасных и стабильных развёртываний. Azure DevOps обеспечивает управление через политики веток, контроль доступа и пользовательские роли. Политики веток позволяют задавать проверки и требования до слияния кода, чтобы в производство попадал только качественный код. Субъектам безопасности можно назначать роли по принципу наименьших привилегий, что снижает риск несанкционированного доступа.

  • Настройте политики веток, требующие проверки кода и других проверок перед слиянием.
  • Назначайте пользовательские роли субъектам-службам, чтобы предотвращать деструктивные действия в производственной среде.
  • Используйте контроль доступа, чтобы ограничить круг лиц, которые могут выполнять развёртывание в критически важных средах.

Совет: регулярно проверяйте настройки управления в Azure DevOps, чтобы ваши развёртывания оставались безопасными и соответствовали требованиям.

Безопасность и соответствие требованиям

Для управления развёртываниями необходимы надёжные средства контроля безопасности и соответствия требованиям. Azure DevOps предоставляет широкий набор инструментов для защиты вашего кода, данных и рабочих процессов. Вы можете использовать встроенные функции безопасности, чтобы ваш процесс разработки оставался защищённым и соответствовал отраслевым стандартам.

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

Совет: регулярно проверяйте настройки безопасности в Azure DevOps. Обновляйте политики и разрешения по мере роста команды или изменения проектов.

Начните работу с Azure DevOps как с репозиторием: контрольный список (GitHub и Azure DevOps)

  • Создайте организацию Azure DevOps или войдите в существующую
  • Создайте новый проект (выберите видимость: закрытый или открытый) и выберите систему управления версиями: Git
  • Создайте первый репозиторий или импортируйте существующий (из GitHub или локальной копии)
  • Добавьте понятный файл README.md и файл лицензии
  • Добавьте файл .gitignore, подходящий для языка программирования или фреймворка вашего проекта
  • Определите стратегию ветвления и соглашения об именовании (main, develop, feature/*, hotfix/*)
  • Защитите ветку main: включите политики веток, обязательных рецензентов и проверки состояния
  • Создайте шаблоны запросов на слияние и руководства для участников
  • Настройте разрешения репозитория и группы (читатели, участники, администраторы проекта)
  • Настройте подключения обслуживания для развёртываний (Azure, AWS, реестры Docker, внешние провайдеры Git)
  • Создайте CI-конвейеры (Azure Pipelines YAML или классические) и проверяйте сборки в запросах на слияние
  • Создайте CD-конвейеры или конвейеры выпусков для сред (dev/stage/prod) и шлюзы утверждения
  • Интегрируйте с Boards: создавайте элементы работы и связывайте коммиты и запросы на слияние с ними
  • Настройте веб-перехватчики или перехватчики служб для внешних интеграций (Slack, Teams, Jenkins)
  • Настройте политики хранения веток и сборок
  • Включите аудит и настройте необходимые средства контроля соответствия требованиям и безопасности
  • Настройте сканирование кода, анализ безопасности и проверку зависимостей (GitHub может предлагать дополнительные инструменты, сравните их с вашими потребностями)
  • Настройте каналы артефактов, если нужен хостинг пакетов (NuGet, npm, Maven)
  • Создайте вики или сайт документации и храните документацию в репозитории там, где это уместно
  • Спланируйте шаги миграции, если переходите с GitHub: сопоставьте репозитории, задачи, запросы на слияние, CI/CD и служебные учётные записи
  • Пригласите участников команды и проверьте доступ из их учётных записей
  • Проведите первоначальный сквозной тест: клонирование, коммит, отправка, открытие запроса на слияние, запуск конвейера, развёртывание в тестовой среде
  • Отслеживайте использование и работу конвейеров и постоянно улучшайте политики и автоматизацию

Интеграция с Microsoft Fabric

Интеграция с Git

Вы можете подключить рабочую область Microsoft Fabric напрямую к репозиторию GitHub. Такое подключение обеспечивает надёжное управление версиями для ваших аналитических проектов. Рабочую область связывают с веткой develop в GitHub. Эта настройка позволяет отслеживать каждое изменение и при необходимости откатывать его. Для переноса содержимого из среды разработки в тестовую, а затем в производственную, можно использовать конвейеры развёртывания в Microsoft Fabric. Такой процесс помогает избежать проблем с синхронизацией между средами.

Когда нужно выпустить стабильные функции, создайте ветку release. Для отправки этих изменений в производственную среду используйте конвейеры развёртывания. Если требуется срочно исправить проблемы, создайте ветку hotfix и слейте её с веткой main для развёртывания. Для каждой среды следует использовать отдельные базы данных. Такая практика защищает производственные данные от случайных изменений во время тестирования или разработки.

CI/CD с Azure DevOps и GitHub

Конвейеры CI/CD в Microsoft Fabric можно настроить с помощью Azure DevOps или GitHub Actions. Эти инструменты помогают автоматизировать шаги сборки, тестирования и развёртывания. Конвейеры развёртывания следует называть понятно и описательно, чтобы сразу было видно назначение каждого из них. Для разных этапов конвейера, например разработки, тестирования и эксплуатации, можно использовать существующие рабочие области или создавать новые.

Содержимое между этапами следует сравнивать регулярно. Эта проверка гарантирует, что все элементы развёрнуты корректно. Приложения можно публиковать из любой рабочей области конвейера. Этот шаг позволяет конечным пользователям протестировать функции до окончательного развёртывания. Для каждого разработчика или функции следует вести отдельные ветки. Такая практика помогает избежать конфликтов слияния. Продуманная стратегия ветвления, например Gitflow, помогает управлять разработкой, выпусками и исправлениями срочных ошибок.

Управление данными

Microsoft Fabric встраивает управление данными в каждый этап их жизненного цикла. Сбор, хранение и анализ данных вы ведёте в одной среде. Microsoft Purview каталогизирует ваши данные и отслеживает их происхождение. OneLake обеспечивает централизованное хранилище, что упрощает применение политик управления. Microsoft Entra ID предоставляет управление доступом на основе ролей, так что вы решаете, кто может просматривать или изменять данные.

Политики управления применяются на уровне OneLake. Эти правила распространяются на ваши данные во всех рабочих областях и наборах данных. Такой подход делает работу с данными последовательной и быстрой. Не нужно настраивать отдельные правила для каждой рабочей области. Архитектура Microsoft Fabric помогает сохранять контроль и выполнять требования соответствия по мере роста объёма данных.

Безопасность и соответствие требованиям

При работе с данными и развертываниями в Microsoft Fabric нужны надёжные средства безопасности и контроля соответствия. Платформа предоставляет расширенные инструменты для защиты информации и выполнения нормативных требований. Вы можете классифицировать и защищать конфиденциальные данные в конвейерах Data Factory. Это помогает защитить важную информацию от несанкционированного доступа.

Microsoft Fabric работает с Microsoft Defender for Cloud Apps. Эта интеграция даёт вам лучшую видимость и контроль над операциями. Вы можете отслеживать действия и настраивать оповещения о рискованном поведении. Также можно отслеживать происхождение данных. Эта функция позволяет увидеть, как данные перемещаются по вашей системе. Эти сведения помогут подтвердить соответствие требованиям и понять движение конфиденциальных данных.

Совет: регулярно проверяйте настройки безопасности и соответствия требованиям. Плановые проверки помогут опережать новые риски и сохранять безопасность данных.

GitHub против Azure DevOps против Fabric: сравнение владения

Расположение репозитория

Важно знать, где хранится ваш код. В сравнении github и azure devops это ключевой момент. GitHub хранит репозитории в облаке. Можно выбрать публичные или приватные варианты. Многие проекты с открытым исходным кодом используют github, потому что им легко делиться и работать совместно. Azure devops также хранит код в облаке, но ориентирован на приватные корпоративные проекты. Вы получаете больше контроля над тем, кто может видеть и изменять код. Microsoft Fabric подключается к github и azure devops для управления версиями. Аналитические проекты вы ведёте в Fabric, а сам код находится в подключённом репозитории.

Выбирайте платформу, которая соответствует вашим задачам. Если важна открытая совместная работа, github подойдёт хорошо. Если нужен строгий контроль, azure devops даёт больше возможностей. Microsoft Fabric позволяет использовать любую из них, так что можно подстроить под свой рабочий процесс.

Управление артефактами

Управление артефактами — это работа с результатами сборки, пакетами и файлами, которые создают ваши проекты. В сравнении github vs azure devops заметны большие различия. GitHub использует GitHub Packages для хранения артефактов. Вы получаете базовые возможности: хранение и совместное использование пакетов. Azure devops предлагает Azure Artifacts с расширенными средствами контроля. Можно управлять версиями, настраивать каналы подачи пакетов и отслеживать использование. Microsoft Fabric ориентирован на аналитические артефакты, такие как отчёты Power BI и семантические модели. Он связан с репозиторием для управления версиями и использует конвейеры развертывания для перемещения артефактов между средами.

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

Управление и соответствие требованиям

Для защиты развертываний и соответствия отраслевым стандартам нужны надёжные средства управления и контроля соответствия. Каждая платформа — GitHub, azure devops и Microsoft Fabric — предлагает разные инструменты и подходы для этих задач.

GitHub даёт гибкое управление. Можно настроить правила защиты веток, требовать код-ревью и использовать файлы CODEOWNERS. Эти функции помогают контролировать, кто может вносить изменения в код. Также можно использовать журналы аудита для отслеживания действий в репозиториях.

azure devops делает упор на корпоративное управление. Можно задавать политики веток, шлюзы согласования и пользовательские роли. Эти средства помогают соблюдать стандарты во всех проектах. Azure devops позволяет использовать отслеживание элементов работы, чтобы связывать изменения кода с бизнес-требованиями.

Microsoft Fabric переносит управление в аналитические рабочие процессы. Вы используете Microsoft Purview для каталогизации данных и отслеживания их происхождения. Политики задаются на уровне OneLake и действуют во всех рабочих областях. Такой единый подход упрощает управление соответствием по мере роста объёма данных.

Совет: регулярно проверяйте настройки управления. Надёжное управление помогает соответствовать требованиям соответствия и защищает ваши развертывания.

Безопасность

Нужно защищать код, данные и развертывания от угроз. Каждая платформа предоставляет свои функции и средства безопасности.

GitHub помогает защитить репозитории с помощью двухфакторной аутентификации, управления секретами и защиты ветки. С GitHub Actions можно автоматизировать проверки безопасности и поиск уязвимостей.

azure devops предоставляет расширенные средства безопасности. Вы используете доступ на основе ролей, чтобы ограничить разрешения. azure devops надёжно хранит секреты и связывает их с вашими конвейерами.

Microsoft Fabric ориентирован на безопасность данных. Вы используете Microsoft Defender for Cloud Apps для мониторинга активности и настройки оповещений о рискованном поведении. Вы можете классифицировать и защищать конфиденциальные данные в своих конвейерах.

Примечание: сочетайте функции безопасности платформ с лучшими практиками. Обучайте команду, проверяйте настройки и обновляйте политики по мере изменения угроз.

Реальные сценарии DevOps

Открытый код с GitHub

При работе над проектами с открытым исходным кодом github даёт простой способ управлять владением развертываниями. Вы можете автоматизировать процесс развертывания и поддерживать проект в актуальном состоянии при каждом изменении кода. Ниже показано, как устроено владение в типичном рабочем процессе DevOps с открытым кодом на github:

  • Вы отправляете код в публичный репозиторий на github.
  • Каждая отправка в основную ветку запускает автоматическое развертывание.
  • Не нужно запрашивать согласование или ждать одобрения, чтобы выполнить развертывание.
  • Вы сохраняете контроль над облачной инфраструктурой, используя собственную учётную запись AWS или аналогичные сервисы.
  • Ваш проект постоянно работает на инфраструктуре промышленного уровня.

Корпоративная среда с Azure DevOps

В корпоративной среде azure devops часто используется для управления сложными проектами. Нужно сбалансировать скорость, безопасность и соответствие требованиям. В такой среде владение может стать непростой задачей. Необходимо чётко определить роли и обязанности команды. Azure devops помогает в этом: вы назначаете разрешения и используете управление доступом на основе ролей.

Аналитика данных с Fabric

При управлении проектами аналитики данных Microsoft Fabric даёт вам надёжное владение развертываниями. Вы контролируете, кто может развертывать, редактировать или просматривать каждый элемент в рабочей области. Вы получаете чёткий контроль над аналитическими активами. При развертывании нового элемента вы становитесь его владельцем. Если развертывание выполняется на этап, где элемент уже существует, владение сохраняется прежним.

Совет: используйте конвейеры развертывания Microsoft Fabric и разрешения рабочей области, чтобы данные оставались защищёнными, а команда продуктивной.

Гибридные развертывания

Для управления развертываниями часто требуется использовать более одной платформы. Это типично для крупных организаций или когда вы хотите объединить сильные стороны разных инструментов. Гибридные развертывания позволяют использовать GitHub для управления исходным кодом, Azure DevOps для конвейеров и Microsoft Fabric для аналитики. Вы можете связать эти платформы и построить рабочий процесс, который соответствует вашим задачам.

Совет: проверяйте настройки доступа и управления на каждой платформе. Убедитесь, что развертывать или изменять код могут только нужные люди. Так рабочий процесс остаётся защищённым.

Выбор подходящей платформы DevOps

Ключевые вопросы о владении

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

  • Кто контролирует доступ к вашему коду и артефактам?
  • Как платформа обеспечивает управление и соответствие требованиям?
  • Можно ли автоматизировать напоминания о недостающих метаданных в развертываниях?
  • Поддерживает ли платформа интеграцию с вашими существующими инструментами?
  • Как платформа управляет владением сервисами и метаданными?

Совет: задавайте эти вопросы на раннем этапе. Так вы избежите путаницы и создадите надёжную основу для вашего рабочего процесса DevOps.

Сильные стороны платформ

Каждая платформа DevOps обладает уникальными сильными сторонами. Их нужно сопоставить с потребностями вашего проекта. Для быстрого старта и простой интеграции можно использовать GitHub Actions. Azure DevOps даёт расширенные средства управления для сложных рабочих процессов. Microsoft Fabric объединяет аналитику и управление в единое целое. Вы можете связать рабочую область с GitHub или Azure DevOps для контроля версий и развертывания.

Примечание: выбирайте платформу, которая соответствует вашему рабочему процессу и требованиям управления. Каждая платформа поддерживает разные сильные стороны владения в DevOps.


Понимание того, как GitHub, Azure DevOps и Microsoft Fabric управляют кодом, артефактами, доступом и управлением, даёт вам чёткое владение процессом развёртывания. Выбирайте платформу, которая соответствует вашим требованиям к безопасности и соответствию нормативам. Определите политики управления конечными точками, установите совместную ответственность команд и выявите ключевые меры безопасности. Регулярно проверяйте возможности платформы, чтобы опережать риски. Согласуйте выбор платформы с политиками ответственного ИИ, включая справедливость, надёжность и подотчётность. Такой подход помогает защищать ваши данные и поддерживать надёжное управление.

Чтобы продолжить изучение темы и получить дополнительные сведения, послушайте соответствующий выпуск: GitHub vs Azure DevOps for Microsoft Fabric CI/CD.

Часто задаваемые вопросы

Что означает владение процессом развёртывания на платформах DevOps?

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

Как GitHub, Azure DevOps и Microsoft Fabric управляют контролем доступа?

Роли и разрешения вы настраиваете на каждой платформе. GitHub использует команды и владельцев кода (code owners). Azure DevOps применяет группы безопасности и ролевой доступ. Microsoft Fabric опирается на Microsoft Entra ID для разрешений рабочих областей.

Можно ли автоматизировать развёртывания на всех трёх платформах?

Да, развёртывания можно автоматизировать с помощью GitHub Actions, Azure Pipelines или конвейеров развёртывания Microsoft Fabric. Автоматизация помогает быстрее выпускать обновления и снижает количество ошибок.

Как Microsoft Fabric интегрируется с GitHub и Azure DevOps?

Вы подключаете свою рабочую область Fabric к репозиторию GitHub или Azure DevOps. Эта интеграция даёт вам контроль версий, автоматизированные развёртывания и единое управление аналитикой.

Какие функции безопасности защищают ваши развёртывания?

Вы используете двухфакторную аутентификацию, управление секретами и автоматизированное сканирование безопасности. Azure DevOps добавляет шлюзы утверждения и Defender for Cloud. Microsoft Fabric предлагает предотвращение утечки данных (Data Loss Prevention) и инструменты управления конфиденциальностью.

Как вы управляете соответствием требованиям на этих платформах?

Вы настраиваете политики веток, журналы аудита и правила управления. Azure DevOps и Microsoft Fabric поддерживают стандарты соответствия, такие как GDPR и ISO. GitHub Enterprise предлагает расширенные инструменты соответствия для организаций.

Кто владеет развёрнутыми аналитическими элементами в Microsoft Fabric?

Владельцем становитесь вы, когда развёртываете новый элемент. Если вы развёртываете элемент на этап, где уже есть такой элемент, владение не меняется. Роли рабочей области и разрешения помогают управлять доступом.

В чём основные различия между Azure DevOps и GitHub?

Azure DevOps (ado) — это набор инструментов для разработчиков, включающий Azure Boards, Pipelines, Repos, Test Plans и управление артефактами, ориентированный на корпоративное управление проектами и CI/CD. GitHub же — платформа, ориентированная на Git, с акцентом на репозитории Git, pull request и сообщество разработчиков; в её состав входят GitHub Repos, GitHub Enterprise Cloud и GitHub Actions. Azure DevOps часто выбирают для интегрированного отслеживания рабочих элементов и благодаря наследию Visual Studio Team Services (TFS). GitHub предоставляет большую экосистему открытого исходного кода и современные инструменты совместной работы.

Какой инструмент использовать для контроля версий: Azure Repos или GitHub Repos?

Оба варианта поддерживают репозитории Git и контроль версий. Azure Repos тесно интегрирован с Azure Boards и Azure Pipelines, что делает его привлекательным для команд, работающих в процессах Microsoft Azure DevOps. GitHub Repos (размещённые на GitHub) отлично подходят для публичных и приватных репозиториев, управления проектами с открытым исходным кодом, вкладов сообщества и рабочих процессов с pull request. Выбирайте в зависимости от того, что для вас важнее: интегрированный Azure Boards или более широкая платформа GitHub и её сообщество.

Можно ли перенести репозитории из Azure Repos в GitHub?

Да, репозитории можно перенести из Azure Repos в GitHub. Многие команды экспортируют репозитории Git из Azure Repos и импортируют их в GitHub или используют инструменты миграции. При миграции обычно важно сохранить историю коммитов, управлять пользователями, управляемыми предприятием, для GitHub Enterprise Cloud и при необходимости перевести интеграции CI/CD с Azure Pipelines на GitHub Actions.

Как Azure Boards и задачи GitHub (GitHub Issues) сравниваются для гибкого управления проектами?

Azure Boards предоставляет широкие возможности гибкого управления проектами: рабочие элементы, бэклоги, спринты и глубокую интеграцию с конвейерами и Test Plans, что делает его надёжным инструментом управления проектами для крупных компаний. Problems GitHub (и доски проектов) проще и лучше подходят для рабочих процессов открытого ПО и сообществ разработчиков, хотя GitHub расширил возможности планирования проектов; некоторые команды берут лучшее из обоих миров, подключая репозитории GitHub к Azure Boards.

Доступен ли GitHub Copilot для пользователей Azure DevOps?

GitHub Copilot в первую очередь интегрируется с инструментами разработчика, такими как Visual Studio Code и Visual Studio, поэтому разработчики, использующие Azure DevOps, всё равно могут применять Copilot в своих IDE. Запуск GitHub Copilot и последующие функции рабочих пространств Copilot делают его доступным для разработчиков независимо от серверной части CI/CD, однако некоторые корпоративные средства контроля и лицензирование зависят от того, используете ли вы GitHub Enterprise Cloud или предпочитаете среды, управляемые Azure DevOps.

Какая платформа лучше для пользователей, управляемых предприятием, и для безопасности: GitHub или Azure DevOps?

Обе платформы предлагают корпоративные возможности: Microsoft Azure DevOps обеспечивает детальный контроль доступа, интеграцию с Azure AD и расширенные функции соответствия требованиям, а GitHub Enterprise Cloud включает управляемых корпоративных пользователей и GitHub Advanced Security for Azure, который предоставляет сканирование кода, сканирование секретов и управление зависимостями. Выбор зависит от потребностей организации: Azure DevOps может лучше интегрироваться с существующими инструментами Microsoft, а GitHub обеспечивает более сильные возможности для открытого ПО и сообщества, а также расширенные параметры безопасности.

Чем отличаются конвейеры CI/CD в Azure Pipelines и GitHub Actions?

Azure Pipelines (часть Azure Boards and Pipelines) предлагает надёжный мультиплатформенный CI/CD с глубокой интеграцией с Azure DevOps и Visual Studio. GitHub Actions тесно интегрирован с платформой GitHub и обеспечивает гибкие рабочие процессы, запускаемые событиями репозитория, а также бесшовную автоматизацию pull request. Оба инструмента поддерживают контейнеры, облачные развёртывания и самостоятельно размещаемые раннеры; выбирайте инструмент devops, который подходит вашему процессу, или берите лучшее из обоих миров, соединив их.

Можно ли использовать Visual Studio и VS Code с обеими платформами?

Да, и Visual Studio, и Visual Studio Code (VS Code) поддерживают GitHub и Azure DevOps. Visual Studio имеет встроенные интеграции с Azure Repos и ADO, а VS Code хорошо работает с репозиториями GitHub, GitHub Copilot и обычными git-репозиториями. Разработчики могут использовать эти инструменты на разных платформах для редактирования кода, запуска тестов и работы с pull request или рабочими элементами.

Как обстоит дело с тестированием: есть ли Azure Test Plans на GitHub?

Azure Test Plans — это интегрированное решение для тестирования в Azure DevOps, которое предоставляет инструменты для ручного и исследовательского тестирования. GitHub не предлагает идентичного встроенного продукта для тест-планов, но вы можете интегрировать фреймворки тестирования, действия (actions) и сторонние системы управления тестированием с репозиториями GitHub, чтобы получить схожие возможности автоматизации тестов и отчётности.

Чем отличаются ценообразование и хостинг: размещение на GitHub или в Microsoft Azure DevOps?

GitHub предлагает размещённые сервисы (GitHub.com, GitHub Enterprise Cloud) с тарифными планами для команд и предприятий, делая акцент на публичных и приватных репозиториях и доступе сообщества. Microsoft Azure DevOps Services также предлагает облачные варианты размещения с ценообразованием по пользователям и локальные варианты (ранее TFS/Visual Studio Team Services). При принятии решения о стоимости учитываются минуты конвейеров, хранилище артефактов, управляемые корпоративные пользователи и необходимость локального размещения.

Могут ли команды использовать GitHub и Azure DevOps вместе?

Да, многие организации сочетают GitHub для хостинга кода и совместной работы с сообществом с Azure DevOps для управления проектами, конвейерами или тест-планами. Такой подход даёт лучшее из обоих миров: сильные стороны платформы GitHub для репозиториев и сообщества и возможности Azure DevOps вроде Azure Boards. Интеграции и коннекторы упрощают синхронизацию репозиториев из Azure Repos в GitHub или связывание событий репозитория GitHub с досками ADO.

Каким инструментом предпочитают пользоваться разработчики в сообществе: GitHub или Azure DevOps?

Разработчики open-source и многие индивидуальные разработчики предпочитают GitHub, потому что он поддерживает сообщество, публичные и приватные репозитории и встроенные процессы код-ревью. Команды предприятий и те, кому нужно комплексное управление проектами, чаще выбирают Azure DevOps. На выбор также влияют уже существующие инвестиции в Visual Studio и Microsoft Azure и то, насколько для вас важны такие возможности, как GitHub Copilot или GitHub Advanced Security for Azure.

Что стоит учесть команде при выборе между GitHub и Azure DevOps?

Учитывайте потребности в системе контроля версий, интеграцию с Visual Studio или VS Code, необходимость гибкого управления проектами (Azure Boards), требования к безопасности и соответствию нормативам, потребность в Azure Test Plans, важность видимости в сообществе и open-source, а также нужны ли вам такие возможности, как GitHub Copilot или расширенное сканирование безопасности. Оцените, какой инструмент DevOps лучше подходит вашему процессу, или выберите гибридную модель: например, использовать репозитории Azure Repos вместе с GitHub-репозиториями, подключёнными к Azure Boards и конвейерам.

Entities in this article

GitHub Azure DevOps Microsoft Fabric DevOps GitHub Actions Compliance Governance Least privilege Secrets management

Related articles

RSS