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


Автоматизация платформы и DevOps для акселератора целевой зоны Служба приложений

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

Узнайте больше об автоматизации платформы и области разработки DevOps .

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

Автоматизация и DevOps — это важные методики разработки современного программного обеспечения, а Служба приложений — это мощная платформа для создания и развертывания веб-приложений. Используя методы автоматизации и DevOps, вы можете оптимизировать рабочий процесс и повысить качество и надежность приложений.

При подготовке к развертыванию Служба приложений учитывайте следующие моменты.

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

  • При проектировании автоматизации и конвейера CI/CD в Служба приложений следует сделать безопасность приоритетной задачей. Задачи безопасности могут включать реализацию мер проверки подлинности и авторизации для защиты доступа к конвейеру и его компонентам. Они также могут включать в себя реализацию шифрования и другие меры безопасности для защиты конфиденциальных данных.

  • Рассмотрите возможность непрерывной интеграции и развертывания. Служба приложений поддерживает непрерывную интеграцию и развертывание из различных систем управления версиями, включая Azure Repos, GitHub и Bitbucket. Эти средства можно использовать для автоматизации процесса сборки и развертывания, обеспечивая актуальность и доступность приложения.

  • Рассмотрим сценарии автоматизации. Служба приложений предоставляет ряд сценариев автоматизации, включая PowerShell, Azure CLI, Bicep и шаблоны Azure Resource Manager (ARM). Эти скрипты можно использовать для автоматизации распространенных задач, таких как подготовка и масштабирование ресурсов.

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

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

  • Убедитесь, что бизнес-логика проверяется модульными тестами в конвейере сборки. Используйте тесты интеграции в конвейере выпуска, чтобы проверка, что все службы и ресурсы работают вместе после нового выпуска. Проверьте наиболее важные элементы пользовательского интерфейса с помощью автоматических тестов пользовательского интерфейса. Проверьте нефункциональные требования к производительности с помощью нагрузочного тестирования с помощью таких средств, как k6 и JMeter в промежуточной среде.

  • Мониторинг и обслуживание конвейера автоматизации и CI/CD. Этот процесс может включать реализацию средств ведения журнала и мониторинга для отслеживания производительности и работоспособности конвейера. Она также может включать реализацию процесса регулярного обзора и обновления конвейера, чтобы обеспечить его эффективность и эффективность.

Ключом к успешной автоматизации платформы и реализации конвейера CI/CD в Служба приложений является тщательное планирование и проектирование решения с учетом конкретных потребностей и требований развертываемых приложений. Используя правильный подход, вы можете создать масштабируемую, безопасную и эффективную платформу для развертывания приложений и управления ими в облаке.

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

При развертывании Служба приложений учитывайте следующие рекомендации.

  • Используйте Azure DevOps для конвейера CI/CD. Azure DevOps предоставляет комплексное решение для автоматизации сборки, тестирования и развертывания приложений.

  • Используйте конвейеры или действия, чтобы:

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

  • Разделить развертывание инфраструктуры и развертывание приложения. Базовая инфраструктура меняется реже, чем приложения. Рассматривайте каждый тип развертывания как отдельный поток и конвейер.

  • Используйте инфраструктуру как средства кода, такие как шаблоны ARM или Bicep, для автоматизации подготовки ресурсов Azure и управления ими. Шаблоны ARM и Bicep можно использовать для определения инфраструктуры как кода, что упрощает управление версиями, совместную работу и автоматизацию развертывания ресурсов.

  • Храните секреты и другие конфиденциальные артефакты в соответствующем хранилище секретов (например, секреты Azure Key Vault или GitHub). Разрешить действиям и другим частям рабочего процесса считывать их при необходимости.

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

  • Реализуйте безопасность влево , включив средства проверки уязвимостей и секретов, такие как сканеры контейнеров, на ранних этапах конвейера.

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

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

  • Отслеживайте производительность и доступность приложений с помощью Application Insights. Application Insights предоставляет аналитические сведения о работоспособности и использовании приложений в режиме реального времени. Это также поможет быстро диагностировать и устранять возникающие проблемы.

  • Реализуйте средства и процессы, упрощающие взаимодействие и совместную работу, такие как методологии гибкой разработки и инструменты для отслеживания задач и зависимостей и управления ими. Успешная автоматизация платформы, DevOps и процессы CI/CD зависят от эффективной совместной работы и взаимодействия между участниками команды.

Ключом к успешной автоматизации платформы, DevOps и CI/CD с Служба приложений является проектирование и реализация процессов и систем, которые являются масштабируемыми, безопасными, хорошо отслеживаемыми и совместными. Эти рекомендации помогут ИТ-инженерам и облачным инженерам обеспечить оптимальную производительность и удобство работы с пользователем.