エンジニア向けの Azure 学習おすすめプログラム

さて、先週 Azure の実装ガイドラインを Web で公開したわけですが、おかげさまでかなりのブックマークをいただいたり、資料のダウンロードをしていただけた様子。しかし、そもそも Azure を全く触ったことがない、という方には、あちらの資料ではややハードルが高いのも実際のところ。また、Azure に関しては情報が散逸しているので、「どこから手をつけていいのかわからない」という方も多いと思います。一昨日に、MCS の若手メンバの一人である増田さんが書いてくださった、初学者向けのAzure アプリ開発の Step-by-Step ガイドも公開されましたので、今回は、「今から Azure を勉強したい、触り始めたい」と思っているエンジニアの方々向けに、(激しく手前味噌ですが)学習用のロードマップ情報をお伝えしようと思います。これらを使えば、最短距離で Azure をかなりハイレベルに利用できるようになると思います。こちらのページをぜひ、Azure をこれから学習したい!という方にお勧めしてください。 [Azure を全く知らない方向け] マイクロソフトのクラウドコンピューティング “S+S” 概要 マイクロソフトのクラウドコンピューティングの全体像を 15 分でさらっと理解するためのコンテンツ。マイクロソフトのクラウドコンピューティング戦略の全体像や、マイクロソフトのクラウドサービスのブランディング(BPOS, Live, Azure)の位置づけなどを理解することができます。まずはここから。 Windows Azure Platform 概要 Windows Azure の主要な構成要素がどのようなものかを、「超ざっくりと」説明した資料。コンピュートサービス、SQL Azure、ストレージサービスの 3 つをざっくりと説明しています。 既存業務システムの Windows Azure への移行 既存業務システムを Windows Azure へ移行する際に、「どんなシステムがクラウド(Azure)に向いているのか?」「移行する場合に、特にどのへんに考え方のギャップが生じるのか?」を説明したもの。TechEd 2010 のセッション(70 分)です。(同じ場所で他にも良いコンテンツが公開されているのでそちらもどうぞ。) [Azure を全く触ったことがない方向け] Windows Azure 用アプリケーション開発 Step-by-Step チュートリアルガイド…

1

Windows Azure 実装ガイド、公開しました!

※ 2011/10/31 追記:バージョンアップ版を公開しました。こちらのエントリもご参照ください。 というわけで皆様、大変ご無沙汰しております;。1 月に Windows Azure のエントリを書いて以来、Azure 案件で忙しい日々が続いており、とても blog どころではなかった....というのが正直なところ;。現在はホントに Azure 一色な日々を送っているのですが、おかげさまでついに! というかようやく! Windows Azure の実装ガイドラインとなるコンテンツを公開することができました!(嬉) Visual Studio Workshop #451 Windows Azure 上での Web アプリケーション開発基礎 こちらのリンクから辿ってダウンロードしてください。  TechEd Keynote セッションなどでちらっとご紹介して以来、本当に長らくお待たせしてしまったのですが、マイクロソフト社内の様々な関係者のご協力でついに公開することができました! この場を借りてお礼申し上げます。本当にありがとうございました。 こちらのスライドは、ppt ベースで 324 ページから構成されるもので、現時点での Azure 開発用マテリアルとしては、おそらく全世界レベルで見ても最も情報がまとまっているコンテンツではないかと思います。このマテリアルですべての開発の疑問が解決するわけではないと思いますが、たいていの質問には答えられると思います。 なお、こちらのマテリアルの利用にあたっては、以下の点にご注意いただければと思います。 このマテリアルは、あくまで現場の開発者の皆様の、セルフトレーニング(勉強)用にご提供するものです。複製、転載、商用利用はご遠慮下さるよう、お願いいたします。(例:この内容を社内で製本して配布するとか、このマテリアルを使って社内向けトレーニングを実施するとか、設計書や社内資料、お客様向け資料に引用したりコピペするとかしてはいけません。) 内容については、私が独自に調査しているものを多分に含んでおります。技術情報に関しては誤りがないように全力で調査をしていますが、万が一、間違いがあった場合には、こちらの blog などで報告をしていきたいと思います。 Azure のアップデートなどによりこちらの情報が古くなる可能性もありますが、現時点ではマテリアルの更新について行う予定はありません。申し訳ありませんが、差分情報については各自で調査をお願いできればと思います。(基本はこれからもそんなに変わらないと思いますが。) Windows Azure 開発に携わっているすべての方のお役にたてるマテリアルだと思いますので、ぜひこのコンテンツを学習して、Azure 開発を進めていただければと思います。(というかこれだけの情報を公開している PaaS サービスは他にはないんじゃないかと思う……^^) と、これだけでは何ですので、ここでは少し裏話を…… [このマテリアルはいったい何か?] 今回、公開したこの ppt マテリアルは、MCS(マイクロソフトコンサルティングサービス)が企業向けに提供している有償…

1

Part 3. Hello World, Windows Azure アプリケーションの開発 その 4

※ 本エントリは その 3 の続きです。(エントリが長すぎて投稿できなかったため分割しています) [アプリケーションの修正と Azure 環境への再配置(アップグレード)] さて、開発用ファブリックと Azure 本番環境では様々な相違点があります。Azure 本番環境で問題となりやすい制限事項としては、以下のようなものがあります。 この中でも、国際化対応に関連する問題はよくひっかかりやすいポイントになります。例えば、以下のような簡単な処理でも、Windows Azure 環境では、開発環境とは異なる動きをすることになります。 これらについては、基本的に以下の対策を行うとよいでしょう。 web.config ファイルに、データカルチャと UI カルチャを変更するための設定を追加する。 アプリケーションの中の時刻処理を、タイムゾーンを意識したコードに変更する。 1: <configuration> 2: <system.web> 3: <globalization culture="ja-jp" uiCulture="ja-jp" /> 4: </system.web> 5: </configuration> 1: // 従来であれば以下のように実装していたところを… 2: // DateTime now = DateTime.Now; 3: // 以下のように実装する 4: DateTime now = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now.ToUniversalTime(), "Tokyo Standard Time"); では実際に、これらの修正を加えて…

0

Part 3. Hello World, Windows Azure アプリケーションの開発 その 3

※ 本エントリは その 2 の続きです。(エントリが長すぎて投稿できなかったため分割しています) [Azure 運用環境への展開] さて、開発用ファブリック上で Web アプリケーションを開発・デバッグし終えたら、いよいよこれを本番環境である Windows Azure 運用環境へとアップロードします。この運用環境への配置(デプロイ)のためには、主に以下の作業が必要になります。 Windows Azure プラットフォームのアカウントの取得 SQL Azure データベースサービスへの移行 Windows Azure ストレージサービスへの移行 Windows Azure コンピュートサービスへの移行 このうち、1 点目のアカウント取得に関しては、すでに様々な blog などで紹介されていること、また人によって利用可能なオプション(例えば MSDN 特典など)が異なると思いますので、本エントリでは解説しません。利用可能なオプションについては、Windows Azure の PM (プロダクトマネージャ、要するに製品担当)である馬田さんの blog や、クラウド系エバンジェリストとして有名な砂金さんの blog などを参考にしてください。ここでは、アカウントを取得した後の作業を中心に解説していくことにします。 SQL Azure データベースサービスへの移行 まずはデータベースの移行です。SQL Azure データベースサービスを管理するには、まず管理サイトである https://sql.azure.com/ にアクセスし、以下の作業を行います。 SQL Azure プロジェクトを作成し、管理者アカウントを作成する。 作成時にデータセンタを選択することになりますが、通常は東南アジアのデータセンタを選択すればよいでしょう。 (ってあれ....今、地図を見たら東アジアの香港の方が近い気がする....orz) ファイアウォールの設定を緩和する。 SQL Azure…

0

Part 3. Hello World, Windows Azure アプリケーションの開発 その 2

※ 本エントリはその 1 の続きです。 [開発用ファブリック上での動作確認] 引き続き、”CloudService1” プロジェクトをスタートアッププロジェクトに変更し、Ctrl + F5 キーで実行します(※ サーバエクスプローラが pubs.mdf を握っているとエラーが発生するので、デタッチしてから実行してください)。すると、タスクトレイに “Development Fabric” と呼ばれる Windows Azure エミュレータ環境が起動し、この中でアプリケーションが起動します。 一見すると、先ほどと変わりなく動作しているように見えますが、実際にはかなり異なる環境で Web アプリケーションが動作しています。これについて以下に解説します。 開発用ファブリックのランタイム構成 最終的な運用環境では、このアプリケーションは、ファブリックコントローラによって Windows Azure コンピュートサービスのインフラ上に展開され、複数の仮想マシン(VM, Virtual Machine)が起動します。 通常、IIS 7 ではワーカプロセスとして w3wp.exe が利用されますが、Windows Azure コンピュートサービスでは、専用のワーカプロセスとして WaWebHost.exe というものが用意されており、これが起動します。この WaWebHost.exe には、以下の特徴があります。 IIS 7 のモジュールをロードして動作するため、内部動作は w3wp.exe とほぼ同じ。 内部では、ASP.NET ランタイムが統合パイプラインモードで動作している。 1 仮想マシン(サーバ)あたり 1 ワーカプロセスが起動する。(=1 つの VM の中で、複数のワーカプロセスが起動することはない) これに対して、開発用ファブリックでは、運用環境で利用される…

0

Part 3. Hello World, Windows Azure アプリケーションの開発 その 1

というわけで Part 2. のエントリのアップからしばらく時間が空いてしまってすみません;。実は社内に引きこもってひたすら Azure の Workshop コンテンツを開発していたためなのですが、難産の末、ようやく開発が終了したのでこちらの blog に取り組めるようになった次第だったりします。先日の Tech Days 2010 で正式リリースされたこともあり、ちょうど Windows Azure を学ぶにはよい時期……に図らずもなってしまったので^^、ぜひこちらのコンテンツで、Windows Azure を体験してみていただきたいと思います。 さて、Part 2. のエントリでは、Windows Azure Platform の概要について解説しました。その要点は以下の通りとなります。 Windows Azure Platform とは、Microsoft による PaaS プラットフォームである。 主要構成要素としては、以下の 3 つがある。 ① Windows Azure コンピュートサービス : おおまかにいうと「Web サーバ」 ② SQL Azure データベースサービス : おおまかにいうと「DB サーバ」 ③ Windows Azure ストレージサービス : おおまかにいうと「ネットワークファイル共有」…

0

Part 2. Windows Azure Platform 概要 その3

※ その 2 のエントリからの続きです。(エントリが長すぎてポストできなかったため、分割しています。) [③ Windows Azure ストレージサービス] Windows Azure ストレージサービスとは、大規模・大容量の、高信頼性データストレージサービスです。内部的には、データを複数のサーバで分散・冗長化して保持するようになっているのですが、外から見た場合にはこれが巨大な一つのストレージシステムに見えるようになっている、というのが、この Windows Azure ストレージサービスです。SQL Azure データベースサービスと同様、実際のデータは少なくとも 3 つのノードに複製格納されているため、ひとつのサーバがクラッシュしても、データは生き残ることが可能になっています。 ※ (注意) ”Windows Azure” という名を冠していますが、前述の Windows Azure コンピュートサービスとは全くの別物なので注意してください。 ※ (参考) 現状では、Windows Azure ストレージサービス、SQL Azure データベースサービスのいずれも、Geo-Replication (データセンタまたがりのデータ複製)には対応していません。 通常、こうしたストレージシステムに対しては、ローカル HDD であれば普通の Windows エクスプローラで、リモート HDD であればファイル共有を通してアクセスすることになります。しかし、この Windows Azure ストレージサービスでは、HTTP REST プロトコルと呼ばれる、特殊な HTTP プロトコルでデータの読み書きを行います。 この HTTP REST プロトコルを直接ハンドリングするのは大変ですが、幸い、C# や VB などでアプリケーションを開発する場合には、Windows…

1

Part 2. Windows Azure Platform 概要 その2

※ その 1 のエントリからの続きです。(エントリが長すぎてポストできなかったため、分割しています。) [① Windows Azure コンピュートサービス] Windows Azure コンピュートサービスとは、カスタムアプリケーションのホスティングサービスです。OS とミドルウェアがプリインストールされたマシンが提供されますので、そこにカスタムアプリケーションを乗せて実行する、という形になります。利用可能なサーバタイプとして、以下の 2 種類が用意されています。 Web Role サーバ : .NET Framework と IIS がインストールされた Web サーバタイプのサーバ Worker Role サーバ : .NET Framework のみがインストールされたバッチアプリケーション用のサーバ 実際のシステムでは、この 2 種類のサーバを組み合わせて、ひとつのシステムを構成します。例えば、Web アプリケーションと Web  サービスとバッチアプリケーションから構成されるシステムは、上記の 2 タイプのサーバを組み合わせて、以下のように組み上げることができます。 ※ (注意) 上記の図では各サーバがあたかも物理マシンであるかのように書かれていますが、実際にはデータセンタ内では Hyper-V を使った仮想マシン(VM, Virtual Machine)として配置されます。 ※ (参考) Worker Role サーバは、もともとバッチアプリケーション動作用のサーバを想定して開発されたために上述のような書き方をしました。しかし現在では、ポートをあけることによって、インターネット上から直接 TCP/IP 通信を受け付けることができるようになっているため、このタイプのサーバは比較的汎用性の高いサーバとして使うことができます。例えば、バッチアプリケーションに WCF…

0

Part 2. Windows Azure Platform 概要 その1

さて、Part 1. のエントリでは、マイクロソフトのクラウドコンピューティング戦略である “S+S” の全体像、そしてその中での Windows Azure Platform の位置づけについて解説しました。要点をまとめると、以下のようになります。 マイクロソフトのクラウドコンピューティング戦略は、オンプレミス型のソフトウェアと、クラウド型のサービスとを上手に組み合わせて、最適なシステムを構築する、というものである。 Windows Azure Platform とは、マイクロソフトによる PaaS サービスである。 ユーザは、Windows Azure Platform 上に、ユーザアプリケーションを載せて動作させることができる。 Part 2. となる本エントリでは、Windows Azure Platform の概要について解説します。おおまかなトピックは以下の通りです。 Windows Azure Platform とは何か Windows Azure Platform の主要構成要素 ① Windows Azure コンピュートサービス  ② SQL Azure データベースサービス  ③ Windows Azure ストレージサービス 開発上の注意点 では、順番に見ていきましょう。 [Windows Azure Platform とは何か] Windows Azure Platform…

1

技術情報一覧

本サイト及び Web 上に掲載・公開している技術情報の一覧です。(随時更新) [基本技術知識] .NET の 例外処理.NET の 例外処理 Part. 1.NET の 例外処理 Part. 2.NET の 例外処理 Part. 3.NET の 例外処理 Part. 4.NET と Java の例外処理の違い .NET Framework アプリケーションの 64bit 対応Part 1. 64 ビット Windows OS の基本知識Part 2. .NET Framework 2.0 アプリケーションの 64 ビット対応Part 3. ASP.NET 2.0 Web アプリケーションの 64 ビット対応 マルチスレッド処理スレッドとオブジェクトインスタンス続・スレッドとオブジェクトインスタンス [UI 系技術] 双方向データバインドによる単体入力エラーチェックPart 1. 双方向データバインドの基本的な使い方Part…

0