...

Windows Azure (全350ページ) 基本からBlob Storageまで

by user

on
Category: Documents
15

views

Report

Comments

Transcript

Windows Azure (全350ページ) 基本からBlob Storageまで
ITライブラリーより (pdf 100冊)
http://www.geocities.jp/ittaizen/itlib1/
Windows Azure
(全350ページ)
基本からBlob Storageまで
一般社団法人
情報処理学会 正会員
腰山 信一
[email protected]
1
本資料の関連資料は下記をクリックして
PDF一覧からお入り下さい。
ITライブラリー (pdf 100冊)
http://www.geocities.jp/ittaizen/itlib1/
目次番号
453番
454番 他
2
2
33
Windows Azure 徹底解剖
4
4
オンプレミス環境との
親和性
5
5
オンプレミス環境との親和性
オンプレミスで構築している既存の社内システムやアプリケーションと
の連携を実現する多くの機能を標準で搭載しています。
例えば VPN によるネットワーク連携や、Active Directory や他社認証
サービスとの ID 連携、サービス バスによるシステム連携が可能です。
66
7
7
8
8
OS とサービスに対して修正プログラムを自動適用できるほか、ハード
ウェア障害からの自動回復力を備えています。
データは自動的に多重化されることで堅牢性が確保され、また HTTP のエン
ドポイントや、CPU、メモリの利用状況といった監視項目を設定することで自
動的にアラートを通知することも出来ます。
HTML/JavaScript ベースの直観的
に利用しやすい Windows Azure
管理ポータルで各種サービスの利用
や構成の変更、制御、監視やデータ
のダウンロードなどの操作を実行で
きます。
9
管理ポータルは Internet Explorer だけでなく、Safari や Chrome な
ど様々なブラウザーで利用することができます。
また、Windows Azure 管理ポータル以外にも Windows Azure
PowerShell や Windows Azure SDK などから各種操作を実行す
ることができます。
10
11
12
12
13
13
補足
Windows PowerShell 【 PowerShell 】
Microsoft社がWindows用に開発した高機能なコマンドライン方式の
シェルおよびスクリプト実行環境です。
Windows XP以降で利用でき、Windows 7以降では標準添付されていま
す。
Windows PowerShellでは、システムの情報を入手したり変更したりする
「コマンドレット」と呼ばれる単機能のプログラムが豊富に用意されており、こ
れらを組み合わせて複雑な処理をスクリプトとして記述することができます。
14
以前からWindowsにもコマンドプロンプト(MS-DOSプロンプト/cmd.exe)や
スクリプティング環境(WSH:Windows Scripting Host)は存在しましたが、
UNIX系OSなどに比べ見劣りする状態が長く続いていました。
Windows PowerShellの投入により格段に強力で柔軟なコマンドベース
の環境が用意され、システム管理者などが運用・管理を自動化したりコード
を再利用するのが容易になりました。
補足
SDK 【 Software Development Kit 】
あるテクノロジー(プログラミング言語やAPIなど)を利用してソフトウェ
アを開発する際に必要なツールのセットです。
15
15
IaaS および PaaS の中核となる Windows Azure のサーバー機能で、
ユーザーが開発したアプリケーションを実行するための 4 つのサービス (仮
想マシン、Web サイト、モバイル サービス、クラウド サービス) が提供され
ています。
Windows Server と Linux をフル カスタマイズで利用できる IaaS (仮想
マシン) や、プラットフォーム (OS や Web サーバーなど) まで提供する
PaaS (Web サイト、モバイル サービス、クラウド サービス) が存在します。
16
17
17
コンピューティング サービスではインスタンス サイズ (マシン ス
ペック) が複数提供されているため、ユーザーは要件に応じて
サイズを選択して利用できます。
インスタンス サイズが大きいほどスペックが高くなり、システムの性
能向上につながります 。もちろん、インスタンス作成後にも簡単に
サイズを変更することができます。
18
19
19
20
20
コンピューティング サービスではロード バランサーの構築は不要で、自
動的に設定され利用できます。(ロード バランサー単独での料金は発生
しません) 。
アプリケーションへのトラフィックが増えた際に、ロード バランサーに関連す
るインスタンスを管理ポータルや PowerShell などのツールを使ってオンデ
マンドで増やすことができます。
また、稼動中のサービスを止めずにアプリケーションの更新を行うことも
できます。
コンピューティング サービスのインスタンスを複数作成すると、エンド ユー
ザーからのリクエストは一旦 Windows Azure 内部のロード バランサーに
送られ、そこから稼動中のインスタンスへ振り分けを行います。
21
22
22
仮にハードウェア障害等の何らかの原因により、稼動中のインスタンス
が停止してしまった場合には Windows Azure データセンターにある管
理機能が、その問題を自動的に検知します。
そしてユーザーからのリクエストをそのインスタンスに対し振り分けるのを
ストップし、別の場所に新しいインスタンスを自動で作成します。
23
新しく作成したインスタンスが、ユーザーのリクエストを受ける準備が整
い次第、ロード バランサーがユーザー リクエストをそちらのインスタンス
に対しても振り分け始めます。
24
コンピューティング サービスには HTTP エンドポイントや CPU、メモリ、ディ
スク I/O などの監視機能が提供されているので、新しく監視用のサーバーを
構築する必要はありません。
しきい値を設定することでシステム管理者にアラートを通知することも可能です。
2525
補足
しきい値
しきい値とは、その値を境にして、動作や意味などが変わる値のことである。
しきい値は、ユーザーの使い方や好み、動作環境などにより大きく異なり、プ
ログラムを制御するために一意に決めることが難しいパラメータに対して使用
されることが多いです。
人間であれば曖昧な条件でも許されても、コンピュータには明確な指示を与
える必要があり、そのような場合にしきい値と呼ばれることが多いです。
また、動作を確認しながら、その値を決めていくチューニング値の場合も閾値
と呼ばれます。
バッテリー切れの警告を行うバッテリー容量は、しきい値の身近な例です。
26
Windows Server および Linux の仮想マシンを簡単に展開・実行できる
IaaS の機能が提供されています。
従来のようにユーザーはハードウェアの割り当てやセッティング、環境のイン
ストールなど不要で、もちろん新たにハードウェアを購入する必要もありませ
ん。
全て構成済みの Windows Server、もしくは Linux (SUSE、CentOS,
Ubuntu など) の環境を数分で構築することができます。
SQL Server や SharePoint などのソフトウェアが構成済みのイメージも
提供されているため、それらについてもインストールやセットアップが必要
ありません。
27
加えて Windows Azure が提供している構成済みイメージを利用した場合、
従来のように CAL (Client Access License) や SPLA (Microsoft
Services Provider License Agreement) などのライセンスが不要です。
Windows Azure は従量課金で利用できるためライセンス管理など煩
雑な作業からも解放されるメリットがあります。
Windows Azure 仮想マシンは
Windows Server Hyper-V が
ベースになっているため、オンプレ
ミスの仮想環境とも互換性があります。
28
29
そのため、Windows Azure が提供する構成済みイメージではなく、ユーザー
が管理しているオンプレミスのサーバー環境やアプリケーション資産をそのま
ま Windows Azure に移行して運用することも可能です。
( この場合、OS 以外のソフトウェアは従量課金制ではなく、別途ライセンス
契約が必要な場合があります )
30
補足
openSUSE
openSUSE(オープン・スーゼ)は、ノベルがスポンサーを務め、コミュニティが
開発するLinuxディストリビューションです。
openSUSEは汎用のLinuxディストリビューションであり、ウェブページの閲覧、マ
ルチメディアの再生、オフィスソフトの利用などに代表されるGUIを利用したデスク
トップ用途や、CUIを中心として用いるサーバ運用などさまざまな方法で利用する
ことができます。
以前はSUSE(元々はドイツの企業)が日本に進出していなかったため日本で
はあまり普及していませんが、Version 9.1から日本語版もリリースされており、
日本語の表示や入力などが可能になっています。
31
補足
CentOS 【 Community ENTerprise Operating System 】
Red Hat社の商用Linuxディストリビューションである「Red Hat Enterprise
Linux」(RHEL)と互換性のある、フリーのLinuxディストリビューション。
CentOSは、RHELに含まれるソフトウェアのうちオープンソースとして公開されて
いるコードを集めて再編集したもので、ボランティア開発者の集団であるCentOS
プロジェクトによって配布されています。
RHEL互換のLinuxディストリビューションを個人でも無償で入手できるため人
気が高いです。
32
補足
Ubuntu(ウブントゥ、ウブンツ)
Ubuntu(ウブントゥ、ウブンツ)は、オープンソース・ソフトウェアで構成さ
れたオペレーティング・システム (OS)です。 Linuxディストリビューショ
ンの一つであり、デスクトップ、そしてサーバに利用することができます。
Ubuntuは、現在、そして将来に渡って無償で提供されます。
また、最新のバージョンを6ヶ月ごとにリリースすることを宣言しており、オープン
ソース・ソフトウェアの最新の優れたアプリケーションを常に利用できます。
33
33
34
34
ユーザーは、Windows Azure 仮想マシンを使うことで、オンプレミスの資産や
技術スキルをそのまま活用できることに加え、従量課金やスケーラビリティと
いったクラウドのメリットを享受できます。
例えばユーザー数が増えたときにスケール アウトすることや、データ量が
増えたときにディスクを追加することは Windows Azure 管理ポータルや
PowerShell を使ってオンデマンドで素早く実行できます。
また、VPN (仮想ネットワーク) で安全に仮想マシンに接続することや、
ネットワーク アクセス制御リスト (ACL) で仮想マシンへのアクセスを制御
することでセキュリティを強化することもできます。
35
35
Web サーバーやデータベース、ランタイムといった Web サイトを構築
する際に、必要なコンポーネントがあらかじめ準備されているのが
Web アプリ開発者向けの PaaS です。
PaaS なのでユーザーはオンプレミスや IaaS と比較するとインストー
ルや設定、運用管理の手間を削減できるメリットがあります。
36
37
37
ユーザーは 4 つの言語 (ASP.NET、PHP、Node.js、Python) を利用して、既
存アプリケーション、もしくは新規アプリケーションをアップロードして実行するこ
とができます。
また実装したソース コードの管理は TFS、CodePlex、Dropbox、Git、
GitHub など、従来から使っているツールをそのまま利用できます。
他にもWordPress、EC-CUBE、Umbraco、DotNetNuke、Drupal、Django、
CakePHP、Express など、30 以上のオープンソース ソフトウェアが、あらか
じめインストールされているイメージが提供されているため、わずか数クリック
で WordPress などのサイトを構築、公開できます。
38
38
39
39
Windows Azure
Auto-scaling
40
40
Web サイトのもっとも大きな特徴は数秒~十数秒でインスタンスを起動でき
る俊敏性です。
Web サイトではあらかじめ Web サーバーがプールされて用意されています。
ここに、ユーザーがアプリケーションをアップロードすると、プールから自
動的に空いているリソースを見つけ出して配置されます。
Web サイトの俊敏性は突発的にサイトのトラフィックが増加した場合などでも、
すぐさまスケール アウト・スケール アップ出来るため便利です。
41
41
42
42
43
もちろんオート スケールにも対応しているためサーバーの負荷に応じて
Windows Azure 側でインスタンスの数を自動調整することができます。
Web サイトはレンタル サーバーのように、
①1 つのサーバー リソースを複数のユーザーで共有して使う方法 (共有イン
スタンス: 各アプリケーションは論理的に隔離されているためお互いを見
ることはできない)
② 1 つのサーバー リソースを占有して使う方法があります
(標準インスタンス)。
共有、占有どちらでも複数のサーバーを使ってスケール アウトすることがで
きます。
44
共有型に関しては、あるユーザーのアプリケーションがサーバー リソースを使い
切らないようにするため、リソース利用量に関して上限設定 (クォータ設定) がなさ
れています。
共有型はさらに無料、共有の 2 種類に分類されており、それぞれでクォータ設
定が異なります。
占有型であれば選択したスペックのサーバー インスタンスを占有できますし、も
ちろんスケール アップも素早く実行できます。ビジネス用途の安定したサイトの
構築では、通常は占有を推奨します。
45
45
46
46
Web サイトでは複数のマシン (インスタンス) によるスケール アウトができる
ますが、スケール アウトの際に課題になるのが、実際の物理的なファイルの
配置です。
例えば、複数台のサーバーでスケール アウトする場合、通常、Web アプリ
ケーションは各サーバーにコピー配置する必要があります。
しかし、Web サイトでは、実際の物理的なコンテンツ ファイルは同一の
ストレージにより共有されています。
47
47
48
48
これにより、コンテンツはあたかもローカル ディスク上にあるかのように見
えますが、どのマシンからローカル ディスクに書き込んでも、他のマシンか
ら同じ内容を読み取ることができます。
また、FTP で Web サイトに接続すると、あたかもサーバーが 1 台だけしか
ないように見え (実際には複数のサーバーで負荷分散処理される)、ファイ
ルをアップロードすればどのマシンからでも読み出すことができます。
Web サイトの活用例は
■一般的なインターネット アプリケーション
■トラフィックが時期や時間帯により、大きく変動する
アプリケーション
■ASP サービスとして展開しているアプリケーション
49
Windows Azure Mobile service
50
50
スマートフォンやタブレットなどの主にネイティブのモバイル アプリケーションを
迅速に開発・運用するためのモバイル特化型 PaaS (モバイル バックエンドの
サービスという意味で BaaS (Backend as a Service) ともいう)です。
ここ数年でモバイル アプリケーションのニーズは急増していますが、マルチ デ
バイスに対応したアプリケーション開発にはそれなりにコストがかかるもので
す。
サーバー サイドもアプリケーションの機能に応じて新規で作ったり、作り変え
たりすることがよくあります。
51
51
特に、モバイル アプリケーションでは「ユーザー認証」、「プッシュ通知」、
「SNS との連携」、「ストレージ操作」といった機能はクラウドにアクセスする多
くのアプリケーションに求められます。
従来これらの機能を開発者がいちから作っていく方法が一般的でしたが、類似
した機能を個別に作ることは効率が悪いですし、クライアント アプリケーションの
開発は得意だが、サーバー サイドのアプリケーション開発は不得手な開発者も
います。
こういった課題にはWindows Azure モバイル サービスの活用をお薦めします。
52
52
53
53
モバイル サービスでは標準で「ユーザー認証」、「プッシュ通知」、「SNS との連
携」、「ストレージ操作」などの機能を搭載しているため、これらを実装する必要
はありません。
また API は REST で公開されているため、様々なクライアントに対応した一
貫性のある共通のサービスとして公開できます。
サーバー サイド開発は JavaScript、.NET が利用可能で、それぞれのプラット
フォームに対応したクライアント SDK も提供されているため、サーバー サイドの
開発が不得手な開発者であっても効率的にサーバー サイドの開発を実現できま
す。
モバイル サービスでは Windows、Windows Phone、iOS、Android、
HTML/JavaScript、Xamarin、PhoneGap のアプリケーションの雛形をダ
ウンロードできるので、それをベースにアプリケーションを開発したり、使い方
を学習することが出来ます。
54
55
55
Windows Azure モバイル サービスを活用する事により、Windows や
Windows Phone、Android、あるいは iOS といったマルチ デバイス向けサー
ビスを構築する際に共通で利用できるバックエンドのサービスを効率的に作成
することができます。
データを永続化するために SQL データベースや Windows Azure ストレージ
サービス、MongoLab といったサード パーティのデータ サービスを使用して
データを保存することができます。
ソーシャルのアカウント (Microsoft アカウント、Facebook、Twitter、
Active Directory) と認証連携するための機能があり、ほんの数行のコー
ドを記述するだけでユーザー認証を実装できます。
56
56
アプリケーション固有の認証システムを実装する方法も、もちろんサポートさ
れています。
状態と可用性を監視することができます。 サービスの可用性が低下したときに
通知を受けるように、アラート ルールを設定可能で、また、現在の需要に合わ
せて自動的にスケール アップまたはスケール ダウンするようにアプリケーショ
ンを構成することができます。
スクリプトはスケジュールの設定が可能なので、決まった時間に実行すること
ができまます。 スケジューリングにより古いデータや重複データをテーブルか
ら削除する、ユーザーから送信された画像のサイズ変更を行う、外部の Web
サービスから集計されたデータを照会する、などの操作を定期的に行うことが
できます。
57
57
58
58
Windows Azure における Role
59
59
Windows AzureはWeb サイトと同様に展開/運用が自動化された
Windows Server ベースの環境を提供する PaaS です。
Web サイトと同様にオンデマンドでスケール アウト・イン、スケール アッ
プ・ダウンを実施できます。
Windows Azureのクラウド
サービスには、アプリケーショ
ンを実行するための役割が異
なる 2 種類のロールが提供さ
れています。
60
Web ロール
.NET Framework と IIS がインストールされた Web サーバー タイプのサー
バー。主にフロントエンドの Web アプリケーション動作用として利用できます。
ワーカー ロール
.NET Framework のみがインストールされた汎用サーバー。バックグラ
ウンド タスクやプロセス処理用の実行環境として利用できます。
実際のシステムでは、ひとつ、もしくは 2 種類のロールを組み合わせ
てシステムを構成します。
例えば、Web サービスとバッチ アプリケーションから構成されるシステ
ムは、上記の 2 タイプのロールを組み合わせて、次のように構築するこ
とができます。
61
62
62
補足
ロール 【 role 】
役、役割、役目、役柄、任務などの意味を持つ英単語。
データベース管理システムなどの利用者管理において、利用者の
グループあるいは雛形のことをロールということがあります。
ロールは利用者の種類(管理者、開発者、一般利用者など)に応じ
て作られ、各利用者(のアカウント)はそれぞれのロールに属する。
利用者が複数のロールに所属したり、ロールが他のロールに所属
してその権限を引き継いだりできるようになっている場合が多いで
す。
63
63
Windows Azureの実行環境は、さらに大きく分けると 3種類あり
ます。「Webロール」、「Workerロール」、「VMロール」の3種です。
64
Webロールは、IISの上で提供されるWebページとその処理機能です。
簡単にいえば、ASP.NETによるページ表示機能に相当します。
2つ目のWorkerロールは、Webロールと対にして利用するもので、サー
バー側のバックエンド処理ルーチンとなります。
たとえばオンラインショッピングサイトを考えた場合、Webロールはユーザーが
Webブラウザで見るカタログや注文画面を担当し、Workerロールは受注処理を
担当します。
65
65
そしてWorkerロールは、ストレージサービスのキューと組になり、キューに投入さ
れたアイテムを順次処理するという動作を行ないます。
キューが間に入るようになっているのは、大量処理などの場合にWorkerロールを
複数のVMで動作させて並行処理を可能にするためです。
3つ目の「VMロール」は、他の2つとは少々異なります。
例えば、あらかじめ設定されたWindows Server 2008 R2の環境が入ったVMイ
メージに対して、アプリケーションをインストールしたものを作成、これをWindows
Azureにアップロードしてサービスなどを実行させる仕組みです。
66
66
67
67
VMロールでは、Windows Server で動作するアプリケーションの大半が、
そのまま利用できます。
ただし、Hyper-V内での実行であり、システム設定がある程度固定されて
しまうなど、オンプレミスのWindows Serverに比べて制限があります。
たとえば、アプリケーション内で管理者権限が必要な処理やAPI呼び出し
は制限されます。
68
Webロールの開発はASP.NETによるページ記述で行なうため、通常の
ASP.NETの開発とほとんど変わりまりません。
内部のプログラムは、表示イメージ(HTML)の生成時に起動し、表示セッ
ションが終わると終了させられます。
このため、ページ表示と独立した処理は、キューを介してWorkerロール
で行なうようにします。
69
70
70
71
71
Web ロールやワーカー ロールにはアプリケーションをパッケージ化して
Visual Studio や Eclipse、Power Shell から Windows Azure にアッ
プロードすることが出来ます。
また、Web ロールやワーカー ロールにリモート デスクトップ接続を利用し
て接続できるので、オンプレミスと同様に使い慣れた Windows Server の
画面で稼働状況のモニタリングやトラブルシューティングなどの運用管理を
行えます。
Web ロールやワーカー ロールではローカル マシンにデータを記録するこ
とができますが、記録した内容 (イベント ログやパフォーマンス ログ、ロー
カル HDD に記録したデータなど) は消え去ったり初期化される場合があり
ます。
72
このため、クラウド サービスでは、基本的にはローカル マシンに データを
記録・保存すべきではありません。消えては困るデータは SQL データベー
スやストレージ サービスに保存する必要があります。
73
なお、クラウド サービスと類似したサービスとして Windows Azure Web
サイトがありますが、次のような違いがあります。
74
74
補足
Eclipse (統合開発環境)
Eclipse(「イクリプス」または「エクリプス」)は、IBMによって開発された統合開
発環境 (IDE) の一つです。
高機能ながらオープンソースであり、Javaをはじめとするいくつかの言語に対
応します。 Eclipse自体はJavaで記述されています。
75
75
Windows Azure
Data Services
76
76
Windows Azure のデータ ストレージは幅広い選択肢を提供しています。
例えば SQL データベースはクラウド向けに SQL Server をカスタマイズし、
制限事項を加えて作られた、高可用リレーショナル データベースです。
SQL Server と同様に TDS プロトコルでアクセス可能で、SQL Server
Management Studio や Visual Studio などの既存のツールをそのまま利
用できるので、既存資産やスキルを有効利用できます。
Windows Azure ストレージ (BLOB、テーブル、キュー) はクラウド上にある
ストレージ サービスです。
77
77
補足
TDS プロトコル
TDSはTabular Data Streamの略で、テーブル形式のデータストリームと
いった感じです。
データベースアプリケーションとしてのクライアントと、SQL Server間で情報
をやりとりするためのアプリケーション層のプロトコルです。
プロトコルですので、そこでやりとりされるメッセージの形式・フォーマットとそ
れぞれのメッセージを送受信する際の状態、条件等(状態遷移)が規定され
ます。
78
78
しかし、従来のストレージ環境や RDB とは大きく異なったアーキテクチャが採
用され、データは分散配置されて、高い可用性とスケーラビリティを実現してい
ます。
データ アクセスには REST (REpresentational State Transfer) API が
提供されているので、ユーザーはさまざまなプラットフォームから HTTP 経
由で Windows Azure ストレージにアクセスできます。
HDInsight は Windows Azure 上に構築された Hadoop ベースのサービ
スです。 Apache Hadoop と完全互換性を持ちます。
79
79
実装する際は 1 つのストレージを選択して利用しても良いですし、複
数のストレージを組み合わせて利用することもできます。
もちろん、Windows Azure 仮想マシンを使えば SQL Server、MySQL、
Oracle、MongoDB などのデータベースをそのまま Windows Azure で利
用することができます。
80
81
81
82
82
83
83
補足
Microsoft SQL Server Management Studio
Microsoft SQL Server Management Studio は、SQL Serverに含
まれる統合環境および管理ツールです。
SQL Server のすべてのコンポーネントのアクセス、構成、管理、開発
に使用できる無償の統合環境です。
多彩なグラフィカル ツールと数多くの高機能スクリプト エディタが統合
されています。
84
84
補足
REST 【 REpresentational State Transfer 】
2000年にRoy Fielding氏が提唱した、分散システムにおいて複数のソフト
ウェアを連携させるのに適した設計原則の集合を言います。
また、狭義には、それをWebに適用したソフトウェアの設計様式のことを指
します。一般には後者の意味で用いられることがほとんどです。
一般によく使われる狭義のRESTは、パラメータを指定して特定のURLに
HTTPでアクセスすると、XMLで記述されたメッセージが送られてくるような
システムおよび呼び出しインターフェース(「RESTful API」と呼ばれる)のこ
とを指します。
システムの状態やセッションに依存せず、同じURLやパラメータの組み合
わせからは常に同じ結果が返されることが期待されます。
85
86
86
補足
HDInsight
HDInsight は、Apache の Hadoop ソリューションをマイクロソフトが
Windows Azure 上に構築した Hadoop ベースのサービスです。
HDInsight を使用すると、構造化されているかどうかに関係なく任意の
種類およびサイズのデータを管理するクラウドベースの最新データ プ
ラットフォームで、Big Data の価値を最大限に活用できます。
87
87
補足
Hadoop 【 Apache Hadoop 】
Apache Software Foundation(ASF)が開発・公開している、大規模データを効率
的に分散処理・管理するためのソフトウェア基盤(ミドルウェア)です。
オープンソースソフトウェアとして公開されており、誰でも自由に入手・利用することが
できます。
Google社が自社システムの基盤として利用している分散ファイルシステムの
GFS(Google File System)に似たファイルシステムと、分散データベースの
BigTableに似たデータベースシステム、MapReduceによる分散処理システムな
どをJavaで実装したものです。
88
SQL データベースは以前 SQL Azure と呼ばれていたマルチ テナン
ト型の RDBMS であり、SQL Server をベースに構築されています。
SQL データベースでは、インストールやセットアップをすることなくリレー
ショナル データベースのプロビジョニングと配置を簡単に実行できます。
Windows Azure 仮想マシン (IaaS) を使えば Windows Server 上で
SQL Server を利用することもできますが、SQL データベースでは OS や
SQL Server の管理を Windows Azure に任せることが出来るので運用
管理のコスト削減につながります。
いずれの場合でも SQL Server Management Studio や Visual
Studio など、オンプレミスの SQL Server を利用する際と同じツール
でアプリケーション開発が可能です。
89
90
90
91
91
運用管理の自動化という点では、SQL データベースでは内部的にデータベー
ス インスタンスが 3 重化されており、仮にプライマリで障害が発生した際でも、
すぐにセカンダリの 1 つにフェールオーバーするように構成されています。
つまり、オンプレミスのようにユーザーがクラスター構成を組む必要もありま
せん。
また定期的に自動バックアップする仕組みも搭載しています。
他にも、CPU、ストレージ容量、接続、IOPS などの監視機能が提供さ
れているので、新しく監視用のサーバーを構築する必要もありません。
92
92
93
93
Windows Azure SQL データベース は SQL Server と完全互換ではないた
め、いくつか注意すべきポイントがあります。
ファイアウォール設定が必須です。 データの保護を支援するために SQL
データベースに対するアクセスがファイアウォールによってブロックされます。
インターネットから接続を試行しても、SQL データベースにアクセスする
ことはできません。
そのため、アクセスを許可する IP アドレスの範囲を指定したファイアウォール
ルールを作成する必要があります。
ファイアウォール ルールは、サーバー レベルおよびデータベース レベルで作
成できます。
94
Windows Azure のストレージ サービスとは大規模・大容量の高信頼性
データ ストレージ サービスです。
内部的には、データを複数のサーバーで分散・冗長化して保持するように
なっているのですが、外から見た場合にはこれが巨大な 1 つのストレージ
システムに見えるようになっています。
SQL データベースと同様に実際のデータは最低 3 つのノードに複製格納さ
れているため、仮にサーバーがクラッシュしてもデータは消えることなく継続
して利用できます。
95
95
96
96
97
97
98
98
また地理レプリケーション (データセンターをまたがったデータ複製) も可
能なので合計 6 重化、かつセカンダリ側のデータセンターからデータを
読み出すこともできます。
ストレージ サービスには他のサービスと同様に自動監視機能があるため、
例えばサーバー エラーやネットワーク エラー、平均遅延時間などを監視
して、なんらかの異常が発生した場合には自動的にアラートを出すことが
可能ですし、ストレージへの各種操作をログに残すこともできます。
99
100
100
101
101
102102
103
103
104
104
通常、オンプレミスのローカル ハードディスクやリモート ハードディスクで
あればエクスプローラーを通してアクセスできます。
しかし、このストレージ サービスでは REST API 経由でデータの読み書き
を行います。
ただし、アプリケーションを開発する場合には各プログラミング言語に対応し
た Windows Azure の開発キット (SDK) を利用することでメッセージの詳
細を知らなくても容易に実装することができるようになっています。
また、Visual Studio などのツールからもストレージに対してデータの読み
書きが出来るようになっています。
105
106
106
BLOB ストレージ 。"BLOB" という単語は "Binary Large OBject"
の略語で、おもに動画や画像、音声データなど、巨大なバイナリ ファイ
ルを格納するのに適したストレージです。
ちなみに、Windows Azure 仮想マシンの Windows Server、Linux のファ
イル システムのデータは全てこの BLOB ストレージに保存されます。
もちろん、単純なテキスト ファイルも保存可能で、外から見た場合には
階層型のファイル システムであるかのように取り扱うことが可能です。
107
107
108
108
BLOB ストレージのコンテナー (フォルダーのようなもの) にはパブリック、もしく
はプライベートのアクセス権を設定できるようになっています。
既定はアクセス キーを持つユーザーだけがアクセスできるプライベートに設
定されていますが、パブリックに設定にした場合には、読み取りに関しては
通常の HTTP GET によるデータ取得ができるようになっています。
ただし、追加または変更、削除できるのは、適切なアクセス キーを持っ
ているユーザーだけです。
109
109
110
110
テーブル ストレージは分散 Key-Value 型のデータ ストアです。
テーブルという名前がついているものの、いわゆる RDBMS の
テーブルとは以下のような点が異なります。
■テーブル間にリレーションシップを定義できない
■Join 処理は出来ない。(単独テーブルへの出し入れのみ)
■トランザクション処理が基本的に不可 (一連のデータの読み書きを
1 トランザクションに束ねることができない)
■任意の列にインデックスを付与することができない
■1 つのテーブルに異なる構造のオブジェクトを格納できる
(RDBMS のようにスキーマの定義をしない)
111
補足
Windows Azureストレージは、テーブル、ブロブ、
キュー、ドライブと呼ばれる4つのストレージ・サービスを
提供しています。
112
112
これらのストレージ・サービスは、次の図に示すように、Windows Azureの
「Webロール」(=Webアプリケーション)や「Workerロール」(=バックグラウ
ンド処理)などのアーキテクチャや特性に応じて使い分けられます。
113113
テーブル(Table)
表形式の構造を持ったデータの格納に利用できます。
ただし、テーブル・ストレージは、RDBにおける「テーブル」とは構造が異なる
ストレージであり、クラウドで広く利用されている「分散Key-Valueストア」で
す。
分散Key-Valueストアとは、「キー」と「値」のペアからなるストレージのことで、
代表的なものにグーグルが提供する「Bigtable」などがあります。
114
114
データ構造がシンプルなため、分散化や高可用性の実現に適しています
が、逆にRDBが得意とする複雑な検索・集計やトランザクション処理は得
意ではありません。
テーブル・ストレージを利用した開発を行う場合、分散Key-Valueストアと
RDBの、この特徴の違いを理解することが重要なポイントとなります。
115
116
116
HDInsight と Hadoop
117
117
HDInsight は、Apache の Hadoop ソリューションをマイクロソフトが
Windows Azure 上に構築したサービスです。
HDInsight では主要な関連プロジェクトをパッケージングして提供することで、
ユーザーは使い易いビッグ データの分析基盤を利用することができます。
HDInsight には、エンタープライズ クラスのセキュリティ、拡張性、およ
び管理性があります。
専用の安全なノードがあるため、HDInsight では Hadoop クラスターを
セキュリティで保護できます。
118
118
また、Windows Azure の柔軟なスケーラビリティを最大限に利用できます。
さらに、PowerShell スクリプトを広範にサポートすることで、Hadoop クラス
ターを簡単に管理できるようになっています。
デプロイとプロビジョニングを数時間や数日ではなく数分で行うことができます。
より大きなクラスターが必要な場合は、単にクラスターを削除して、より大き
なクラスターを作成します。作業は数分で済み、データが失われることもあり
ません。
119
119
また、HDInsight を使用すると、マイクロソフトの最新データ プラットフォーム
で、あらゆる種類のデータをシームレスに処理できます。
例えば PowerPivot、
Power View およびその他
の Microsoft BI ツールで
Hadoop データを分析でき
ます。
120
121
121
補足
HDInsight
数十,あるいは数百ノードにおよぶHadoopクラスタをすべて自前で構築・運
用するのは,なかなか手間のかかるものです。
また,たとえば夜間バッチ処理のように「常に利用するわけではない」クラスタ
のために多数のハードウェアを所有するのは必ずしも効率的ではありません。
その点,HDInsightサービスのような「クラウドHadoop」であれば,使いたい
ときに動的にクラスターを生成してジョブを投入し,処理が終わればクラスタを
きれいさっぱり削除してしまえば良いわけです。
Windows Azure管理ポータルで,HDInsightクラスターの「簡易作成」を
選ぶと,図のような簡単な操作で,32ノードまでのクラスタを作成可能で
す。
122
123
123
Windows Azure 上にできあがったHDInsightクラスターは,図のよう
な構成になっています。
124
Windows Azure
Virtual Network
125
125
仮想ネットワークを使うと、クラウド上に仮想的なプライベート ネットワークを構築で
き、Windows Azure とオンプレミスを VPN で安全に接続することができます。
これにより、オンプレミスのネットワークをクラウド上に拡大して、仮想マシンによる
サーバーの増強や、Windows Azure の各種サービスとオンプレミスのサービス
を連携させるハイブリッド ソリューションを構築できます。
仮想ネットワークでは、サイト間接続とポイント対サイト接続の 2 種類の接続
方式をサポートしています。
126
126
127
127
128
128
①サイト間接続 IPsec VPN (IKE v1 と IKE v2) を使用します。
オンプレミスには VPN ルーターを設置する、もしくは Windows Server のルー
ティングとリモート アクセス サービス (RRAS) を利用することで、オンプレミスの
任意のコンピューターと、仮想ネットワーク内にある任意の仮想マシン/クラウド
サービス のインスタンスを接続できます。
②ポイント対サイト接続 SSTP (Secure Sockets Tunneling Protocol) を使
用します。
VPN クライアント構成パッケージをコンピューターにインストールすることで、仮
想ネットワーク内にある任意の仮想マシン/クラウド サービス のインスタンスに接
続できます。VPN ルーターは必要ありません。
129
130
130
補足
IPsec 【 Security Architecture for Internet Protocol 】
インターネットで暗号通信を行うための規格です。
IPのパケットを暗号化して送受信するため、TCPやUDPなど上位のプロト
コルを利用するアプリケーションソフトはIPsecが使われていることを意識
する必要はありません。
現在インターネットで使われているIPv4ではオプションとして使用すること
ができますが、次世代のIPv6では標準で実装されます。
131
131
132
132
補足
IKE 【 Internet Key Exchange 】
IPsecで暗号化通信を行うのに先立って、暗号鍵を交換するために利用
される通信プロトコルです。
その場限りの暗号化通信を行って、IPsecに必要な暗号化アルゴリズム
の決定と暗号鍵の共有を行います。
IKEではDiffie-Hellman鍵交換と呼ばれる手順によって暗号鍵を交換し、
IKE限定の暗号化通信を行います。
133
133
その際にIPsecでの通信に必要な各種の情報の交換などの手続きが行わ
れ、IPsecによる通信を開始します。
IKEの通信を盗み見られても、それ自体が暗号化されているため、
IPsecの通信を解読される恐れはありません。
134
135
135
Windows Azure Traffic Manager
136
136
トラフィック マネージャーを使用すると、1 つのデータセンター内、または世界各
地のデータセンターで実行されているサービスに対する、ユーザートラフィックの
分散を制御することができます。
ユーザーはトラフィック マネージャーにアクセスするとポリシー (パフォーマン
ス、フェールオーバー、ラウンド ロビン) に従って適切な IP アドレスを返しま
す。
ユーザーはそれをもとに以降の処理を適切なクラウド サービスに要求します。
137
137
138
138
トラフィック マネージャーを利用すると、以下のことが可能になります。
①アプリケーションの高い可用性を確保できます。 トラフィック マネー
ジャーを使用すると、Azure のホステッド サービスを監視し、サービスが停
止したときに自動フェールオーバー機能を提供することにより、重要なアプ
リケーションの可用性を高めることができます。
②応答性の高いアプリケーションを実行できます。 Azure では、世界の各
地に配置されたデータセンターでサービスを実行できます。
トラフィック マネージャーは、ネットワーク待ち時間を最短にするホステッド
サービスでエンド ユーザーにサービスを提供することにより、アプリケーショ
ンの応答性を向上させ、コンテンツ配信にかかる時間を短縮します。
139
139
140
140
Windows Azure コンテンツ配信ネットワーク (CDN) では、米国、欧州、
アジア、オーストラリア、および南米にあるエッジ サーバーでサービスの
静的コンテンツをキャッシュすることで、ユーザーへのコンテンツ配信のパ
フォーマンスを向上します。
ユーザーからコンテンツのリクエストが CDN に対して最初に行われる
と、そのコンテンツは BLOB ストレージまたはクラウド サービスから直
接取得して CDN にキャッシュされます。
この時、キャッシュされたコンテンツに対して更新頻度を設定するこ
とができます。
141
141
その後のユーザーからのリクエストは、ユーザーから最も近い CDN
エンドポイントにリダイレクトされ、コンテンツへ高速にアクセスできる
ようになります。
142
143
143
Windows Azure
Cash Management
144
144
Windows Azureキャッシュは、分散型インメモリの拡張性に優れた
memcached 互換のキャッシュ ソリューションです。
データへの超高速アクセスを提供することによって、拡張性と応答性に
優れたアプリケーションを構築できます。
キャッシュは、データベースやストレージなどのデータ ソースからの情報
をメモリ上に格納することによってパフォーマンスを向上します。
145
145
補足
分散キャッシュ
近年、大量のデータを扱う大規模システムでは、データのアクセス性能を向
上させるために分散キャッシュ技術が必須のものとなってきています。
キャッシュとは頻繁に使われるデータをメモリ内に保持し処理の高速化を図
ること、またはそのメモリのことをいいます。
従来より、高速なデータアクセスを実現するにはキャッシュ技術が有効であ
りましたが、、システムで扱うデータ量の増大に伴い、1台のサーバに搭載可能
なメモリ量では必要なデータをすべて保持することができなくなってきました。
その解決策として、分散キャッシュ技術が今、注目を集めています。
146
147
147
またキャッシュによってデータ ソースにかかるコストを減らすことでスケー
ラビリティを高めることができます。
Windows Azure キャッシュは Windows Azure が管理するキャッシュ サービ
スとして使用するか、または、クラウド サービスの各ロールに含めるインロール
キャッシュとしてユーザー自身で作成し、管理する方法が提供されています。
①キャッシュ サービスとは占有型のキャッシュ サービスです。 リージョンと
キャッシュ サイズ (128 MG ~ 150 GB) を指定するとセキュリティで保護され
たエンドポイント ([cachename].cache.windows.net) が割り当てられので、
このアドレスからキャッシュにアクセスしてデータの読み書きができるようにな
ります。
管理ポータルからはキャッシュ サイズを変更することや、キャッシュの
利用状況、ヒット率などを監視することができます。
148
②インロール キャッシュはキャッシュを Windows Azure クラウド サービス
の Web ロール、ワーカー ロールでホストする機能をサポートしています。
指定したロールの実行中のインスタンスがメモリ リソースを結合してキャッ
シュ クラスターを形成します。
このキャッシュはプライベートで同じ展開に含まれるロールでのみ利用で
きます。
インロール キャッシュには専用と共存の 2 種類があります。
149
149
専用では、キャッシュ専用のワーカー ロールを定義して、使用可能なメ
モリはすべてキャッシュと運用上のオーバーヘッドに使用されます。
共用では、アプリケーション ロールで使用可能なメモリの一定の割合を
キャッシュに使用します。
たとえば、Web ロールの各インスタンスで物理メモリの 20% を
キャッシュ用に割り当てることができます。
その他にも Shared Caching と呼ばれるマルチ テナント型のキャッシュ
サービスが提供されていますが、現時点では非推奨となっています。
(2014 年 8 月にサービスを終了する予定です)
150
150
151
151
152
152
153
153
154
154
Windows Azure のキャッシュも他の Windows Azure のサービスと同
様に Windows Azure 管理ポータルサイトから管理することができ、ポー
タルサイトでアプリケーション専用のキャッシュ サーバーを作成します。
155
155
キャッシュ サーバーを作成する際には Windows Azure の Namespace
と呼ばれる (他のユーザーとバッティングしない) ユニークなサービス名と
データ センターのロケーション、そしてキャッシュ サイズを指定します。
156
156
Windows Azure のキャッシュは、128 MB から最大 4 GB のサイ
ズのキャッシュを使用することができ、このキャッシュ サイズは後か
ら変更することも可能です。
157
157
Windows Azure
Active Directory
158
158
Windows Azure の Active Directory (Windows Azure AD) は、統合的な
ID とアクセスの管理サービス (Identity as a Service) であり、主要なディレクト
リ サービス、ID 管理、セキュリティ機能、およびクラウド アプリケーション アクセ
ス管理を単一のソリューションとして提供します。
スタンドアロンのディレクトリとして使用するか、オンプレミスの Windows
Server Active Directory (Windows Server AD) と同期して利用すること
もできます。
Windows Azure AD アクセス コントロールを使用すると、標準ベースの ID
プロバイダー (Windows Server Active Directory のほか、Microsoft アカ
ウント、Google、Yahoo!、Facebook などの) との連携によって、クラウド ア
プリケーションの認証と権限の承認の機能を一元化することができます。
159
159
160
160
161
161
162
162
Windows Azure AD はオンプレミスの Windows Server AD と統合するこ
とで、ID をクラウドに拡張して、シングル サインオンなどの機能でエンド ユー
ザーのエクスペリエンスを向上することができます。また、ID の管理という側
面でも効率化するこができます。
アプリケーションの開発者はアプリケーションと Windows Azure AD を統合し、シ
ングル サインオン機能をユーザーに提供できます。
これによりアプリケーションをクラウドでホストし、企業内の資格情報でユーザーを
簡単に認証できるようになります。
さらに、サービスとしてのソフトウェア (SaaS) プロバイダーが、自身のサービスに対
する Windows Azure AD 組織のユーザーの認証を行うとき、その認証がさらに簡
単になります。
また、開発者は Graph API を使用してディレクトリ データに対してクエリを実行し、
ユーザー、グループなどのエンティティを管理することもできます。
163
163
Windows Azure の多要素認証を使用すると、Windows Azure AD ユーザーは、
数百個単位のクラウド サービスおよびクラウド アプリケーションへのアクセスの保
護を強化できます。
便利な認証オプション (モバイル アプリケーション、電話、テキスト メッセージ) によ
り、シングル サインオンを実現し、組織が必要とする強力なセキュリティ手段を提供
します。
164
Windows Azure
Service Bus
165
165
サービス バスはその名の通りサービスのバス=伝送路としての機能を提供す
る Windows Azure のミドルウェア サービスの 1 つです。
一般的にサービス バスとは複数サービスを連携するメッセージ通信のインフ
ラストラクチャを提供するもので、Windows Azure サービス バスでも同様の
ことができます。
単純なキューを介してメッセージを送受信することや、通常のキューでは不十
分で、一度に複数のサブスクライバーにメッセージを配信するメカニズム (ト
ピック) を備えたキューを使用することもできます。
166
166
場合によっては、アプリケーション間の接続 (リレー) のみが必要で、キュー
は不必要なこともあります。
サービス バスはこれらの 3 つのオプションすべてを提供し、アプリケー
ションがさまざまな方法で連携できるようにします。
他にも Windows、iOS、Android などのアプリケーションに対して、各
プラットフォーム固有のプロトコルを理解することなく簡単で拡張性の高
い方法でプッシュ通知を送信することができます。
167
167
168
168
169
169
170
170
171
171
Windows Azure のサービス バスはその名の通りサービスのバス=伝送路
としての機能を提供し、Windows Azure をはじめとしたクラウドのアプリケー
ションからオンプレミス環境でホストされている (Web サービスなどの) サービ
ス型アプリケーションの呼び出しを可能とするサービスです。
クラウド環境にホストされているアプリケーションはインターネット上に公開さ
れているため、(認証などによるアクセス権の制限を除けば) クラウド/オンプレ
ミスに関わらずどこからでも容易にアクセスすることが可能ですが、オンプレミ
ス環境でホストしているアプリケーションをクラウドのアプリケーションや他の
オンプレミス環境からアクセス可能にするのはそう簡単な話ではありません。
172
172
オンプレミス環境は通常インバウンド (外部から内部へ) の通信ポートはネット
ワークのファイアウォールによって遮断されており、またローカルネットワーク内
では NAT を使用してインターネット IP アドレスをローカル IP アドレスで共有し
ていたり、サーバーの IP アドレスは DHCP で動的に割り振られているなど、
外部のインターネットからそのままオンプレミス環境内のアプリケーションをホ
ストしているサーバーへアクセス可能なケースは稀です。
このため、オンプレミス環境のアプリケーションをインターネットからアクセス
可能にするためには、ネットワーク内に DMZ セグメントを構築してその中に
アプリケーションのサーバーを配置するなど、既存のネットワーク構成を変
更する必要があります。
173
173
しかし、Windows Azure のサービス バスを使用すれば、オンプレミスのネッ
トワーク環境に殆ど影響を与えることなく、オンプレミス サービス (サービス型
アプリケーション) をクラウド アプリケーションからアクセスさせることが可能に
なります。
(厳密に言えば、Windows Azure のサービス バスで使用する通信ポートが、
オンプレミス ネットワークのファイアウォールのアウトバウンド (内部から外部
へ) ポートとして通過できる必要があります)
サービス バスを使用するサービス アプリケーションは、クラウドのサービス
バス上に自分のエンドポイントを作成することで、そのエンドポイントを介し
て外部のアプリケーションからサービス バスに接続したサービス アプリ
ケーションへのアクセスが可能となる仕組みが提供されています。
174
174
175
175
176
176
Windows Azure
Media Service
177
177
通知ハブサービスとは、マルチ プラットフォーム (Windows、Windows
Phone、iOS、Android) のプッシュ通知専用のインフラストラクチャを提供す
るサービスです。
非常にスケーラブルで効率的なルーティング メカニズムが導入されているた
め、何千、何万人ものエンド ユーザーに対してリアルタイムに近いメッセージ
を通知できるのが特徴です。
178
179
179
180
180
Windows Azureのメディア サービスとは、主に動画などのメディア配信
を行うユーザー向けのサービスです。
そもそも一般論として動画のファイルは、画像の様な業界標準が存在して
おらず、撮影したものが、どんなデバイスでも再生できるわけではありませ
ん。 これは、インターネットでの配信を考える場合には大きな問題になりま
す。
また、動画のファイルは一般的にサイズが大きいため、ダウンロードしてか
ら再生をさせるのではなく、ストリーミングの方式にて、再生できる部分がダ
ウンロードされたら、即座に再生をさせます。
181
181
実際には、デバイスや OS 毎に標準で搭載されている動画のファイルやスト
リーミングの仕様が異なるために、多くの場合ファイルの変換を行う必要があり
ます。
また著作物を扱うために、DRM の設定を行う場合もあります。
他にもトラフィックが集中した場合のスケーラビリティの確保など、エンジ
ニアが行うには比較的ハードルが高い分野と言えます。
182
182
183
183
184
184
補足
DRM 【 Digital Rights Management 】
デジタル著作権管理
デジタルデータとして表現されたコンテンツの著作権を保護し、その利用や
複製を制御・制限する技術の総称です。
デジタル著作権管理。音声・映像ファイルにかけられる複製の制限技術な
どが有名だが、広義には画像ファイルの電子透かしなどもDRMに含まれる。
185
185
Windows Azure メディア サービスは動画メディアのアップロードからエ
ンコード、ストリーミング配信、管理までを完備した、メディア配信を行う方
向けのエンドツーエンドのサービスです。
もちろん PC からスマートフォンまで、各種デバイス向けのエンコーディン
グをサポートしており、また、API を通じて動画作成から配信までの作業
を自動化できます。
186
186
187
187
188
188
189
189
Windows Azure
価格体系
19019019
価格体系
Windows Azure の料金はオンプレミスのライセンス料などとは異なり、
大きく分けるとサーバーの稼働時間 (コンピューティング サービスなど)、
データ容量 (データ サービスなど)、下りのネットワーク転送量 (各サー
ビスとのインターネット経由での通信) で課金が行われます。
191
191
①サーバーの稼働時間 どのスペックのサーバーを何台構成で、どのくらいの
時間稼働させるかによって料金が決まります。仮想マシン、クラウド サービス、
Web サイト、モバイル サービスなどで適用されます。
② データ容量 実データの容量が月平均で何 GB 格納されていたかによっ
て料金が決まります。SQL データベースや Windows Azure ストレージなど
で適用されます。
③下りのネットワーク転送量 データセンター外部からのリクエストに対する
下りのデータ転送量が何 GB かによって料金が決まります。データセンターの
場所によって料金が異なります。
192
192
193
193
Windows Azure Store
194
194
Windows Azure ストアでは監視サービス、スケーリング サービスを始
め、Bing 検索 API、過去の気象データなど、マイクロソフトとサード パー
ティが提供するさまざまなサービスとデータを検索・購入できます。
これらは Windows Azure 管理ポータルから直接購入できるため、必要
なものをすぐに入手できるメリットがあります。
195
195
196
196
Windows Azure ストアでは、
①主要なアプリケーション サービスの入手ができます。 ClearDB (MySQL の
PaaS)、AppDynamics (監視およびスケーリング サービス)、New Relic (パ
フォーマンスの管理および監視サービス)、SendGrid (電子メール配信サービス)
など高機能なサービスを直ぐに購入して利用できます。
②アプリケーションで使用するデータの検索 Dun & Bradstreet (ビジネス分
析)、Loqate (全世界を対象とした住所検証およびクレンジング サービス)、
StrikeIron (電話番号検証サービス、売上税および使用税率の検索サービス)
などのデータ プロバイダーからデータを直ぐに購入して利用できます。
197
197
③管理ポータルからすべてのサービスおよびデータへのアクセスと管理
Windows Azure ストアとの UI 統合により、必要なサービスおよびデータの
検索、購入、管理が Windows Azure 管理ポータルから簡単に行えます。
支払管理の統合により、Windows Azure ストアで購入した製品に対する
請求は Windows Azure アカウントに直接行われます。
接続文字列やサンプル コードも提供され、スムーズに利用を開始できます。
また、使用状況に関するデータも Windows Azure 管理ポータルから直接
入手できます。
198
199
199
200
200
Windows Azure向けに提供されているサービスは、Windows Azure
Storeで公開されており、Windows Azureの管理ポータルからサービス利
用契約を結ぶことができます。
例えば、Windows Azure Storeで提供されている監視機能、ジョブスケ
ジュール機能などのサービスは下記のようなものがあります。
201
Windows Azureストアで提供されているアプリケーション一覧
202
202
Windows Azure
Storage Services
203
203
StorSimple (クラウド統合ストレージ) StorSimple はオンプレミスの SAN スト
レージと Windows Azure ストレージを統合したクラウド統合型ストレージです。
これにより、インフラストラクチャの複雑性を削減し、データ保護の向上とスト
レージの全体的な TCO の削減 (60 ~ 80%)、およびストレージの迅速なプ
ロビジョニングを実現します。
StorSimple の自動ティアリング技術では、パフォーマンス指向の SSD、
容量指向の SAS ディスク ドライブ、および Windows Azure ストレージ
の 3 種類の記憶域を使用します。
204
204
データは、相対的なアクティビティ レベルとユーザー指定のポリシーに基づい
て、それぞれのストレージ間で適宜移動され、アクセス頻度が高くなったデー
タはパフォーマンス重視のストレージに、アクセス頻度の低い、もしくは使われ
ないデータは容量重視、低コストの Windows Azure ストレージに暗号化して
安全に保存されます。
Windows Azure ストレージ上のデータが利用された場合は、優先度の
高いデータとみなされ再び SSD に展開されます。
これによりストレージ システム全体の運用管理負担を削減することがで
き、運用コストやメンテナンス費用を削減することが出来ます。
他にも StorSimple の自動バックアップ機能を利用することで個別に
バックアップ環境を構築する必要がなく、災害対策、事業継続のための
ストレージとして利用できます。
205
206
206
207
207
208
208
209
209
Windows Azure
Management Portal
210
210
Windows Azure ではクラウド サービスや SQL データベースといった PaaS
としての機能も提供していますが、Windows Azure 仮想マシンでは HyperV をベースとした IaaS としての機能が提供されています。
Windows Server だけでなく Linux の環境をそのままパブリック クラウドであ
る Windows Azure 上に展開することが出来るため、既存のコードを変更せ
ずにアプリケーションやインフラストラクチャをそのまま Windows Azure に移
行できます。
その結果、クラウドへのアプリケーションの移行が高速化し、時間と費用の節
約が可能になります。
211
211
SharePoint、SQL Server、Active Directory といったマイクロソフトの
サーバー製品をそのまま Windows Azure 仮想マシンで動作させること
も可能です ( サポート対象のマイクロソフト製品)。
また、リモートデスクトップや SSH でシステムを操作、管理することが出来る
ため、既存のスキルをそのまま活用することができます。
Windows Azure 仮想マシンの用途は非常に多岐にわたることが想定されま
すが、たとえば「既存の社内サーバーをそのまま移行」、「検証テスト環境」、
「自社データセンター被災時の災害対策」などが考えられます。
212
212
補足
SSH 【 Secure SHell 】 セキュアシェル
主にUNIXコンピュータで
利用される、ネットワーク
を介して別のコンピュータ
にログインしたり、遠隔地
のマシンでコマンドを実行
したり、他のマシンへファ
イルを移動したりするため
プログラムです。
ネットワーク上を流れる
データは暗号化されるた
め、インターネット経由でも
一連の操作を安全に行う
ことができます。
213
PaaS として提供しているクラウド サービスや、Web サイトと同様に、仮想
マシンでは構築するシステムに応じて適切なスペック (サイズ) を選択できる
ようになっています。
インスタンス サイズが大きいほどスペックが高くなり、システムの性能
向上につながります。
指定したスペックは仮想マシン上でサービスを展開した後でも、管理ポー
タルから簡単に変更することが出来ます。
214
214
215
215
Windows Azureには、Webサイトにおける、運用面に役立つ機能が標準で備
わっています。
管理ポータルでは、CPU時問やサーバーエラー件数などのサーバーの運用状
況を確認できる機能があります。
管理サービスのアラート機能と連携すれば、アップタイムや応答時間に「しきい値」
を設定してメール通知を行い、サイトの問題を索早く察知することが可能です。
216
216
Webサイトを動かすための共有インスタンス数の変更によるスケールアウト機
能も標準で備わっており、アクセス数に応じてサイトのパフォーマンスを調整で
きます。
WebサイトのモードWebサイトには無料・共有・標準の3つのモードがあり、
それぞれ料金体系や制限(クォータ)が異なります。
217
Windows Azure管理ポータルの主な特徴
6つの言語サポート
オペレーション・ログサポート
SQLデータベース・メトリックスサポート
仮想マシンの強化(WindowsおよびLinuxのVMを簡単作成)
Webサイトの強化(すべての地域でサイト作成およびプライベート
GitHubリポジトリデプロイメントのサポート)
218
218
補足
メトリクス 【 metrics 】
韻律学、作詞法という意味の英単語。また、測定基準、尺度、計量、距離などを意
味する名詞“metric”の複数形。分野や対象を表す名詞に伴って、「~の尺度」「~
の測定法」「~の計量法」などの意味を付加する接尾辞でもありまう。
ソフトウェア開発で、ソースコードの品質を数値化して定量的に評価することや、そ
の際の評価手法や基準などの体系のことを「ソフトウェアメトリクス」(software
metrics)といいます。
コードの規模や複雑さ、凝集度(互いに関連する要素のコード内での散らばり具合)、
結合度(クラスやパッケージの独立性の高さ)などを専用のツールを使って計測し、
一定の目標を定めて改善していきます。
セキュリティの分野で、指紋や眼球の虹彩、声紋などの身体的特徴によって本人確
認を行う認証方式のことをバイオメトリクス認証(biometrics authentication)とい
います。
暗証番号やパスワードなどに比べ非常になりすましにくい方式で、高い安全性が求
められる銀行のATMなどで実用化されています。
219
補足
GitHub
GitHub(ギットハブ)はソフトウェア開発プロジェクトのための共有ウェブサービ
スであり、Gitバージョン管理システムを使用します。
Ruby on RailsおよびErlangで記述されており、GitHub社によって保守され
ています。
GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提
供しています。
220
220
クラウドサービスの強化(ストレージアカウントからのデプロイ、
非共有型キャッシュの設定サポート)
Media Serviceの強化(ポータル内からすべてをアップロード、エン
コード、発行、ストリーム)
仮想ネットワーク機能の強化
ストレージアカウントで独自CNAMEをサポート
すべての機能は本番環境にあるので、すぐに利用可能です。
221
221
補足
CNAMEレコード 【 Canonical NAME record 】
DNSで定義されるそのドメインについての情報の種類の一つで、あるドメイン名や
ホスト名の別名を定義するものです。
自ドメインの特定のサブドメインやホスト名について、それと同等とみなす別の名
前を任意に設定することができます。
指し示す先は自らの管理下にない他ドメインのホスト名でも構わないため、自ドメ
イン内のあるホスト名を別のドメインへの転送アドレスのように設定することもでき
ます。
複数のホスト名をAレコードで同じIPアドレスに設定しても似たような動作をさせる
ことができるが、一つをAレコードでIPアドレスに結びつけ、別名をCNAMEレコー
ドで定義しておけば、IPアドレスが変わった際に一箇所を変更するだけで済みま
す。
ただし、CNAMEレコードで定義された別名はMXレコードやNSレコードを設定す
ることができないため、そのような設定に必要な名前には用いることができません。
222
Windows Azureポータルは、英語、ドイツ語、スペイン語、フランス語、イタリア語、
日本語の6つの言語をサポートするようになりました。
ポータルの右上にあるアバターバー上をクリックすれば簡単に変更できます。
223
各SQLデータベースリソース上に提供されている新しい『DASHBOARD』
ビューを使用すると、SQLデータベースの接続の成功および失敗、またデッド
ロックの数をモニターできます。
224
Windows Azureポータルの最新リリースでは、仮想マシンの操作が使いやす
くなるように改善されました。
ポータルの『QUICK CREATE』機能を使用すると、簡単にWindowsおよび
Linux VMを作成できます。
225
Windows Azureメディアサービスによるコンテンツのアップロード/エン
コーディング/発行が管理ポータルからできます。
エンコーディングは、PC向け(Sliverlight/Flash)、HTML5
(IE/Chrome/Safari)、iOS向けの3種類が用意されており、発行すると
公開URLからすぐコンテンツを配信できます。
226
226
227
227
Windows Azureクラウドサービスやストレージに対する操作(サービス作成や
デプロイなど)のログ取得、Windows Azure SQLデータベースの稼働状況ダッ
シュボードといった機能が最新バージョンで強化されています。
228
例 DBにおける ファイアウォールの設定
ファイアウォール規則には次のような特徴があります。
■ファイアウォール規則は,規則名で個別に管理できる
■ファイアウォール規則は,接続を許可するIPアドレスを範囲で指定
できる
■ファイアウォール規則は,重複したIPアドレスを登録することがで
きます。
■ファイアウォール規則は,最大128個まで登録することができる
■ファイアウォール規則は,反映するまで5分待つことが推奨されてい
います。
229
229
Windows Azure管理ポータルのデータベースセクションにある「ファイアウォール
規則」ボタンをクリックすると,規則を追加,削除,更新するためのボタンが表示さ
れます。
230
無料で使える
Windows Azure Webサイト
231
231
無料で使えるWindows Azure Webサイト
Windows Azure Webサイトは、Windows Azure上でWebサイト
をホスティングすることに限定したサービスです。
従来からあるWebロールとは異なり、ユーザーがインスタンスの起動や
管理を行う必要はなく、Webアプリケーションを配置するだけで動きます。
”無償(Free)モード”では、Webサイトで利用できるリソースに上限はあり
まが、課金を気にすることなく利用できるようになっています。
232
232
比較項目
無償(Free)
共有(Shared)
予約(Reserved)
ホスティング環境
共有
マルチテナント型
共有
マルチテナント型
インスタンス占有
カスタムドメイン
利用不可
利用可
利用可
サイト数
最大10サイト
最大100サイト
最大100サイト
ストレージ
MySQL DB
1GB
20MB
1GB
20MB<
10GB
20MB
データ転送(受信)
無制限
無制限
無制限
データ転送(送信)
上限165MB/日
5GB/月まで無償
5GB/月まで無償
以降は従量課金
以降は従量課金
上限60分/日
上限240分/日
占有のため制限なし
2.5分/5分
2.5分/5分
インスタンス数
最大3インスタンス
最大3インスタンス
最大3インスタンス
インスタンスサイズ
選択不可
選択不可
S, M, Lから選択
費用 (資料作成時)
無償
1.14円/時間
7.00円/時間
CPU時間
233
233
無料コース
マルチテナント環境で提供される単インスタンスでしか使用できないため、
パフォーマンスやCPU時間などの使用量に制限があり、無料の場合、SLAがな
いのが特徴である
使用量が上限に達するとエラーが表示されます。
簡単な確認や検証に使用するのに最適で、何より無料というのが助かります。
234
有料の共有コース
有料の共有コースは、マルチテナント環境で提供され、無料より使用制限が緩く
なっています。
例えば、作成可能なサイトの数が10個から100個に増え、メモリー量や稼働可
能なCPU時問が増えます。
その他、インスタンス数を増加させることでスケールアウトでき、独自トメインが使
用できるなど、本番運用するための機能が利用できます。
ただし、標準コースに比べると制限が多いのでアクセス数の比較的少ないサイト
に向いています。
235
標準コース
標準コースは、シングルテナント環境で提供される共有より多くのインスタンス数
を設定でき、インスタンスサイズの変更によりマシンハワ一やメモリー量も変更で
きます。
また、CPU時問の制限がないため、多くのアクセスを受け入れることができます。
その他、64ビット環境での稼働やSSLの設定、エンドポイントの監視設定が可
能となっています。
236
236
標準コース
自動スケール機能も利用できるため、アクセス数に応じて最適なインスタンス数で
運用できます。
アプリケーションにもよりますが、Sインスタンス2台で月間数百万アクセスをさぱ
いても全くパフォーマンスに影響なく快適に利用できた実績があります。
237
Windows Azure
Virtual Machine
238
238
239
239
Windows Azure 仮想マシンを用いて、単純な Windows Server や
Linux の環境を構築することは非常に簡単です (管理ポータルから幾つか
の項目を入力すれば、10 分程度で仮想マシンを作成できます)。
ただし、Windows Azure 特有の機能や特徴を理解することで、より強固で信
頼できるシステムを構築することができます。
仮想マシンの OS ディスクやデータ ディスクの実体は、VHD ファイル (HyperV が使うファイル フォーマット) であり、BLOB ストレージに永続化されます。
240
240
BLOB ストレージの特徴として、クライアント (この場合、仮想マシン) からの書
き込み要求があった場合、BLOB ストレージ側では 3 つの複製での更新が完
了して初めて「書き込み成功」が返されます。
つまり、『仮想マシン』のディスクは通常のシンプル ボリュームであっても、3 本
のディスクをミラーリングした場合と同等の堅牢性を持つことになります。
さらに、災害対策の拠点間複製 (geo-replication) もサポートしているため、合
計 6 つの複製を保持することもできます。拠点間の複製に関してはパフォーマ
ンスの観点から非同期で通信します。
241
241
BLOB ストレージ に書き込まれたデータは、常に 3 つの複製を維持
242
242
補足
BLOB 【 Binary Large OBject 】
データベースシステムで定義されるデータ型の一つ。画像や音声などのバ
イナリデータを格納できる
Windows Azure BLOB(ブロブ) ストレージ ブロブ ストレージの基本
的な構造
243
ブロブ ストレージは 3 つの階層で構成されています。それぞれの意味
は以下のとおりです。
アカウント (Account):
Windows Azure ストレージにアクセスするためのアカウント。ファイル シ
ステムにおけるドライブに該当。
コンテナ (Container):
複数のブロブ データをまとめるグループ。ファイル システムにおけるドライブ
直下のフォルダー (= ルート フォルダー) に該当。
ブロブ (Blob):
画像ファイルや動画ファイルなどの実際のバイナリ データ。
244
Windows Azure 仮想マシンでは、必ず Windows や Linux のシステム ドラ
イブにあたる OS ディスクが必要です。
オプションで (XL サイズで最大 16 本の) データ ディスクを接続することが
出来ます。
ディスクは論理的な概念であって、BLOB ストレージに格納された
VHD ファイルそのものではありません。
ディスクは何らかの VHD に必ず 1:1 対応した名札のようなものです。
245
245
また、イメージは、Generalize 済みの特殊なディスクのことを表します。
イメージはディスクと違ってそのまま使われるわけではなく、複製されて
OS ディスクとなるテンプレートです。
246
補足
VHD (ファイル フォーマット)
Virtual Hard Disk 拡張子 .vhd
Virtual Hard Disk (VHD) は、ハード ディスク ドライブと構造的に似せて
いるファイル形式です。
Windows 8/Server 2012に搭載されているHyper-Vでは、新たにVHDX形式
と呼ばれる仮想ハードディスク・フォーマットが導入されています。
Windows Server 2012のHyper-Vでは、これまでのVHD形式も利用可能だ
が、VHDX形式にすると耐障害性が向上するなどのメリットもあります。
247
247
Windows Azure 仮想マシンでは、OS ディスクやデータ ディスクの実体 (VHD
ファイル) が、インスタンスが動作している物理サーバー上ではなく BLOB スト
レージに保存されます。
一方インスタンスが動作している物理サーバー上に Temporary Storage
(Windows Server の場合は、D ドライブ) と呼ばれる特別な領域が確保されま
す。
このストレージは主にページ ファイル用に使用され、パフォーマンスが予測
できる保証はありません。
248
248
仮想マシンのサイズ変更などの管理タスクを行うと、D: ドライブはリ
セットされます。
さらに、仮想マシンがフェール オーバーするときに、データが消去されます。
このような特徴を理解した上で一時領域として利用することを推奨します。
249
250
250
Windows Azure インフラストラクチャは巨大なデータ センターで構築され
ているため、複数の仮想マシンやストレージで通信が発生するような構成
では、それぞれの配置場所によってネットワーク レイテンシー (遅延) が発
生する可能性を考慮すべきです。
Windows Azure ではアフィニティ グループ(affinity group)を指定するこ
とで、仮想マシンやストレージ (など) の配置をある程度制御することが出
来ます。
たとえば、2 台の仮想マシンを同一のアフィニティ グループ "AG1" に配置し
た場合を考えます。ファブリック コントローラーは、この 2 台が同一クラスタ内
に配置されるように配置の調整を行います。
その結果、2 台の仮想マシンはネットワーク的に近く配置され、通信
が高速に行えるようになります。
251
252
252
補足
アフィニティグループ Affinity groups
アフィニティとは、そもそも友好関係、親和性、共感できる人たちといった意
味です。特定の目的や共通性を持つ人々の組織を指します。
Windows Azure におけるアフィニティグループとは、Windows Azure の
コンピュートサービスやストレージサービスを作成する際に、同一のアフィニ
ティグループに属するサービスを極力近づけて配置してもらうための機能で
す。この後、Windows Azure コンピュートサービスを作成する際に利用し
ます。
253
253
アフィニティ グループを指定した場合、クラスタに障害が発生すると 2 台
が共倒れになるのではないかと疑問に思われるかもしれません。
これは、可用性セットを指定して障害ドメインを分離することで解決できま
す。
クラスタ内の各ラックは、電源やネットワーク装置が冗長化され、これら装置
の障害が他のラックに影響を及ぼさないように設計されています。このくくり
を障害ドメイン (fault domain) と呼びます。
254
254
たとえば、2 台の仮想マシンを同一の可用性セット "AS1" でくくります。この
場合、2 台が異なる障害ドメインに配置されるように、ファブリック コントロー
ラーが調整を行います。
結果、いずれかのラック内で障害が発生しても、可用性セット内の別の
仮想マシンは生き残ることができます。
255
256
256
Windows Azure 仮想マシンでは、さまざまな仮想マシンの展開パ
ターンがサポートされています。
最も単純な方法は標準のイメージ テンプレートを提供しているプラット
フォーム イメージから仮想マシンを作成する方法です。
この場合、Windows Server や Cent OS などの複数のイメージから
必要なものを選択した後、パスワードやサイズ (スペック) などいくつか
の項目を指定するだけで、簡単にインスタンスを作成できます。
他にも Generalize した OS イメージをマイ イメージとして登録して、それを
カスタム テンプレートとして利用する方法や、ローカル環境で作成した VHD
をアップロードして Windows Azure 仮想マシンのイメージとして利用するな
ど、さまざまな方法が提供されています。
257
258
258
仮想マシンには主要なパフォーマンス メトリックを監視するための
機能が搭載されています。
既定では、パフォーマンス カウンターを使用して仮想マシンに対する最
小限の監視が行われ、管理ポータルでグラフィカルに確認することが
出来ます。
259
260
260
261
261
米国 4大クラウドベンダーと比較した上での
Windows Azure の特徴
262
262
今日のエンタープライズIT環境では、グローバルなスケールでより速く、安く、柔軟
に提供できるソリューシヨンが求められています。
Windows Azureは、既存のインフラストラクチャ や アプリケーションとハイプ
リッドに使用できるクラウドです。
そのため、既存の利用ツールやエンジニアのテクノロジースキルを活用できます。
Windows server、 SQLserver、.NETといったマイクロソフトのテクノロジーはも
ちろん、Linux、JavaからHadoopやOracleデータベースなど、異なる環境にまた
がるITのニーズにも対応できます。
263
263
264
264
265
265
266
266
マイクロソフトは、エンタープライズクラスの構築に必要なサポートとSLA
(サービス・レベル・アグリーメント)、プライバシーポリシー、および業界をリード
するコンプライアンス対応を含むグローバルスケールのプラットフォームとして
の実績があります。
Windows Azureは、機能によって99.9%から99.99%までの間の月次SLAを
実現し、インフラストラクチャにリソースを割くことなく、可用性に優れたアプリ
ケーションを作成、実行できます。
267
268
268
OSとサービスに対して修正プログラムを自動適用できるほか、ネットワーク
負荷分散機能が組み込まれ、なおかつハードゥエア障害からの高い回復力
を備えています。
ダウンタイムなしでアプリケーションをアップグレードできるデプロイモデル
をサポートしています。
任意の言語、フレームワーク、またはツールを使用してアプリケーションを作
成できます。
269
Windows Azure の管理ポータルで、ホストサービスの「Configure
OS」を開いた画面です。
OS Version が [Automaric] に設定されていることがわかります。
270
オンプレミスにおける Windows Update とは仕組みが全く異なる点
に注意しなければなりません。
オンプレミスでは、修正プログラムは以下のように適用されます。
271
271
Windows Azure では下記のようなイメージになります。
272
272
修正プログラムが適用される...というよりも、「修正プログラムが適用され
たOSに置き換えられる」と言ったイメージです。
Windows Azure 管理ポータルで「Configure OS」の OS Version をプ
ルダウンすると、以下のようにGuest OSに多くのバージョンが用意されて
いることがわかります。
それぞれの違いは、修正パッチやインストールされているSDKのバージョ
ンです。
273
274
274
補足
ダウンタイム 【 down time 】
システムやサービスなどが停止して
いる時間を指します。
突発的な障害によって起こるものと、
メンテナンスやシステムのアップ
デートなどによって人為的に起こす
ものがあります。
275
補足
デプロイ 【 deploy 】 デプロイメント / deployment
配備する、配置する、展開する、配置につく、などの意味です。
ソフトウェアの分野で、開発したソフトウェアを利用できるように実際の運
用環境に展開することをデプロイということがあります。
インストール(install)に近い意味ですが、サーバコンピュータ上で運用され
外部からネットワークを通じて利用されるソフトウェアや、他のソフトウェア
から参照されるコンポーネントなどを、利用可能な状態にする、アクセス可
能にする、といったニュアンスがあります。
276
276
277
277
補足
フレームワーク 【 framework 】 FW
枠組み、下部構造、構造、組織という意味の英単語。
ソフトウェアの世界では、アプリケーションソフトを開発する際に頻繁
に必要とされる汎用的な機能をまとめて提供し、アプリケーションの土
台として機能するソフトウェアのことを言います。
アプリケーションの雛型。 開発にフレームワークを利用すると、独
自に必要とされる部分だけを開発すれば済むため開発効率の向上が
見込めます。
具体的なソフトウェアだけでなく、汎用的に適用できるプログラムの設
計モデルや典型的な処理パターンなどを含めてフレームワークと呼ぶ
場合もあります。
278
278
279
279
機能とサービスは オープンRESTプロトコル を使用して公開される複数のプロ
グラミング言語に対応した Windows AzureSDK (クライアントライブラリ)が用
意されています。
このライプラリはオープンソース・ライセンスに基づいてリリースされ、GitHub
上にホストされます。
アプリケーションのスケールを
簡単に変更できます。
スケールに制限もありません。
280
補足
REST 【 REpresentational State Transfer 】
2000年にRoy Fielding氏が提唱した、分散システムにおいて複数のソフト
ウェアを連携させるのに適した設計原則の集合を言います。
また、狭義には、それをWebに適用したソフトウェアの設計様式のことを指
します。一般には後者の意味で用いられることがほとんどです。
一般によく使われる狭義のRESTは、パラメータを指定して特定のURLに
HTTPでアクセスすると、XMLで記述されたメッセージが送られてくるような
システムおよび呼び出しインターフェース(「RESTful API」と呼ばれる)のこ
とを指します。
システムの状態やセッションに依存せず、同じURLやパラメータの組み合
わせからは常に同じ結果が返されることが期待されます。
281
282
282
補足
SDK 【 Software Development Kit 】
あるテクノロジー(プログラミング言語やAPIなど)を利用してソフトウェア
を開発する際に必要なツールのセットのことを言います。
283
284
284
補足
GitHub
GitHub(ギットハブ)はソフトウェア開発プロジェクトのための共有ウェ
ブサービスであり、Gitバージョン管理システムを使用します。
Ruby on RailsおよびErlangで記述されており、GitHub社によって
保守されています。
285
286
286
Windows Azureは完全に自動化されたセルフサービスのプラットフォームで
あり、数分でリソースをプロビジョニングできます。
ニーズに応じてリソース使用量を柔軟に変更でき、使用した分だけ支払えぱよい
方式です。
世界各地にある複数のデータセンターで利用できるため、顧客との距離が近い場
所にアプリケーションをデプロイできます。
287
「OS やミドルがプリインストールされており、アプリをそこに転送してイン
ターネット上で動作させられる」という点において、レンタルサーバ(共用ホ
スティングサービス)に似ています。 しかし決定的に異なるのが、各ユー
ザのアプリケーションが仮想マシンレベルで分離されている、という点です。
288
288
Windows Azure コンピュートサービスの実態は、要するに仮想マシン(VM)の
イメージのコピーと、アプリケーションを自動展開するシステムです。
展開された各仮想マシンは、CPU やメモリとバインドされて動作する(通常は 1
インスタンスあたり 1 CPU がバインドされる)ため、サービスレベルの保障がし
やすい形で動作することになります。
289
Windows Azureを利用することにより、コンピューティング環境内でアプリケーショ
ンコードを信頼性の高い方法でホストしてスケールアウトできます。
リレーショナル型のSQLデータベース、NoSQL型のテープルストレージ、および非
構造化データ向けのBLOBストレージを使用してデータを格納でき、必要に応じて
Hadoopなどを使用してデータマイニングを行うことができます。
290
補足
NoSQL
NoSQL(一般に”Not only SQL”と解釈される)とは、リレーショナル
データベース管理システム (RDBMS) 以外のデータベース管理システ
ムを指します。
リレーショナルデータベースをやみくもに使用してきた長い歴史を打破
し、それ以外のデータベースの利用・発展を促進させようとする運動の
標語としての意味合いを持ちます。
。関係モデルではないデータストアの特徴として、固定されたスキーマ
に縛られないこと、関係モデルの結合操作を利用しないこと(場合に
よっては単にそのような機能が欠落しているだけ)、水平スケーラビリ
ティが確保しやすい事が多いこと、トランザクションを利用できないもの
が多いことなどが挙げられます。
291
292
292
補足
非構造化データ
非構造化データ(Unstructured Data)とは、構造定義されておらず、主に
リレーショナルモデルにうまく適合しないデータモデルに分類されるデータ
を指します。
数値、文書、画像、音声、動画な
ど、人のコミュニケーションをより
表現するデータを活用するよう
になりました。 このようなデー
タは、構造化データという分類を
超えて、完全な構造定義を持た
ない半構造化データ、あるいは、
構造定義を持たない非構造化
データとして分類されるようにな
りました。
293
294
294
従来型データベースの問い合わせ言語がSQLであるのに対して、NoSQL
と総称されるデータベースも登場するようになりました。 また、Hadoop
などの分散ファイルシステムも活用されるようになってきました
295
296
296
補足
BLOB 【 Binary Large OBject 】
データベースシステムで定義されるデータ型の一つ。画像や
音声などのバイナリデータを格納できる。
297
ブロブ (Blob) ストレージの種類
ブロブ (Blob) には様々な種類のデータを保存することが可能であり、
代表的なものでは静止画像や動画などのメディア コンテンツがありま
すが、それだけなく、Windows Azure のアプリケーション パッケージ
やプログラム コードなどを置くことも可能です。
298
299
299
補足
Hadoop 【 Apache Hadoop 】
Apache Software Foundation(ASF)が開発・公開している、大規模データ
を効率的に分散処理・管理するためのソフトウェア基盤(ミドルウェア)です。
オープンソースソフトウェアとして公開されており、誰でも自由に入手・利用す
ることができます。
300
301
301
補足
データマイニング 【 data mining 】
小売店の販売データや電話の通話履歴、クレジットカードの利用
履歴など、企業に大量に蓄積されるデータを解析し、その中に潜
む項目間の相関関係やパターンなどを探し出す技術です。
302
303
303
304
304
さらに、信頼性の高いメッセージング機能を使用し、スケーラプルな分散アプリケー
ションを実現するとともに、クラウドとオンプレミスのエンタープライズ環境の両方で
動作するハイプリッドソリューシヨンを実現できるのが、Windows Azureの最大の
特徴です。
Windows Azureの分散キャツシュおよびCDNサービスにより、世界中のどこで
あっても、待機時問の短い、優れたアプリケーションバフォーマンスが提供されて
います。
305
Windows Azure は、アプリケーシヨンプラツトフォームとしてPaasを中心にサー
ビスを展開してきました。
306
307
307
補足
分散キャッシュ
近年、大量のデータを扱う大規模システムでは、データのアクセス性能を向
上させるために分散キャッシュ技術が必須のものとなってきています。
キャッシュとは頻繁に使われるデータをメモリ内に保持し処理の高速化を図
ること、またはそのメモリのことをいいます。
従来より、高速なデータアクセスを実現するにはキャッシュ技術が有効であ
りましたが、、システムで扱うデータ量の増大に伴い、1台のサーバに搭載可能
なメモリ量では必要なデータをすべて保持することができなくなってきました。
その解決策として、分散キャッシュ技術が今、注目を集めています。
308
309
309
補足
CDN (Content Delivery Network コンテンツ配信ネットワーク)
インターネット上にキャッシュサーバーを分散配置し、エンドユーザーに最も
近い経路にあるキャッシュサーバーから画像や動画などのWebコンテンツを、
オリジナルのWebサーバーに代わって配信する仕組みを意味します。
310
311
311
補足
PaaS 【 Platform as a Service 】
アプリケーションソフトが稼動するためのハードウェアやOSなどの
基盤(プラットフォーム)一式を、インターネット上のサービスとして遠
隔から利用できるようにしたものです。 また、そのようなサービス
や事業モデルを言います。
312
Windows AzureのべースはクラウドOS として基盤機能を提供する「コン
ピューティング」、「データ管理」、「ネットワーク」で構成されています。
その上にサービスアプリケーション開発に必要なクラウドベースのサービスコン
ポーネントとして、アクセス制御やメディアサービスなどが用意されています。
313
314
314
315
315
316
316
317
317
318
318
319
319
マイクロソフトのクラウドOSは、3種類のクラウドサービスの総称であり、独自の
構成を築いています。
3種類のクラウドとは、
①パプリッククラウドであるWindows Azure
②Windows Server 2012およびSystem Center2012を組み合わせて構築した
プライベートクラウド、
③Windows Server 2012とSystemCenter2012を組み合わせて構築したサー
ドパーティ (クラウドサービスプロバイダー) のパプリッククラウド です。
320
320
321
321
補足
Microsoft System Center 2012
「System Center」とは、マイクロソフトが提供する運用管理製品のブランド名で
す。
従来のSystem Center 2008以前は、PCの管理やシステムの稼働監視ツールな
どを、それぞれ個別の製品として提供されてきました。
System Center 2012という最新のバージョンではバラバラな販売形態を改め、
1つの製品(DatacenterとStandardという2つのエディション)として提供すること
になりました。
この2つのエディションも、利用する仮想マシンの台数によってどちらかを選択す
る必要がありますが、含まれる機能に差はありません。
これまでのように、機能ごとに対応製品を追加購入する必要はなく、1つ
の契約に含まれる複数の機能の中で、何から利用するか、どのような組
み合わせで利用するかを検討すればよいだけになりました。
322
323
323
Windows Azureの構築に使用しているソフトウェアは販売されていませんの
で、特定のソフトウェアではなく、同じ管理ツール、同じ管理用 APIが利用でき
る3種類のクラウドを行き来する仕組みを「クラウドOS」と呼んでいます。
マイクロソフトが目指すクラウドOSは、アプリケーションの配置場所がオンプレミ
スのデータセンターつまりプライベートクラウドにあっても、 Windows Azureの
パプリッククラウドであっても、あるいはクラウドサービスプロバイダーにあっても、
1つのコンヒュータのように扱うことができる、首尾一貫したノウハウを取得できる
プラットフォームであることが特徴です。
324
324
325
325
326
326
データセンターにインストールした Windows Azure パックは System
Center および Windows Server と統合され、以下の機能があります。
複数のテナント用の管理ポータル
Web サイト、バーチャル マシン、サービス バスなどのサービスのプロビ
ジョニング、監視、および管理を行うための Windows Azure と一貫し
たカスタマイズ可能なセルフサービス型のポータル エクスペリエンス。
管理者向けの管理ポータル
リソース クラウド、ユーザー アカウント、およびテナントのサービス、見
積もり、価格設定を構成および管理するための管理者用ポータル。
327
マイクロソフトのクラウドOSの内容をもう少し具体的に見て行くと、オープンな開発
環境で、一元的なシステム管理ができ、共通のデータベースを持ち、基盤としての
仮想化が実現しています。
マイクロソフトは「Windows Azure Pack」 という追加ソフトゥエアを提供し、
Windows Server 2012とSystem Center 2012を組み合わせて構築したクラウ
ドでも、 Windows Azureと同じ管理用APIや管理用UI(ユーザーインタフェース)
を利用できるようにしています。
328
サービス管理 API
管理ポータルの機能の基盤であるサービス管理 API は、カスタマー
ポータルや課金システムを始めとする多様な統合シナリオを実現する
OData REST API です。
329
Web サイト
Windows Azure の Web サイトと一貫したこのサービスは、ASP.NET、PHP、
および Node.js Web アプリケーション用の高密度でスケーラブルな Web 共有
プラットフォームを提供する場合に役立ちます。
このサービスには、一般的な
オープン ソース Web アプリ
ケーションのカスタマイズ可能
な Web アプリケーション ギャラ
リーおよび社内で開発された
Web サイトとアプリケーション
用のソース コントロール システ
ムとの統合が含まれています。
330
バーチャル マシン
Windows Azure の仮想マシンと一貫したこのサービスでは、サービスとしての
インフラストラクチャ (IaaS) 機能を Windows および Linux の仮想マシン
(VM) に提供できます。このサービスには、VM テンプレート ギャラリー、スケー
リング オプション、および仮想ネットワーキング機能が含まれています。
サービス バス
Windows Azure のサービス バスと一貫したこのサービスでは、分散ア
プリケーションの間で信頼性の高いメッセージング サービスを提供できま
す。このサービスには、キューとトピックベースのパブリッシュ/サブスクラ
イブ機能が含まれます。
331
331
自動化と拡張性
Windows Azure パックには、自動化に加えて、追加
のカスタム サービスを Runbook エディタおよび実行
環境などのサービス フレームワークに統合するための
機能も含まれています。
332
Windows Azure Packの提供により、クラウドOSの管理ツールや管理APIが、
windows Azureベーに一元化されるハイプリッドクラウドの構築・管理・運
用が容易になり、エンタープライズ領域でのクラウド活用がますます活発になると
思います。
333
WebサイトはWindows Azureのコンビューティングサービスの中でも最も導入
が簡単なサービスです。 またWeb上にサイトを公開するためのサービスでもあ
ります。
WebサイトはWindows AzureのPaaSサービスであり、また、オンプレミスの
Windows serverにもWindows Azure Pack の一部として導入可能であるた
め、うまく活用すると有意義だと思います。
334
335
335
.NETだけでなく、PHPやNode.jsなどのオープンソース言語にも対応しており、シ
ンプルなサイトやプログ、ECサイトであれぱ、非常に簡単かつ短時問で公開でき
るのが特徴となっています。
336
補足
PHP 【 PHP : Hypertext Preprocessor 】
動的にWebページを生成するWebサーバの拡張機能の一つです。
また、そこで使われるスクリプト言語を言います。
レイアウトの「雛形」となるHTMLファイル内に、処理内容を記述したスクリプト
を埋め込み、処理結果に応じて動的に文書を生成し、送出することができます。
プログラムの表記法はC言語、Java、Perlの各言語から転用したものがベースと
なっていますが、PHP独自のものもあります。
言語仕様やプログラムはオープンソースソフトウェアとして無償で入手することがで
きます。
337
337
338
338
補足
Node.js
Node.js はサーバー・サイドの JavaScript インタープリターであり、
サーバーの動作に関する概念を変えるものです。
Node.js が目指しているのは、プログラマーが非常にスケーラビリティー
の高いアプリケーションを構築できるようにすること、そして何万もの同時
接続をたった 1 台の物理マシンで処理できるコードを作成できるようにす
ることです。
339
340
340
Webサイトでは、カスタムのWebサイトをから構築することも可能ですが、Windows
Azure 管理ポータルのギャラリーで事前構成済みのWebサイトのパッケージを
Web画面に従って選択するだけで導入できます。
用意されているのは、CMSやプログ、フォーラム、Eコマース(ECサイト)、 Wiki、
アプリケーションフレームワーク や プログラムテンプレートなどです。
例えぱ、ブログやサイトでよく利用される WordPress もギャラリーから導入
でき、導入後にデザインテンプレートを適用するだけでオリジナルのサイトを短
期間で公開できます。
341
341
ギャラリーには、Microsoft、サード パーティ企業、およびオープン ソー
ス ソフトウェア活動によって開発された多種多様な人気の Web アプリ
ケーションが用意されています。
ギャラリーから作成した Web アプリケーションは、Windows Azure 管
理ポータルへの接続に使用するブラウザー以外に、他のソフトウェアを
インストールする必要はありません。
342
Windows Azure Web サイト のギャラリーに WordPress の日本語テン
プレートが追加され、数クリックで Windows Azure で WordPress 日本
語版がインストールされた Web サイトが利用可能になります。
Windows Azure 管理ポータルから [新規作成] → [Web サイト] → [ギャラ
リーから] をクリックして、Windows Azure Web サイトのギャラリーを表示し、
WordPress (Japanese) を選択します。
URLの指定、データベース (新しく作成、または既存データベースを使用)、
リージョン(日本に一番近い東アジアなど) を選択し、他の項目は適時設定
します (←デフォルトのままでもインストールできます)。
343
343
344
344
345
345
管理ポータルで Web サイトの作成が完了したら、指定した URL をク
リックし、WordPress の初期設定を行ってください。初期設定画面も日
本語になっています。管理ポータルで Web サイトの作成が完了したら、
指定した URL をクリックし、WordPress の初期設定を行ってください。
初期設定画面も日本語になっています。
346
347
347
設定が完了すると、WordPress の管理画面やサイトが利用できるよう
になります。
348
349
349
本資料の関連資料は下記をクリックして
PDF一覧からお入り下さい。
ITライブラリー (pdf 100冊)
http://www.geocities.jp/ittaizen/itlib1/
目次番号
453番
454番 他
350
350
351
Fly UP