Утилиты для 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:
- Использовать WAMS как Windows-приложение - wams.exe
- Использовать WAMS как утилиту командной строки - wamscmd.exe
- Использовать WAMS как библиотеку, вызываемую из кода приложения - wamslib.dll
Адрес для загрузки: http://wams.codeplex.com/
SQL Azure Migration Wizard
Утилита SQLAzureMigrationWizard (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://sqlazurefedmw.codeplex.com/
/АФ