超分散システムを統治せよ! - umtp 特定非 ... ·...

39
Copyright IBM Corporation 2018 超分散システムを統治せよ! マイクロサービス開発・展開のエッセンス 日本アイ・ビー・エム株式会社 IBMクラウド事業本部 エグゼクティブITスペシャリスト 樽澤 広亨

Upload: others

Post on 06-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

超分散システムを統治せよ!マイクロサービス開発・展開のエッセンス

日本アイ・ビー・エム株式会社

IBMクラウド事業本部エグゼクティブITスペシャリスト

樽澤広亨

Page 2: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

自己紹介

IBM クラウド事業本部 アーキテクトISO IEC JTC1/SC38 専門委員

クラウド国際標準策定に従事過去

米IBM ソフトウェア開発研究所ソフトウェア製品開発エンジニア

IBM ソフトウェア・グループエバンジェリスト, 技術営業, etc.

Page 3: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

このセッションについて

目的⚫マイクロサービス適用時の設計のポイントを知る⚫サービス・メッシュ最適化の方策を知る

Page 4: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

内容

✓ マイクロサービス概要✓ サービスの設計✓ Istioによるサービス・メッシュ最適化✓ まとめ

Page 5: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

マイクロサービス概要

Page 6: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

マイクロサービス概要

動機⚫ アプリケーション個別の保守を可能にする柔軟

なモジュラー構造(サービス)の実現

対象分野⚫ アーキテクチャー⚫ 開発・運用チーム・フォーメーション⚫ システム・ライフサイクル

クラウド・ネイティブ・アプリケーション開発・運用のベスト・プラクティス

Page 7: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

マイクロサービス・アークテクチャー

⚫ 小さなサービスの組合せでアプリを構成⚫ 各サービスは独立したコンテナで稼動⚫ 各サービスは軽量プロトコルで連携⚫ 各サービスはそれぞれ個別に自動デプロイ⚫ 各サービスはそれぞれ最適なプログラミング

言語で実装⚫ 各サービスはそれぞれ最適なデータ・

ストレージを利用

Page 8: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

マイクロサービス・アーキテクチャー全体像

8

ユーザーインターフェース

ドメイン・サービス

Backend for Frontend(API Gateway)

ドメイン・サービス

リソース

コンテナー

サービス

リソース

プログラム

プログラムプログラムプログ

ラム

アプリモジュール

モノリス (1枚岩)アプリケーション構造 マイクロサービスに基づいたアプリケーション構造

リポジトリー・サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

Page 9: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

クラウド・ネイティブ・コンピューティング:開発・運用の流れと役割

ドメイン分析・設計✓ ビジネス要件の洗い出し✓ ドメイン・モデルの設計

継続的デリバリー(Continuous Delivery, CD)

開発✓ コーディング✓ ビルド✓ テスト✓ リリース✓ デプロイ

運用✓ アプリケーション監視✓ 基盤監視✓ ログ運用✓ イベント統合管理

ドメイン駆動設計(Domain Driven Design, DDD)

サイト・リライアビリティ・エンジニアリング(Site Reliability Engineering, SRE)

局面

役割

手法

ドメインスペシャリスト

ICTアーキテクト

ICTアーキテクト

SWエンジニア

SWエンジニア

Site Reliabilityエンジニア

繰り返し

継続的インテグレーション(Continuous Integration, CI)

スクラム等

Page 10: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

サービスと開発・運用チーム・フォーメーションの関係⚫ コンウェイの法則:システム構造は, プロジェクト体制を反映する⚫ マイクロサービス :

➢ ビジネス目的に基づいてチーム編成➢ システムは、独立して置き換え可能なサービスで構成される

MicroservicesMonolith

ユーザー・インターフェース・チーム

アプリケーション・サーバー・チーム

DBチーム

ユーザーインターフェース層

アプリケーション層

サービス#1チーム サービス#1

サービス#2

サービス#3

サービス#2チーム

サービス#3チームDB層

ICTシステム構造開発運用プロジェクト体制

開発運用プロジェクト体制

ICTシステム構造

開発運用

開発運用

開発運用

開発運用

開発運用

開発運用

疎結合

密結合

密結合

疎結合

疎結合

保守時全システムに対する作業が必要 保守時各サービスの置き換えが可能

ユーザー・インターフェース・スペシャリスト

アプリケーション・サーバー・スペシャリスト

DBスペシャリスト

DBアクセス・プログラム

アプリケーション・サーバー・プログラム

ユーザー・インターフェース・ページとプログラム

密結合

疎結合

凡例

ビジネス要件

ビジネス要件

要件#1

要件#2

要件#3

要件

実装

実装

実装

実装

Page 11: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

Spotifyのチーム編成

スクワッド

チャプター

トライブ

チャプター

チャプター

チャプター

チャプター

スクワッド スクワッド スクワッド スクワッド

チャプター

トライブ

チャプター

チャプター

チャプター

チャプター

スクワッド スクワッド スクワッド

ギルド

Page 12: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

マイクロサービス、始める?始めない?

◼単純なシステムのマイクロサービス化は、高いコストに帰結~”MicroservicePremium”

⚫自動デプロイメント, 分散システム運用監視, 結果整合性, ビジネス分析, …

マイクロサービス

モノリス

複雑さ

生産性

基本方針対象システムが複雑:マイクロサービス化を検討する対象システムが単純:マイクロサービス化には向いていない

Page 13: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

マイクロサービス適用に先立つ懸案事項

⚫ 様々な懸案の解決が求められる

◆サービス設計

✓構造

✓粒度~サービス化のすすめ方

✓データ・モデル

✓トランザクション

マイクロサービス適用の結果…超分散システム化 !?

◆サービス・メッシュ最適化

✓ルーティング

✓サービスのリリース

✓テスト

✓耐障害性

✓テレメトリー

Page 14: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

サービスの設計

Page 15: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

サービスの構造

在庫管理

製品在庫在庫

エンドポイント

配送配送

エンドポイント

サービス実装すべきビジネス要件✓ インターフェースとモデルを包含する

インターフェースプログラミング・インターフェース

モデルビジネス・データ

Page 16: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

サービスのレイヤー構造例

Backend for Frontend(API Gateway)

ドメイン・サービス

リソース

コンテナー

サービス

リポジトリー・サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

⚫ゲートウェイ⚫Façade

⚫ビジネス・ロジック

⚫リソース・アクセス

✓APIエンド・ポイント✓データ/プロトコル変換✓サービス・アグリゲーション

✓業務処理実装

✓データ, メッセージングへのアクセス

Page 17: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

サービス化の進め方:ビジネス指向と繰り返し開発

前提/文脈⚫素早いビジネス立上げ⚫柔軟なビジネス変更

ビジネス指向方針

✓アジャイル開発方策

⚫1回の分析・設計でサービス最適化は不可能

開発・運用の繰り返し

✓業務観点でサービスの切り出し

✓ドメイン駆動設計

ビジネスのローンチ&トランスフォーメーション

サービス粒度の最適化期待される

効果

Page 18: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

サービス化の進め方:BFF/API Gatewayの粒度

⚫ Backend for Frontend (BFF)◆サービス・アグリゲーション

⚫ API Gateway (API GW)◆APIエンドポイント

◆データ&プロトコル変換

⚫ 2つの観点より設置単位を検討◆ユースケース

◆クライアントのタイプあるいは種類

Page 19: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

サービス化の進め方:BFF/API Gatewayの粒度

⚫ ユースケースの観点での検討

◆1ユースケース毎に、1 BFF/API GWを推奨

◆複数ユースケースに1 BFF/API GWを設置した場合、粒度が大きくなり、メンテナンスのボトルネックとなる

Backend for Frontend(API Gateway)

ドメイン・サービス

ユースケース1BFF/API GW

ユースケース2BFF/API GW

ユースケース3BFF/API GW

ユースケース1 ユースケース2 ユースケース3

Page 20: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

サービス化の進め方:BFF/API Gatewayの粒度⚫ クライアントのタイプあるいは種類の観点での検討◆原則クライアント種類毎に1 BFF/API GW設置を推奨◆クライアント・タイプ毎に1 BFF/API GW設置した場合✓BFF/API GWの種類が多くなりすぎ、メンテナンスのボトルネックになる懸念

◆One-size-fits-allの場合✓BFF/API GWが大きくなりすぎ、メンテナンスのボトルネックになる懸念

BFFAPI GW

BFFAPI GW

BFFAPI GW

BFFAPI GW

BFFAPI GW

BFFAPI GW BFF/API GW BFF/API GW BFF/API GW BFF/API GW

クライアント・タイプ毎 クライアント種類毎 One-size-fits-all

Page 21: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

データ・アクセスサービスを介してデータベースにアクセスする

2

マイクロサービス・スタイル

DB DB

DB

非マイクロサービス・スタイル

DB

サービス サービス

サービス

サービス サービス サービス サービス サービス

DBのメンテナンスの影響を最小化し、サービスへの影響を極力排除する

Page 22: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

トランザクション処理原則ローカル・トランザクション処理

2

⚫ 実装をシンプルに保ち、スピーディな障害対応に備える⚫ サービス間の疎結合を維持する

マイクロサービス・スタイル

DB DB

DB

サービス サービス

サービス

Local TX Local TX

Local TX

非マイクロサービス・スタイル

DB DB

DB

サービス サービス

サービス

Global TX

Local TX : ローカル・トランザクションGlobal TX : グローバル・トランザクション

Page 23: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

トランザクション処理:複数リソースの同期処理⚫ Saga パターン◆複数リソースの同期を取るデザイン・パターン

◆ローカル・トランザクション, イベント, 補償トランザクションを活用

DBサービス DBサービス DBサービス

不具合

正常系処理の流れ

異常系処理の流れ ~ 補償トランザクション

1.DB処理

2.イベント伝播

3.DB処理

4.イベント伝播

5.DB処理

a.キャンセル処理呼び出し

b.DB処理(キャンセル)

d.DB処理(キャンセル)

c.イベント伝播 (キャンセル処理呼び出し)

サーバーレス(FaaS)のイベント駆動処理に最適な処理パターン…

Page 24: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

データ&トランザクション処理:CQRSとイベント・ソーシング

⚫ Command Query Responsibility Segregation◆コマンド(データ更新)とクエリ(データ参照)に、異なるデータ・モデルを利用

⚫ イベント・ソーシング

◆一連の業務情報をイベント・ストアに書き込む

◆適宜ビューを生成し参照処理に充てる

データモデル最適化

パフォーマンス

監査性・証跡性

アクセス制御

Page 25: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

データ&トランザクション処理:CQRSとイベント・ソーシング

2

CQRSパターン

2018/03/10, 顧客A, L社パソコン, 数量1, …2018/03/11, 顧客B, Z社マウス, 数量1, ………

在庫情報 受注情報

イベント・ストア

ビュー

イベント・ソーシング・パターン

クエリーData

TransferObject

参照系アプリ

コマンド検証

ドメイン・ロジック

データ永続化

更新系アプリ

更新系処理はコマンドを利用

参照系処理はクエリーを利用

更新系処理では全てのイベントをイベント・ストアに格納

参照用に最適化されたビューを基に高速に検索処理

適宜、イベント・ストアを基にビューを生成、同期

Page 26: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

データ&トランザクション処理:データをどこに配置?⚫ 参照系データと更新系データの分離の実装モデル

クラウド

お客様データセンター

キャッシュアプリケーション

DB

データ更新はマスターDBに適用

データ参照はキャッシュを利用

エンド・ユーザー

DBとキャッシュ間は適宜同期例)✓ 更新の都度✓ 一定の更新件数毎✓ インターバル

セキュア⚫ マスターDBを安全なお客様データセンターに配備

パフォーマンス最適化⚫ 高頻度の検索要求にはクラウド上のキャッシュで素早く処理⚫ クラウド-DC間のネットワークは、比較的低頻度の更新処理に限定

Page 27: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

Istioによるサービス・メッシュ最適化

2

Page 28: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

サービス・メッシュ

コンテナー

サービス

マイクロサービス・アーキテクチャーにおけるサービス間ネットワーク

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

コンテナー

サービス

課題⚫ ルーティング?⚫ サービスのリリース?⚫ テスト?⚫ 耐障害性?⚫ テレメトリー?

Page 29: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

Istio

⚫ オープンソース・コミュニティ開発

⚫ マルチ・プラットフォーム・サポート

⚫ アプリケーション非依存

マイクロサービスの相互接続, 管理, セキュリティのためのオープンプラットフォーム

サービス・メッシュ最適化のソリューション

Page 30: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

Istioの主要な機能サービスの継続的なリリース⚫ブルー/グリーン・デプロイメント⚫カナリア・リリース

信頼性検証のためのEnd-to-Endテスト支援⚫フォールト・インジェクション(カオス・エンジニアリング)

システム障害の影響最小化⚫サーキット・ブレーカー

統合ダッシュボードログ, トレース, メトリクスの一覧監視⚫統合ダッシュボード

サービス間通信の認証・認可・暗号化⚫相互TLS

Page 31: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

アーキテクチャーコントロール・プレーン

サービスA

Pilot Mixer Citadel

PodPod

Pod

Envoy

サービスA実装

サービスB

PodPod

Pod

Envoy

サービスB実装

Envoyの構成管理

Mutual TLSによる認証

サイドカー型プロキシー

サイドカー型プロキシー

$istioctl

CLI

管理作業

管理

HTTPgRPCTCP

HTTP, gRPC, TCP

アクセス制御、ポリシー設定等

Page 32: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

カナリア・リリース

現行本番環境

次期本番環境ロード

バランサー

(Envoy)エンド・ユーザー

3.本番環境完全移行

1.90%トラフィック転送

1.10%トラフィック転送4.100%トラフィック転送

2.試行 &フィードバック

次期/代替リリースの試行とフィードバック

Page 33: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

フォールト・インジェクション:遅延

コンテナー

サービス

コンテナー

サービス

3.意図的な遅延

2.リクエスト

1.リクエスト

7.レスポンス

Envoy

応答時間の遅延

ネットワーク・レイテンシーをシミュレート

4.リクエスト

6.レスポンス5.レスポンス

意図通りの動作か確認

ネットワーク遅延障害時のEnd-to-endテストを容易に実施可能

Page 34: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

フォールト・インジェクション:エラー・コードの返信

コンテナー

サービス

コンテナー

サービス

2.リクエスト

1.リクエスト

4.エラーの返信

Envoy

エラーの受信

意図的にエラー・コードを返す

3.エラーの返信

意図通りの動作か確認

障害をシミュレーション

ネットワーク・エラー発生時のEnd-to-endテストを容易に実施可能

Page 35: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

サーキット・ブレーカー

◼超分散システムでは, サービス呼出失敗が大規模障害に繋がる◆想定される影響⚫応答時間遅延

⚫システム・リソースのブロック

⚫システム全体のダウン

◼解決策:サーキット・ブレーカー◆一定回数のサービス呼び出し失敗以降、サービス呼出元に即座にエラーを返す

◆期待される効果⚫応答時間短縮

⚫システム・リソース・ブロックの排除

サービス呼び出し失敗時の影響を最小化するデザイン・パターン

Page 36: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

サーキット・ブレーカー◼動作フロー

サービス呼出障害

ブレーカーオープン

ブレーカークローズ

コンテナー

サービス

コンテナー

サービス

サーキット・ブレーカー(Envoy)1.リクエスト

4.エラー障害

2.リクエスト

3.タイムアウト

エラー回数が閾値に達した場合…

障害回復を確認できた場合…

コンテナー

サービス

コンテナー

サービス

サーキット・ブレーカー(Envoy)1.リクエスト

2.エラー障害

a.ヘルスチェック

コンテナー

サービス

コンテナー

サービス

サーキット・ブレーカー(Envoy)1.リクエスト

4.レスポンス

2.リクエスト

即座にエラーを返す

ヘルス・チェック試行

3.レスポンス

Page 37: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

まとめ

Page 38: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

まとめ

⚫ マイクロサービスは、複雑なシステム開発・運用に効果的

⚫ マイクロサービス開発・運用にあたっては、サービス設計に加え, サービス・メッシュの最適化が求められる

⚫ Istioは, サービス・メッシュ最適化のソリューション

Page 39: 超分散システムを統治せよ! - UMTP 特定非 ... · マイクロサービス、始める?始めない? 単純なシステムのマイクロサービス化は、高いコストに帰結

Copyright IBM Corporation 2018

ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわらずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責任を負わないものとします。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。

本講演資料でIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示するものではありません。本講演資料で言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもっていつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本講演資料に含まれている内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意図したものでも、またそのような結果を生むものでもありません。パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。

記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。

IBM、IBM ロゴ、ibm.com、IBM Cloudは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。