Windows Azure Migration Scannerを公開

Windows Azure MVP がBlogに投稿した「Announcing Windows Azure Migration Scanner」をざっくり意訳した投稿です。

Windows Azure へアプリケーションをマイグレーションするための新しいコミュニティツールであるWindows Azure Migration Scanner(略称:WAMS)をリリースしたことを発表できてとても嬉しいです。WAMSは、ソースコードをスキャンし、潜在的なマイグレーション時の課題を提示します。

wams01

wams02

wams03

マイグレーションを経験したことがある人ならだれでも知っているように、ある環境から別の環境へソフトウェアをマイグレーションする場合、多かれ少なかれ何かしらの作業が発生します。マイグレーションを始める前に、必要な作業量を知りたいものです。全体を知ることで、マイグレーションの範囲をすべてにするのか一部にするのか、実施しないのかを検討することができます。

すでに同様のWindows Azureへマイグレーションするためのすぐれたツールがいくつか提供されています。たとえば、SQL Azure Migration WizardWindows Azure TCO Toole ROI Calculatorなどです。ソースコードをスキャンするWAMSは、それらのツールと並行して使用することで補完しあいます。

WAMSは、ソースコードをスキャンし、正規表現のキーワードルールに一致するものがあるかどうかを調べます。たとえば、SQL Azureではサポートしていないデータの等価的暗号のSQLスクリプトを見つけると問題提示します。ルールファイルはカスタマイズすることができ、自分独自のルールを加えることもできます。

<category name="SQLAzure_TDE" filetypes=".sql" issuelevel="HIGH" ignorecase="true"
guidance="SQL Azure does not currently support transparent data encryption (TDE).">
<keyword>ENCRYPTION KEY</keyword>
<keyword>SET ENCRYPTION</keyword>
<keyword>sys.dm_database_encryption_keys</keyword>
<keyword>encryption_state</keyword>
</category>

WAMSは、発見した問題をWindowに表示したり、Excelで表示できるようにCSV出力することもできます。問題点に対して、ファイル名、行数、ルールカテゴリ、問題レベル、コード行、ガイドライン文を提示します。

wams04

WAMSは、スクリプトやビルドで使用できるようにコマンドラインツール形態も提供しています。出力ファイルには、タイムスタンプを付与することもできます。

wams06

WSMSで現在提供しているルールっファイルでは、C#、SQLスクリプト、.NET Configファイルのみを分析することができます。今後もメンテし、ほかの言語も確認できるようにしていきます。(手伝ってくれる人は連絡をください。)マイグレーションの問題をすべてカバーしているとは言えませんが、それでも見過ごしている問題を提示できる可能性があるので、WAMSは役立つと思います。

WAMSは、コミュニティのコラボレーションの結果です。codeplex上にプロジェクトが存在します。

http://wams.codeplex.com

プロジェクトには、インストーラーと、ドキュメントとxmlの木ワードファイルが含まれています。