Поделиться через


Рекомендации для DevOps

В этой статье приведены рекомендации и рекомендации по DevOps в целевых зонах Azure.

Что такое DevOps

DevOps — это объединение людей, процессов и технологий, которые обеспечивают непрерывное значение для разработки (разработки) и операций (ops). Подход DevOps поощряет совместную работу команды, которая создает повторяющиеся процессы, помогающие организациям эффективно работать и масштабироваться.

В контексте целевых зон Azure DevOps становится платформой, которая управляет командой (или командами), ответственной за все управление жизненным циклом целевых зон Azure в таких областях, как:

  • Как самостоятельно упорядочивать и определять границы с другими командами для достижения соответствующего баланса между автономией и управлением
  • Как непрерывно развивать архитектуру целевой зоны Azure (закон Конвея)
  • Планирование, приоритет и итерацию реализации разработанной архитектуры
  • Как реализовать управление версиями, непрерывную интеграцию и непрерывное развертывание для кода целевой зоны Azure
  • Как работать и реагировать на инциденты для систем и платформ, которыми вы владеете
  • Уровень автоматизации, применяемый к подготовке целевой зоны Azure и самовосстановлению
  • Как сотрудничать с другими командами в организации в гибкой ориентированной на результат способе
  • Создание генерирующей культуры безопасности, качества, центризма пользователей и непрерывного обучения

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

Рекомендации по проектированию DevOps

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

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

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

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

  • Оцените влияние реализованных методик DevOps и средств DevOps на проектирование целевых зон Azure.

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

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

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

Рекомендации DevOps

В следующих разделах содержатся рекомендации по реализации платформы DevOps в организации.

Определение платформы DevOps

Чтобы установить платформу DevOps, попробуйте использовать платформы, которые уже доступны для начала с набора стандартных проверенных методик:

Определение методик DevOps для управления целевыми зонами Azure

Рассмотрим следующие методики DevOps для целевых зон Azure:

Планирование пути реализации DevOps

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

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

Реализация требуемых метрик DevOps

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

Примеры метрик, которые измеряют производительность DevOps для повышения влияния на бизнес, включают:

  • Бизнес-результаты:

    • Используйте цели и ключевые результаты в качестве инструмента для перемещения команд от "выходного" мышления и в направлении "результата" мышления. Например, можно использовать количество рабочих нагрузок, которые улучшили их рейтинг соответствия по количеству политик, развернутых в Azure.
    • Удовлетворенность клиентов или конечных пользователей. Примеры включают оценку Net Promoter (NPS), опросы, интервью.
    • Рост бизнеса. К примерам относятся повышение рентабельности, увеличение доходов и новые источники дохода.
    • Люди метрики. К примерам относятся оценка "Сотрудник Net Promoter" (eNPS), использование, хранение и удовлетворенность.
    • Расходы. Например, можно использовать сокращение затрат.
  • Производительность доставки программного обеспечения:

    • Время выполнения изменений, время, необходимое для исправления ошибок, новой функции или любого другого изменения, чтобы перейти от идеи к развертыванию в рабочую среду.
    • Частота развертывания, развертывания в день изменений кода в рабочей среде.
    • Среднее время восстановления, время, затрачиваемое на восстановление службы в рабочей среде после инцидента.
    • Изменение процента сбоя, процент изменений в рабочей среде (например, изменения конфигурации), которые приводят к сбою.
  • Качество:

    • Скорость побега дефектов, количество дефектов, выявленных конечными пользователями.
    • Незапланированная работа или переработка, процент времени, затраченного на незапланированную работу или переработку.
    • Активные ошибки, количество ошибок, которые еще не исправлены.
    • Работоспособность кода, процент кода, который не был протестирован модульным тестом.

Определение экосистемы технологий DevOps

Цепочка инструментов DevOps, используемая для управления жизненным циклом целевых зон Azure, влияет:

  • Стратегии реализации принципов и методик DevOps
  • Рекомендации по безопасности жизненного цикла DevOps
  • Общая архитектура управления жизненным циклом целевых зон Azure

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

Примеры технологий DevOps на разных этапах DevOps:

  • Планирование: Atlassian Jira, Atlassian Trello, Azure Boards, GitHub
  • Непрерывная интеграция (CI) и тестирование: Atlassian Bitbucket, Azure Repos, GitHub Repos, npm, NuGet, Selenium, SmartBear Cumber, SonarSource SonarQube, Zed Attack Proxy
  • Непрерывная доставка (CD): Atlassian Bamboo, Azure Pipelines, GitHub Actions, Jenkins, Octopus Deploy, Perforce Puppet, RedHat Ansible
    • Инфраструктура как код: Bicep, Pulumi, Terraform
    • Начальная загрузка: ArgoCD GitOps, Flux GitOps, Progress Chef, PowerShell Desired State Configuration (DSC)
  • Операции: служба автоматизации Azure, Azure Monitor, CISCO Splunk, Grafana, Microsoft Power BI
  • Совместная работа и отзывы: Atlassian Confluence, Azure DevOps Wikis, GitHub Discussions, GitHub Wikis, Microsoft Teams, Slack, Stack Overflow

На следующей схеме показан пример платформы DevOps с выбором цепочки инструментов Azure DevOps:

Схема платформы DevOps с выбором цепочки инструментов Azure DevOps.

На следующей схеме показан пример платформы DevOps с выбором цепочки инструментов Azure DevOps и GitHub:

Схема платформы DevOps с выбором цепочки инструментов Azure DevOps и GitHub.

Следующий шаг