Модернизация

Завершено

Модернизация облака — это практика улучшения существующих облачных рабочих нагрузок для улучшения бизнес-потребностей. Он выравнивает рабочие нагрузки с рекомендациями по облачным технологиям без добавления новых функций.

Подготовка организации к модернизации облака

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

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

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

  4. Узнайте, как модернизировать. Используйте Платформу Azure Well-Architected Framework для проведения проверок, которые определяют пробелы и создают стратегии модернизации в пяти основных аспектах: надежность, безопасность, оптимизация затрат, эффективность работы и эффективность производительности. Разрешить группам рабочей нагрузки принимать решения по модернизации, предоставляя бизнес-контекст и полномочия принятия решений в определенных границах, сохраняя регулярные проверки для выравнивания организации.

Планирование модернизации облака

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

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

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

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

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

  6. Безопасное утверждение заинтересованных лиц. Адаптировать предложения ценности для разных аудиторий (операционная эффективность для технических команд, бизнес-результатов для лидеров) и документировать структурированные планы с четкими вехами и временными шкалами. Квалифицируйте значение модернизации с определенными метриками, такими как 20-40% сокращение затрат и 50-80% повышения производительности. Устранение рисков проекта прозрачно с помощью стратегий устранения рисков и регулярное взаимодействие с отчетом о ходе выполнения и сборе отзывов.

Выполнение модернизаций в облаке

  1. Подготовьте заинтересованных лиц к модернизации. Объявите расписания развертывания заранее для всех затронутых сторон, включая ключевые даты, такие как замораживание изменений, запуск и переход в режиме реального времени. Реализация изменений зависает на исходных и зависимых рабочих нагрузках с четко определенным временем начала и окончания. Обмен данными о конечных действиях пользователя и изменениях после развертывания, включая новые URL-адреса доступа и требования к проверке подлинности. Координация поддержки персонала для развертывания с расширенными часами и процедурами эскалации. Определите резервные процедуры для критически важных рабочих нагрузок с помощью ручных обходных решений и планов на непредвиденные случаи.

  2. Разработка модернизаций в непроизводственных средах. Следуйте принципам Well-Architected Framework во время реализации с помощью рекомендаций Помощника по Azure и процессов проверки архитектуры для проверки решений по проектированию. Создайте непроизводственные среды, которые зеркально используют те же службы Azure в меньших масштабах или более низких уровнях производительности. Реализуйте изменения постепенно с помощью системы управления версиями и CI/CD с помощью Git для всех изменений кода и инфраструктуры в качестве скриптов кода с сборками непрерывной интеграции.

  3. Проверьте изменения модернизации с помощью тестирования. Выполнение модульных и интеграционных тестов для всех измененных компонентов с помощью конвейеров CI и регрессионного тестирования, чтобы избежать нарушения существующих функциональных возможностей. Выполняйте сквозное функциональное тестирование с помощью ручного контроля качества или автоматизированных тестов пользовательского интерфейса, имитации реальных рабочих процессов пользователей. Выполните тестирование принятия пользователей с заинтересованными лицами для получения отзывов о удобствах использования и функциональных возможностях. Проверьте производительность с помощью средств нагрузочного тестирования, таких как Нагрузочное тестирование Azure, на 150% ожидаемой нагрузки. Выполните проверку безопасности и проверки соответствия требованиям с помощью проверок уязвимостей и Microsoft Defender для Облака. Устраните все критические проблемы перед развертыванием в рабочей среде.

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

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

  6. Развертывание модернизации. Для развертываний на месте, планового обслуживания используйте конвейеры CI/CD для согласованного развертывания и реализуйте последовательную маршрутизацию трафика через канаровые развертывания с помощью слотов службы приложений Azure или разделения трафика контейнеров. Постепенно увеличивается до полного трафика при мониторинге метрик и поддержании согласованности данных во время развертывания. Для параллельных развертываний создайте параллельную рабочую среду с помощью шаблонов IaC, установите репликацию баз данных с непрерывной синхронизацией данных, скопируйте неструктурированные данные и файлы с помощью средств миграции Azure, завершите окончательную синхронизацию данных с нулевой потерей данных, постепенно сокращайте трафик пользователей с использованием взвешенных маршрутизаций, начиная с 1% и увеличиваясь постепенно. Выполните последний переключение на 100% с помощью конфигурации переключения DNS или подсистемы балансировки нагрузки. Немедленно проверьте функциональность после перехода и сохраните старую среду как горячую резервную среду в течение 24-72 часов.

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

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

Оптимизация рабочих нагрузок после модернизации облака

  1. Оптимизация конфигураций для облака. Систематически применяйте рекомендации помощника по Azure, просматривая еженедельные и реализуя критически важные изменения, фильтруя по рабочей нагрузке или группе ресурсов. Настройка параметров для конкретной службы с помощью руководств по службе Azure Well-Architected Framework для выравнивания конфигураций с рекомендациями. Устранение пробелов в конфигурации безопасности немедленно с помощью Microsoft Defender для облака для устранения критических и высокоуровневых результатов в течение 48 часов при настройке непрерывной оценки.

  2. Проверка готовности к работе. Проверьте охват и точность мониторинга, убедившись, что Azure Monitor собирает все необходимые журналы, метрики и трассировки для новых компонентов. Протестируйте правила генерации оповещений с помощью хаосного тестирования и обновления панелей мониторинга, чтобы отразить новую архитектуру. Настройте мониторинг затрат и элементы управления с помощью Microsoft Cost Management для отслеживания шаблонов расходов, задания оповещений о бюджете и ограничений расходов, а также еженедельного просмотра использования ресурсов для получения прав. Тестирование процедур резервного копирования и восстановления путем выполнения тестового восстановления с помощью Azure Backup или восстановления базы данных на определенный момент времени. Документ, достигнутый метрики RTO и RPO, и убедитесь, что все критически важные данные включены в политики резервного копирования.

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

  4. Создание практик непрерывной модернизации. Запланируйте регулярные проверки рабочей нагрузки каждые несколько месяцев с помощью проверок Well-Architected или проверок работоспособности, чтобы определить новые возможности оптимизации по мере развития облачных служб и изменения шаблонов использования. Автоматизация оптимизации везде, где это возможно с помощью политики Azure для применения рекомендаций, реализации правил автомасштабирования для настройки производительности и настройки оповещений о затратах с помощью управления затратами. Совместное использование результатов и рекомендаций путем документирования успешных шаблонов оптимизации, создания сборников схем для распространенных сценариев, поддержания баз знаний, полученных уроков, и внесения аналитических сведений в методики внедрения облачных решений организации.

Подробные рекомендации по Cloud Adoption Framework см. в разделе "Модернизация рабочих нагрузок в облаке".