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


Подготовка рабочих нагрузок для облака

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

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

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

Разверните все ресурсы рабочей нагрузки

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

  1. Создайте подписки Azure для сред рабочей нагрузки. Создайте отдельные подписки для разработки, тестирования и рабочих сред, чтобы обеспечить правильную изоляцию, отслеживание затрат и управление. Поместите подписки в соответствующую группу управления и примените специфичные для среды политики управления, назначения управления доступом на основе ролей и бюджеты управления затратами. Дополнительные сведения см. в статье "Создание подписок".

  2. Используйте план архитектуры. Разверните архитектуру Azure, определенную во время планирования внедрения облака. Убедитесь, что он отражает все обновленные требования к рабочей нагрузке. Инструкции см. в разделе планирование архитектуры Azure.

  3. Разверните все компоненты рабочей нагрузки. В тестовой среде (подписка) разверните все необходимые компоненты: вычислительные ресурсы (виртуальные машины, веб-приложения, контейнеры), хранилища данных (базы данных, учетные записи хранения), подсистемы балансировки нагрузки, управляемые удостоверения, виртуальные сети и ресурсы DNS.

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

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

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

  1. Просмотрите документированные требования к совместимости и известные проблемы. Используйте оценку рабочей нагрузки на этапе плана CAF, чтобы определить неподдерживаемые конфигурации и зависимости, которые должны быть исправлены.

  2. Устраните каждую проблему совместимости с помощью решений Azure. Примените исправления в тестовой среде Azure вместо изменения исходной среды. Распространенные проблемы совместимости:

Проблема совместимости Solution Почему это важно
Неподдерживаемые версии ОС Обновление до поддерживаемых операционных систем Azure требуются поддерживаемые версии ОС для обновлений системы безопасности и совместимости платформы
Устаревшие драйверы сетевого адаптера и BIOS Обновление драйверов и встроенного ПО BIOS Современные драйверы обеспечивают производительность сети и безопасность в Azure виртуальных машинах
Зависимости ввода/вывода локальных файлов Замените Хранилище BLOB-объектов Azure или Файлы Azure Облачное хранилище обеспечивает лучшую масштабируемость и интеграцию
Жестко закодированные IP-адреса Замените на механизмы обнаружения служб, такие как DNS или конфигурации приложений. Динамическая адресация поддерживает Azure сети и устойчивость
Антивирусное программное обеспечение на основе узла Интеграция с Microsoft Defender для облака Облачная безопасность обеспечивает более эффективное обнаружение угроз и управление ими
Учетные записи пользователей с жесткой кодировкой Замена управляемыми удостоверениями Управляемые удостоверения устраняют управление учетными данными и повышают безопасность.

Проверка функциональности рабочей нагрузки

После устранения проблем совместимости убедитесь, что рабочие нагрузки работают правильно в среде Azure. Комплексное тестирование является важным для подтверждения того, что все компоненты, конфигурации и интеграции соответствуют бизнес-требованиям и техническим требованиям. Этот процесс проверки снижает риски и обеспечивает плавное переход к рабочему развертыванию.

Проверка сетевого подключения

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

  1. Проверка подключения между всеми компонентами. Используйте диагностику подключения Azure Network Watcher, чтобы удостовериться, что уровни приложений могут взаимодействовать друг с другом и с внешними службами. Эта проверка подтверждает, что группы безопасности сети, таблицы маршрутизации и конфигурации DNS позволяют обеспечить необходимый поток трафика. Это средство предоставляет подробные сведения о проблемах с подключением и определяет конкретные проблемы конфигурации, которые препятствуют обмену данными.

  2. Проверьте подключение к внешней службе. Тестирование подключений к внешним API, базам данных и внешним службам, от которой зависит ваша рабочая нагрузка. Используйте Наблюдатель за сетями, чтобы убедиться, что исходящее подключение работает правильно, и правила брандмауэра разрешают необходимый трафик. Задокументируйте все требования к подключению к производственному развертыванию.

Валидация потоков аутентификации

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

  1. Тестирование процессов аутентификации пользователей. Используйте тестовые учетные записи пользователей, чтобы убедиться, что поставщики удостоверений, такие как Microsoft Entra ID, доступны, и проверка подлинности работает правильно. Протестируйте различные сценарии проверки подлинности, включая единый вход, многофакторную проверку подлинности и потоки сброса пароля, чтобы обеспечить полную функциональность.

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

Проведение функционального и производительного тестирования

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

  1. Выполните комплексное функциональное тестирование. Проводите тестирование приемки пользователей (UAT), тестирование интеграции и регрессионные тесты, чтобы убедиться, что приложение соответствует бизнес-требованиям и техническим требованиям. Проверьте все критически важные рабочие процессы пользователей и бизнес-процессы, чтобы обеспечить правильную работу в среде Azure. Задокументируйте все функциональные проблемы и устраните их перед развертыванием в рабочей среде.

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

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

  4. Включите заинтересованных лиц в приемочное тестирование. Проводите тестирование принятия с бизнес-пользователями, чтобы убедиться, что рабочая нагрузка соответствует бизнес-ожиданиям и требованиям к пользовательскому интерфейсу. Бизнес-валидация гарантирует, что рабочая нагрузка обеспечивает ожидаемую ценность и функциональность перед внедрением в производственную среду.

Создание повторно используемых инфраструктур

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

  1. Создайте шаблоны IaC для проверенных конфигураций. Выполните окончательную архитектуру тестовой среды (которая отражает то, что требуется в prod) и кодифицируйте ее. Используйте Bicep, Terraform или Azure Resource Manager шаблоны для определения инфраструктуры. Параметризуйте эти шаблоны, чтобы их можно было повторно использовать для различных этапов, таких как разработка, тестирование, с небольшими настройками, такими как имена или размеры. Эта настройка гарантирует, что созданная рабочая среда соответствует тестируемой среде. Это позволяет избежать человеческих ошибок при ручной навигации по порталу Azure для создания ресурсов. Это также означает, что если вы когда-либо хотите повторно создать среду, например для аварийного восстановления или развертывания в новых регионах, у вас будет готово развертывание инфраструктуры. Дополнительные сведения см. в разделе CAF Manage - Управление кодовыми развертываниями.

  2. Храните шаблоны в элементе управления версиями. Проверьте код инфраструктуры в репозитории Git (наряду с кодом приложения или в отдельном репозитории). Используйте GitHub или Azure DevOps для управления ресурсами IaC с соответствующим управлением версиями. Управление версиями включает проверки кода, поддерживает совместную работу команды и поощряет повторное использование шаблона в проектах. Этот подход обеспечивает полную отслеживаемость изменений в инфраструктуре и поддерживает возможность отката при возникновении проблем.

  3. Автоматизация установки и настройки зависимостей. Создайте скрипты или задачи конвейера для развертывания этих шаблонов, а также обработайте все необходимые задачи конфигурации или заполнения. Используйте Azure Pipelines, GitHub Actions для выполнения заданий развертывания, которые принимают шаблон IaC и развертывают в целевой подписке или группе ресурсов. Автоматизация установки зависимостей приложений, настройки параметров и управления секретами. Цель — это настройка среды в один щелчок (или однокомандный процесс): с нуля до полностью работающей среды, которая соответствует ранее протестированной.

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

Дополнительные сведения см. в статье "Проектирование цепочки поставки разработки нагрузки " и "Инфраструктура как код" в WAF.

Создание документации по развертыванию

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

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

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

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

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