Утилиты для Windows Azure. Часть 3

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

Windows Azure Migration Assessment Tool (MAT)

Утилита Windows Azure Migration Assessment Tool (MAT) позволяет оценить усилия по миграции существующих приложений на платформу Windows Azure. Оцениваются вопросы, связанные с миграцией сервера приложений, базы данных, механизмов интеграции, механизмов обеспечения безопасности, управления приложениями для платформы .NET, а также для приложений на Java и PHP. Работа с приложением состоит в ответе на серию бизнес и технических вопросов (чуть более 50), описывающих создаваемое или планируемое к переносу приложение. К каждому вопросу приводится детальное пояснение, которое может быть загружено, и, при необходимости отдельно проанализировано. Вопросы организованы в следующие группы:

  • Бизнес-вопросы
  • Коммуникации
  • Развертывание, установка, версионность
  • Интеграция
  • Локальный доступ и хранилище
  • Безопасность
  • SQL
  • Веб-методологии

Рис. Windows Azure Migration Assessment Tool

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

Рис. Отчет, созданный MAT

Адрес для загрузки: http://matclickonce.blob.core.windows.net/app/publish.htm

Windows Azure Migration Scanner

Утилита Windows Azure Migration Scanner (WAMS) – это средство для сканирования исходного кода приложения и обнаружения потенциальных проблем при миграции приложения на платформу Windows Azure. WAMS выполняет проверку кода на соответствие определенным правилам. Файл с описанием правил задает регулярные выражения, описывающие области, требующие внимания при переносе приложений. Например, если в приложении C#/.NET используется пространство имен System.Messaging, вставляется предупреждение о том, что использование сервисов MSMQ должно быть преобразовано в Windows Azure Queue Storage.

Рис. Windows Azure Migration Scanner

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

  1. Использовать WAMS как Windows-приложение - wams.exe
  2. Использовать WAMS как утилиту командной строки - wamscmd.exe
  3. Использовать WAMS как библиотеку, вызываемую из кода приложения - wamslib.dll

Адрес для загрузки: http://wams.codeplex.com/

SQL Azure Migration Wizard

Утилита SQL Azure Migration Wizard (SQLAzureMW) предназначена для упрощения процесса миграции баз данных с SQL Server 2005/2008 на SQL Azure. Утилита анализирует исходную базу данных на предмет наличия проблем с совместимостью и позволяет полностью или частично мигрировать схему данных и сами данные в SQL Azure.

Входящий в состав SQL Azure Migration Wizard «мастер» проводит пользователей по всем шагам анализа и миграции. Поддерживаются следующие варианты анализа, генерации скриптов и миграции данных (через BCP):

  • Из SQL Server в SQL Azure
  • Из SQL Azure в SQL Server
  • Из SQL Azure в SQL Azure

В SQL Azure Migration Wizard поддерживаются следующие типы входной информации:

  • Если исходной является база данных SQL Server, SQL Azure Migration Wizard отображает все типы объектов (таблицы, хранимые процедуры, представления и т.п.) и позволяет выбрать, какие из них подлежат анализу. Использование расширенных опций позволяет указать, какие проверки на совместимость следует выполнять и нужно ли мигрировать данные
  • Если исходным является код на языке TSQL, SQL Azure Migration Wizard выполняет проверку совместимости и, по возможности, вносит изменения или просто выполняет код без каких-либо проверок
  • Анализ может быть выполнен и на основе трассировочного файла, созданного средствами SQL Profiler

Рис. SQL Azure Migration Wizard

В состав SQL Azure Migration Wizard входят два очень полезных дополнения:

  • SQLAzureMWBatchBackup
    • Используется для создания резервных копий схемы и данных. Данные загружаются через BCP. Создаваемый утилитой SQLAzureMWBatchBackup код на языке TSQL может быть использован при работе с утилитами SQLAzureMW или SQLAzureMWBatchUpload
  • SQLAzureMWBatchUpload
    • Использует на входе код, созданный утилитами SQLAzureMW или SQLAzureMWBatchBackup и выполняет его на указанном сервере SQL Azure (или SQL Server)

Для корректной миграции схемы и данных сначала необходимо убедиться в том, что база данных совместима с SQL Server 2008 (уровень 100). При использовании предыдущих версий базы данных (уровни 80 и 90) сначала необходимо осуществить их миграцию SQL Server 2008 с помощью соответствующих средств, а уже после этого использовать SQL Azure Migration Wizard для переноса схемы и данных в SQL Azure.

Утилита SQL Azure Migration Wizard поставляется с полным исходным кодом и доступна для загрузки по адресу http://sqlazuremw.codeplex.com/.

SQL Azure Federation Data Migration Wizard

Утилита SQL Azure Federation Data Migration Wizard (SQLAzureFedMW) упрощает процесс миграции данных из одной базы данных в несколько федераций, созданных средствами SQL Azure Federation. SQL Azure Federation Data Migration Wizard позволяет выбрать базу данных SQL Server и указать, какие таблицы (только данные) следует мигрировать. Данные будут извлечены (через BCP) и загружены в SQL Azure Federation. Процесс загрузки данных через BCP может быть запущен как последовательно, так и параллельно (можно указать число параллельных потоков). В состав SQL Azure Migration Wizard входит библиотека классов, которая может использоваться разработчиками, создающими приложения для SQL Azure. Перед использованием SQL Azure Federation Data Migration Wizard необходимо убедиться в том, что схема базы данных уже перенесена в SQL Azure Federation и таблицы исходной базы данных соответствуют федерациям.

Утилита SQL Azure Federation Data Migration Wizard построена на основе библиотеки SQLAzureMWUtils, входящей в состав проекта SQL Azure Migration Wizard (см. выше) и поставляется с полным исходным кодом.

Адрес для загрузки: http://sqlazuremw.codeplex.com/