★Azureへの移行はこんなに簡単!支援策に関する情報はこちら
Azure「べからず集」がほしい!
谷川:実際の苦労も聞きましょうか。不具合とかはありましたか?
柳下:たとえば「Windows Azure SQLデータベース」と「Windows Azureクラウドサービス」との間でタイムアウトが発生するケースがありました。仕方がないので、タイムアウトしたらリトライするように書き換えないとならない。
笹木:リトライを実装して頂くのは望ましいと思いますが、もしかしたらリソース制限にひっかかってタイムアウトが発生しているかもしれません。「SQLデータベース」には、現在プレビューですが、よりリソースを潤沢に利用できるプレミアムエディションがあります。それを使うと、エラーが出る確率を抑えられる可能性がありますね。
柳下:それで解決できるなら、ちょっとすぐにでも提案に行かないと(笑)!ところで、いまAzureでアプリケーションを開発する人たちはオンプレミスから来ていて、クラウドの機能を駆使するノウハウがまだ不十分なのかなと。
谷川:オンプレミスのまま、クラウドでも使えればいいと。
柳下:そうですね、だからMSさんはAzureのIaaSでSQL Serverのインストールを勧めているのかなと。これなら、オンプレミスからAzureへ移行しやすいからではないでしょうか。
笹木:オンプレミスからそのまま持っていきたいお客様は、「仮想マシン」でSQL Serverを動かすのがいいですね。一方、安さとスケールアウトによる拡張性を追求するWeb系の会社の多くは、データベースサービスの「SQLデータベース」を選んでいます。
オンプレミスのSQL Severで動いているデータベースを「仮想マシン」上のSQL Serverではなく、「SQLデータベース」に移行するには注意が必要です。インターフェイスは同じですが、そもそも違う製品なんです。「SQLデータベース」はうまく使えばいいサービスです。ただしオンプレミスからそのまま持ってくることは想定していません。たとえば、大規模な基幹システムからの移行となれば、データの容量制限にひっかかるでしょう。また、アーキテクチャを見直さなくてはならない場合も出てきます。
柳下:先ほどVIPスワップの話をしたように、データベースのスナップショットをとり、別にテスト環境を作ろうとするときなどは、「SQLデータベース」のほうが楽ですよ。実際の運用でアプリケーションが動くのであれば、コストも安くなるしPaaSを使ったほうがいい。ただし安定的に動かすためのテクニックが必要です。そのための.NETの情報はあるのですけどね。Windowsの世界だからただでさえOSS系は小さい所帯なのに、Azureとなるともっと狭くなり、まだノウハウが少ないです。
谷川:今後は、少なくとも今までWindowsの世界にいたOSSの人たちの多くは、Azureに行くはずですよね。
佐藤:そうさせないといけません。
谷川:世間の流れとしては?
佐藤:主に、Windows上のOSSをPaaSの「クラウドサービス」に持っていくのと、IaaSの「仮想マシン」を使いLinux上でOSSを動かすという2つの選択肢があります。Webアプリケーションであれば、Webアプリケーションに特化したPaaSである「Windows Azure Webサイト」を使うという、第3の選択肢もあります。
谷川:ところで、開発者目線で、OSSをAzureに持って行く際に気をつけなければならないことはありますか。
高山:そうですね、「nchar/nvarchar」ですかね。「SQLデータベース」では、SQLの文字列の先頭に「N」接頭辞をつけないといけないとか。
柳下:皆さんなんとなく「クラウドで動いたからラッキー」と楽観的ですが、全然使いこなしていませんよね。正統的な使い方を知らないのかも。単純にODBCでつないで安心してるとか。
谷川:クラウドがより手軽に使えるようになったのに、その上で動くデータベースを単なる入れ物としか使わないのは、もったいですね。
笹木:整理しておくと、Azureにはデータベースが2つあります。旧来からのSQL ServerそのままIaaSの「仮想マシン」に載せたものと、PaaSの「SQLデータベース」です。SQL Serverは豊富に機能があるので、クラウド上であってもぜひ使いこなしていただきたい。「SQLデータベース」はSQL Serverほど機能が豊富ではなくてシンプルです。一部、方言もありますが、入れ物としては極めて簡単に使えるサービスです。
柳下:だから、そこに罠があります(笑)。「使いやすそう」と思って実際に使ってみると、さっきのタイムアウトとかに遭遇します。制限事項とか、べからず集がない。いろんな事例から得た経験則、これが少ないので罠にはまるわけです。
谷川:「こうしてください」という情報は多いけど、「こうしちゃだめですよ」が少ないと。
柳下:どんなプラットフォームでも共通なのは、ノウハウが充実しないと使えないということ。MTに限っていうと、同一の筐体上でMTとSQL Serverを動かしていたときよりも、Azureで「SQLデータベース」を使ったほうが速くて驚きました。何度テストしても速かった。これは、ぼくらがSQL Serverを使いこなすノウハウが足りなかったのかもしれません。そんなぼくが情報を探すために、ここ2年間、それこそ、佐藤さんを「人間Google」のように(笑)使ってですね…
佐藤:そこは「人間Bing」でお願いします(笑)。
柳下:佐藤さんとのやりとりの多くは「これに関する情報はどこにありますか」「ここを見てください」なんです。情報はあるのに、佐藤さんに聞かないとたどり着けない。ただそれをMSさんだけでやるのはつらいと思うんですよね。
話は変わりますが、シックス・アパートが提供するMTでAzureに関連するものは2つあります。1つが、Movable Type Advancedを「クラウドサービス」と「SQLデータベース」で使う組み合わせです。もう1つが、「仮想マシン」でMTを使うものです。前者だと価格は180万円です。その代わり何台でもサーバーを立てられるマルチサーバーライセンスになっています。本番用やテスト用など、それぞれにサーバーライセンスを買うより安くなります。「クラウドサービス」に最適なライセンスですね。
ただし、そういうライセンスを必要とするお客様はほんの1割程度です。残りの大多数は極端な話、安ければ安いほうがいい。そういう人たちには後者の「仮想マシン」の利用が選択肢になるでしょう。今後、「Windows Azure Webサイト」での動作検証をすすめていく予定なので、期待してください。
システム移行の課題をWindows Azureで解決!
Windows Server 2003の延長サポートが2015年7月で終了します。
更新のさまざまな問題は、業務システムをWindows Azure上で稼働させることで解決できます。
マイクロソフトでは、システム移行にまつわるさまざま課題を解決します。導入のメリットから、すぐにわかるWindows Azure移行費用概算ドキュメントまで、下記のページで詳しくご案内しています。