マイクロソフト公式解説書
プログラミングAzure Service Fabric

  • ただいまウェブストアではご注文を受け付けておりません。
  • サイズ B5判/ページ数 528p/高さ 24cm
  • 商品コード 9784822298852
  • NDC分類 547.48
  • Cコード C3004

出版社内容情報

 本書は"Programming Microsoft Azure Service Fabric"(Microsoft Press, 2016)の日本語版で、開発者やアーキテクト向けに、Azure Service Fabricを利用したアプリケーション開発を、基礎から活用方法まで実践的に解説します。
 本書は4部構成となっており、それぞれAzure Service Fabricの異なる側面に焦点を合わせています。第1部では、ステートレスサービス、ステートフルサービス、Reliable Actorを使ったService Fabricアプリケーションの設計と開発を取り上げます。第2部では、運用面に焦点を当て、Service Fabricクラスターを管理する方法と、Service Fabricアプリケーションの管理、テスト、診断方法を紹介します。第3部では、スケーラブルなWebアプリケーション、IoT、ビッグデータ、マルチテナントアプリケーション、ゲームといった、典型的なアプリケーションシナリオを実装するためのデザインパターンとベストプラクティスを紹介します。最後の第4部では、高度なサービスのホスティングとAzure Service Fabricを使った複雑系のモデル化を取り上げます。
 日本語版では、原書発行後に更新された情報をできるだけ反映するように努めました。

※ご注意:本書のサンプルコードについて
 原書発行後にSDKが更新されたことにより、原書のサンプルコードも更新が多くなっています。訳書制作時点の更新済みのサンプルコードを監訳者がGitHubで公開しており、以下の「サンプルコードのダウンロード」から入手できます。原書のサンプルコードは、本書の「はじめに」の「ダウンロード:サンプルコード」に記載のURLから入手できます。

第1部 基礎

第1章 Hello, Service Fabric!
1.1 現代のPaaS
1.1.1 アジリティを念頭に置いた設計
1.1.2 QoS を念頭に置いた設計
1.1.3 ワークロードとインフラストラクチャの分離
1.2 Azure Service Fabric の概念
1.2.1 アーキテクチャ
1.2.2 ノードとクラスター
1.2.3 アプリケーションとサービス
1.2.4 パーティションとレプリカ
1.2.5 プログラミングモード
1.2.6 ステートレスとステートフル
1.3 アプリケーションを開発するための準備
1.3.1 開発環境のセットアップ
1.3.2 Azure でのService Fabric クラスターのプロビジョニング
1.4 Hello, World
1.5 ローカルクラスターの管理
1.5.1 Visual Studio Cloud Explorer
1.5.2 Service Fabric Local Cluster Manager
1.5.3 Windows PowerShell
1.6 参考資料

第2章 ステートレスサービス
2.1 ASP.NET 5 アプリケーションの実装
2.2 ステートレスサービスのスケーラビリティと可用性
2.2.1 可用性
2.2.2 スケーラビリティ
2.3 通信スタックの実装
2.3.1 既定の通信スタック
2.3.2 WCF 通信スタック
2.3.3 カスタム通信スタック
2.4 参考資料

第3章 ステートフルサービス
3.1 Azure Service Fabric の状態管理
3.2 ステートフルサービスのアーキテクチャ
3.2.1 Reliable Collection
3.2.2 Reliable State Manager
3.2.3 Transactional Replicator
3.2.4 ロガー
3.2.5 整合性
3.3 Simple Store アプリケーション
3.3.1 ショッピングカートサービス
3.3.2 Simple Store クライアント
3.3.3 サービスパーティション
3.3.4 UniformInt64Partition
3.3.5 NamedPartition
3.4 パーティションとレプリカ
3.4.1 レプリカのロール
3.4.2 スケーリング
3.5 参考資料

第4章 Actor パターン
4.1 Azure Service Fabric のReliable Actor
4.1.1 アクター
4.1.2 アクターのライフライム
4.1.3 アクターの状態
4.1.4 アクターの通信
4.1.5 並行性
4.2 アクターベースの三目並べ
4.2.1 アクターモデル
4.2.2 アプリケーションの作成
4.2.3 アクターインターフェイスの定義
4.2.4 Game アクターの実装
4.2.5 Player アクターの実装
4.2.6 テストクライアントの実装
4.2.7 テスト
4.2.8 ゲームの改善
4.3 タイマー、リマインダー、イベント
4.3.1 アクターのタイマー
4.3.2 アクターのリマインダー
4.3.3 アクターのイベント
4.4 アクターの内部の仕組み
4.4.1 アクターの診断とパフォーマンスの監視
4.4.2 アクターとAzure Service Fabric Reliable Services
4.4.3 アクターの状態プロバイダー
4.5 参考資料

第5章 サービスのデプロイとアップグレード
5.1 Service Fabric アプリケーションのデプロイプロセス
5.1.1 パッケージ
5.1.2 アップロード
5.1.3 登録とプロビジョニング
5.1.4 作成、置換、ローリングアップグレード
5.2 正常性モデル
5.2.1 正常性エンティティ
5.2.2 正常性状態
5.2.3 正常性ポリシー
5.2.4 正常性のレポートと集約
5.3 ローリングアップグレード
5.3.1 障害ドメインと更新ドメイン
5.3.2 アップグレードプロセス
5.3.3 アップグレードモードとアップグレードパラメーター
5.4 複数の環境
5.4.1 アプリケーションのパラメーターとパラメーターファイル
5.4.2 アプリケーションの発行プロファイル
5.5 暗黙的なホストの使用
5.5.1 暗黙的なホストの定義
5.5.2 RunAs ポリシー
5.5.3 Node.js アプリケーションのホスティング

第6章 可用性と信頼性
6.1 サービスの可用性と信頼性
6.1.1 壊れたサービス
6.1.2 可用性の改善
6.1.3 信頼性の改善
6.2 Azure Service Fabric サービスの可用性
6.2.1 サービスの配置
6.2.2 ルーティングと負荷分散
6.2.3 ローリングアップグレードの詳細
6.3 Azure Service Fabric サービスの信頼性
6.3.1 Event Tracing for Windows
6.3.2 Azure 診断
6.3.3 カオステスト
6.3.4 サービスの状態のバックアップと復元

第7章 スケーラビリティとパフォーマンス
7.1 スケーラビリティの概念
7.1.1 垂直スケーリングと水平スケーリング
7.1.2 ステートレスサービスとステートフルサービスのスケーリング
7.1.3 同種インスタンスと異種インスタンス
7.1.4 シングルテナントとマルチテナント
7.1.5 手動スケーリングと自動スケーリング
7.2 Service Fabric クラスターのスケーリング
7.2.1 Service Fabric クラスターの手動スケーリング
7.2.2 Service Fabric クラスターの自動スケーリング
7.2.3 Azure Content Delivery Network によるスケーリング
7.3 ボトルネックの解消
7.3.1 状態のボトルネック
7.3.2 通信のボトルネック
7.3.3 オーケストレーションのボトルネック

第2 部 サービスのライフサイクル管理

第8章 Windows PowerShell によるAzure Service Fabric の管理
8.1 セキュリティで保護されたService Fabric クラスターの作成
8.1.1 証明書を使ったクラスターの保護
8.1.2 証明書を使ったクライアント認証
8.1.3 Visual Studio からのアプリケーションの発行
8.2 クラスター管理コマンド
8.2.1 クエリ
8.2.2 ノードの操作
8.2.3 その他のクラスター管理コマンド
8.3 アプリケーション管理コマンド
8.3.1 アプリケーションのデプロイ
8.3.2 アプリケーションのアップグレード
8.3.3 アプリケーションのロールバック
8.3.4 アプリケーションの削除
8.4 参考資料

第9章 Azure ポータルによるAzure Service Fabric の管理
9.1 Service Fabric クラスターの構造
9.1.1 可用性セット
9.1.2 仮想マシンとNIC
9.1.3 仮想ネットワーク
9.1.4 ロードバランサー
9.1.5 Storage アカウント
9.2 Service Fabric クラスターの高度な構成
9.2.1 ロールベースのアクセス制御
9.2.2 ネットワークセキュリティグループ
9.3 参考資料

第10章 診断と監視
10.1 診断
10.1.1 Azure Service Fabric の診断の構成
10.1.2 Elasticsearch とKibana の使用
10.1.3 Microsoft Operations Management Suite
10.2 監視
10.2.1 Service Fabric Explorer
10.2.2 Azure Application Insights
10.3 参考資料

第11章 テスト
11.1 ソフトウェアのテスト容易性
11.1.1 制御可能性
11.1.2 観測可能性
11.1.3 分離可能性
11.1.4 明確さ
11.2 基本的なテストケースの作成
11.3 継続的インテグレーションの設定
11.3.1 Visual Studio Team Services プロジェクトの準備
11.3.2 ビルド定義の作成
11.3.3 Visual Studio Team Services での負荷テストの実行
11.4 テスト容易性サブシステム
11.4.1 テスト容易性アクション
11.4.2 PowerShell を使ったテスト容易性アクションの開始
11.5 参考資料

第3 部 パターンとシナリオ

第12章 Web アプリケーション
12.1 Azure のPaaS エコシステム
12.1.1 Azure App Service
12.1.2 Azure Cloud Services
12.1.3 Azure Service Fabric
12.1.4 PaaS プラットフォームの選択
12.1.5 Web アプリケーションのためのAzure サービス
12.2 シナリオとパターン
12.2.1 EC Web サイト
12.2.2 ソーシャルWeb サイト
12.2.3 企業ポータル
12.3 参考資料

第13章 モノのインターネット(IoT)
13.1 Azure のIoT ソリューション
13.1.1 データの生成とフィードバック
13.1.2 コマンドと制御
13.1.3 データの入力
13.1.4 データの変換と分析
13.1.5 ストレージ
13.1.6 表示とアクション
13.2 シナリオとパターン
13.2.1 リモート監視
13.2.2 その他のシナリオ
13.3 参考資料

第14章 リアルタイムデータストリーミング
14.1 Azure でのリアルタイムデータストリーミング
14.1.1 ビッグデータの5V
14.1.2 Azure Stream Analytics
14.1.3 ビッグデータストレージ
14.2 シナリオとパターン
14.2.1 ビッグデータソリューション
14.2.2 リアルタイムデータストリーム処理に基づくレスポンシブWeb サイト
14.3 参考資料

第15章 マルチテナントとホスティング
15.1 Azure でのマルチテナント
15.1.1 マルチテナントとシングルテナント
15.1.2 Azure のマルチテナントサポート
15.2 Azure Service Fabric でのマルチテナントシステムの構築
15.2.1 パターン:Tenant Manager(テナントマネージャー)
15.2.2 パターン:Cross-tenant Aggregation(クロステナント集約)
15.2.3 パターン:Self-service(セルフサービス)
15.2.4 パターン:Tenant by Partitions(パーティションごとのテナント)
15.2.5 パターン:Metadata-driven System(メタデータ駆動システム)
15.3 マルチテナントシステムのホスティング
15.3.1 サービスプロセスのホスティング
15.3.2 パターン:Throttling Actor(スロットリングアクター)

第16章 マルチプレイヤーゲーム
16.1 Messy Chess
16.1.1 チェス盤とゲームの目的
16.1.2 課題
16.1.3 ゲーム盤
16.1.4 ゲームの駒
16.1.5 プレイヤー
16.1.6 ゲームのホスティング
16.2 A.I. Quests
16.2.1 ゲームの世界
16.2.2 プレイヤーの操作

第4 部 高度なテーマ

第17章 高度なサービスホスティング
17.1 標準的なPaaS プラットフォーム
17.1.1 アプリケーションパッケージフォーマット
17.1.2 リソースのオーケストレーション
17.1.3 アプリケーションギャラリー
17.2 ゲストアプリケーションのホスティング
17.2.1 高可用性
17.2.2 正常性監視
17.2.3 アプリケーションライフサイクル管理
17.2.4 密度
17.2.5 単純なゲストアプリケーションのホスティング
17.3 コンテナーの統合
17.3.1 コンテナーの歴史
17.3.2 Azure Service Fabric とコンテナー
17.3.3 コンテナーの種類
17.4 あらゆる場所へのデプロイ
17.4.1 スタンドアロンクラスターのデプロイ
17.4.2 Azure Stack でのデプロイ
17.4.3 AWS でのデプロイ
17.4.4 Service Fabric スタンドアロンパッケージ

第18章 複雑系のモデル化
18.1 複雑適応系
18.1.1 複雑系と複雑なシステム
18.1.2 創発
18.1.3 単純なモデル
18.1.4 複雑系モデルと計算モデル
18.2 シロアリモデル
18.2.1 ソリューションの設定
18.2.2 Box サービスの実装
18.2.3 Termite アクターの実装
18.2.4 テストクライアントの実装
18.2.5 テストと分析
18.3 複雑系のためのAzure Service Fabric
18.3.1 分散データ構造
18.3.2 アクタースワーム
18.4 空間的棲み分けモデル
18.4.1 ソリューションの設定
18.4.2 提案をサポートする共有配列の実装
18.4.3 仮想アクターの実装
18.4.4 アクタースワームの実装
18.4.5 テストクライアントの実装
18.4.6 モデルのテスト
18.5 今後の作業

第5 部 付録

付録 A Azure Service Fabric のサブシステムとシステムサービス
A.1 高信頼サブシステム
A.1.1 Failover Manager
A.1.2 Resource Balancer
A.1.3 Replicator
A.2 管理サブシステム
A.2.1 イメージストア
A.2.2 Health Manager
A.2.3 Cluster Manager
A.3 ホスティングサブシステム
A.4 通信サブシステム
A.5 テスト容易性サブシステム
A.6 トランスポートサブシステム
A.7 フェデレーションサブシステム
A.8 システムサービス

付録 B Microsoft Azure PowerShell コマンドレットの使用
B.1 インストール
B.2 サインイン
B.3 コマンドの検索
B.4 Azure リソースグループの管理
B.4.1 基本的なリソースグループ管理
B.4.2 ARM テンプレートの作成
B.4.3 リソースグループのデプロイ
B.4.4 ARM テンプレートを使ったService Fabric クラスターのデプロイ

付録 C Microsoft とコンテナー
C.1 Azure 仮想マシンのDocker エンジン
C.1.1 ビルド済みのイメージを使用する
C.1.2 Docker VM 拡張機能を使用する
C.1.3 Azure CLI を使用する
C.2 Docker Hub とDocker Datacenter
C.2.1 Azure ポータルからDocker Hub のイメージにアクセスする
C.2.2 Docker Datacenter のプロビジョニング
C.3 コンテナーオーケストレーション
C.3.1 Azure でサードパーティのコンテナーオーケストレーションを使用する
C.3.2 Azure Container Service
C.4 Windows コンテナー

付録 D デザインパターン
D.1 分散コンピューティング
D.2 マルチテナント
D.3 ゲームとシミュレーション
D.4 パフォーマンスとスケーラビリティ
D.5 信頼性
D.6 システムアーキテクチャ

Haishi Bai[ハイシバイ]
IaaS、PaaS、ネットワーキング、スケーラブルコンピューティングサービスなど、Microsoft Azureコンピュートプラットフォームを担当しているMicrosoftのシニアテクニカルエバンジェリスト。Microsoft のCloud Cover Showの司会者の1人。

日本マイクロソフト 佐藤 直生[サトウナオキ]
Oracleのエバンジェリストを経て、2010年からMicrosoft でパブリッククラウドサービス「Microsoft Azure」のテクノロジスト/エバンジェリストとして活動。多数の書籍の監訳や監修も行っている。

クイープ[クイープ]

内容説明

アプリケーション開発がシンプルになる!Azure Service Fabricの使い方の基本と活用シナリオを徹底解説。

目次

第1部 基礎(Hello,Service Fabric!;ステートレスサービス ほか)
第2部 サービスのライフサイクル管理(Windows PowerShellによるAzure Service Fabricの管理;AzureポータルによるAzure Service Fabricの管理 ほか)
第3部 パターンとシナリオ(Webアプリケーション;モノのインターネット(IoT) ほか)
第4部 高度なテーマ(高度なサービスホスティング;複雑系のモデル化)
第5部 付録(Azure Service Fabricのサブシステムとシステムサービス;Microsoft Azure PowerShellコマンドレットの使用 ほか)

著者等紹介

バイ,ハイシ[バイ,ハイシ] [Bai,Haishi]
Microsoftのシニアテクニカルエバンジェリスト。MicrosoftのCloud Cover Showの司会者の1人

佐藤直生[サトウナオキ]
Oracleのエバンジェリストを経て、2010年からMicrosoftでパブリッククラウドサービス「Microsoft Azure」のテクノロジスト/エバンジェリストとして活動(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。