【書評】Windows Azureテクニカルハンドブック

4月のC#ユーザー会でいただいた(じゃんけんで勝ち取った)「Windows Azureテクニカルハンドブック」をやっと読みました。いただいてから約2ヶ月もかかってしまいすみません。

IMG_20120407_180443

日本マイクロソフトのエバンジェリストが監修し、AzureMVP3名が内容を書くというこれ以上ない贅沢な布陣です。Windows Azure全体をほぼ網羅しながら、自称中級者の自分が読んでも内容が薄いと感じることはありませんでした。日常的にWindows Azureを使用し・試行錯誤しているからこそ、それぞれの技術的要素の抑えておくべきポイントを把握しているからかもしれません。Windows Azureを知り尽くしているスーパーエンジニアという理由だけでなく、MVPは初心者・中級者を中心にコミュニティで情報をアウトプットしていることを評価されているため、Windows Azureの何をどのように伝えるべきかについて日本では右に出る者がない贅沢な著者陣による本になっています。

以下、本書を読み終わっての個人的な感想を書きます。

本書の対象:

Windows Azureについて初めて学ぶ初級、または断片的な知識を整理して理解したい中級エンジニア(開発者、インフラエンジニアに関係なく)

「クラウドサービスとは?」「Windows Azure Platformとは?」から始まり、1通りWindows Azureの備える機能を網羅しており、初心者から中級者まで活用できる内容になっています。補足・中級者向けの内容は注を使用して解説しており、流れを妨げることなく補足的な内容も合わせて確認することができます。

ポイント:

開発者・インフラエンジニア・運用エンジニア向け:

Windows AzureはPaaSであるため、クラウド上で実行されるサービスを作成する開発者だけでなく、スケーラビリティ・リソースの効率的利用、カットオーバー後の監視・運用を行うエンジニア向けの内容も充実しています。「6章 アプリケーションの運用」は、まさに開発者以外も必見の内容になっています。

.NET以外のテクノロジーの解説:

基本的にサンプルコードはC#で書かれていますが、Windows AzureはJava,PHPなどで書かれたアプリケーションもサポートしています。「5章 アプリケーション開発」ではJavaからJDBC経由、Hibernate経由でSQL Azureへアクセスするサンプルコードが載っています。

事例:

Windows Azure上で稼働している「MSN産経フォト」のアーキテクチャ、開発、運用事例が掲載されています。クラウド上のサービスがどのようなアーキテクチャで稼働しているのか、開発体制は何が変わって何が変わらないのか、インスタンス数増減の運用、オンプレミスでの運用と比較して削減できたコストなど、技術のみを学んでいても知ることのできない非常に貴重な生の事例を見ることができます。

最新情報のキャッチアップ:

Windows Azureは短いサイクルで新機能がリリースされるため、半年前の最新情報が最新でなくなることも珍しくありません。しかし、正式リリースされた機能が根本的に変更されることは考えにくく、内部の造詣に深く、頻繁に情報のアウトプットを行なっている方々によって書かれた本書によってWindows Azureの本質を理解することで、新機能へのキャッチアップも行いやすくなると思います。新機能も現行機能の延長上、現行機能では不足している部分を補うためにリリースされるのであり、現行の1バージョン前の情報をきちんと抑えていくことで、新機能の目的・利用シーンを想像しやすくなります。本書でもWindows Azure管理ポータルは英語版のキャプチャーが掲載されていますが、現在は日本語版を利用することができます。また、SQL Azureの管理用画面も、現在は本書の掲載内容と一部異なっていますが、クラウド上のRDBという本来の役割・目的は何も変わっておらず、これまでできなかったこと、やりにくかったことができるようになっておりやや古くなった情報であっても問題はないと思います。

クラウドのサービスはめまぐるしく新機能が発表され、文字通り日進月歩でサービス内容が進化(変更ではなく)しています。ある時点での最新情報を網羅的に理解し、差分情報を自分で探して学ぶことの重要性が他の分野以上に高まっています。「7章 最新情報」には、未来の新機能をキャッチアップするための場(URL)が記載されており、エンジニアとして書籍、Webページで学んで終了ではなく、常に最新情報をキャッチアップすることの重要さにも触れています。

最後に:

2012/6/8にWindows Azureの大きな新機能が発表されました。IaaSやWebロールよりももっと手軽にWebサイトを構築できる機能が利用可能になっています(Preview版ですが)。現在(2012/06/10)が「Windows Azure 2.0」とするならば、本書に記載されている内容は「Windows Azure 1.0」です。ただし、新機能「Virtual Machines」は「VM Role」の発展版、「Web Sites」はWebロールよりも手軽にサイトを公開するために、AmazonのBeanstalk,Herokuに対抗したサービスであり、「Windows Azure 2.0」は「Windows Azure 1.0」の延長上にあります。新機能が発表されたからといっても、既存機能はこれまでどおり利用可能であり、本書の記載内容が風化するわけではありません。新機能の目的・役割を理解する上でもこれまでのWindows Azureを理解することは非常に重要だと思います。