- IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix...
Embed Size (px)
Transcript of - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix...

IBM Bluemixwww.bluemix.net
IBM Bluemix利⽤ガイド〜Bluemixアーキテクチャ〜
2016年12⽉版

© 2016 IBM Corporation2
IBM Bluemixwww.bluemix.net
ご注意
この資料は⽇本アイ・ビー・エム株式会社および⽇本アイ・ビー・エム システムズ・エンジニアリング株式会社の正式なレビューを受けておりません。資料の内容には正確を期するよう注意しておりますが、この資料の内容は2016年12⽉現在の情報であり、製品の新しいリリース、修正などによって動作/仕様が変わる可能性があります。当資料は、資料内で説明されている製品の仕様を保証するものではありません。従って、この情報の利⽤またはこれらの技法の実施はひとえに使⽤者の責任において為されるものであり、資料の内容によって受けたいかなる被害に関しても⼀切の補償をするものではありません。また、IBM、IBMロゴおよびibm.comは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点でのIBMの商標リストについてはhttp://www.ibm.com/legal/copytrade.shtmlをご覧ください。

© 2016 IBM Corporation3
IBM Bluemixwww.bluemix.net
IBM Bluemix アーキテクチャー

© 2016 IBM Corporation4
IBM Bluemixwww.bluemix.net
BluemixのアーキテクチャーqBluemixはランタイムの違いにより、構成, 通信経路が異なる
¦Cloud Foundry¦IBM Containers (Docker)¦OpenWhisk
qサービスレベルにおいても、提供地域や配置場所が異なる¦例1. Watson Developer Cloud¦例2. 3rd Partyサービス
q管理系のコンポーネントなど、具体的にどのように稼働しているかはManaged Serviceのため基本的に意識する必要はない

© 2016 IBM Corporation5
IBM Bluemixwww.bluemix.net
DataPow
erSOA
Bluemixの構成: Cloud Foundry
Bluemix ( )
•BlueMix hosted service
•External Services•VM
•Application Manager
•Container
•Container
VM
アプリ
Bluemixホストサービス
外部サービス
・・・
バインド
⽶国南部 / 英国 / シドニー
モバイル
PC等
REST HTTP
REST HTTP
アプリ開発者
cfツールBluemix UI
IBM Bluemix™Continuous Delivery
オンプレミス
アプリ開発者
コミットLDAP
DB
RouterR
outer
外部リソースへのアクセス
IBM Bluemix™ Infrastructure

© 2016 IBM Corporation6
IBM Bluemixwww.bluemix.net
Bluemixの構成: Bluemix Dedicated
ランタイム
BluemixPublic
アプリケーション
サービス
ランタイム
アプリケーション
サービス
BluemixDedicated
必要に応じてパブリックのサービスを使⽤可能
既存システム アプリ開発者
リソースを専有
オンプレミス
VPN接続 orダイレクト・リンク
LDAP
エンド・ユーザーの端末
エンドユーザーからアプリケーションへ直接
HTTP(S)アクセス可能
IBM Bluemix™ Infrastructure

© 2016 IBM Corporation7
IBM Bluemixwww.bluemix.net
Bluemixの構成: アーキテクチャー詳細q アプリケーションに対する処理の流れ
¦ フロントエンドのファイアウォールで侵⼊防⽌の措置を実施
¦ Data PowerでSSLの終端を実施¦ ルーターにてDEA (Droplet Execution
Agent)*で管理されている該当のアプリケーション・インスタンスにリクエストを分散
¦ アプリケーション・インスタンス内でリクエストに対し処理を実施
q ログインおよび操作に対する処理の流れ¦ Public
n IBM SSOサービスを経由し、IBM IDでログインn Data Power、ネットワーク・ルーターを経由し、
Cloud Controllerと通信し、各操作を実施¦ Dedicated/Local
n エンタープライズLDAPを経由しログインn ファイアウォールを通過 (Dedicatedのみ)し、
DataPower, ネットワーク・ルーターを経由して、Cloud Controllerと通信し、各操作を実施https://console.ng.bluemix.net/docs/security/index.html#security
註本アーキテクチャーはCloud Foundry V2を基にして記述しております。Cloud Foundry V3 にてアーキテクチャーに変更が加えられており、DEAはCellに置き換えられました。

© 2016 IBM Corporation8
IBM Bluemixwww.bluemix.net
【参考】Cloud Foundry V2 のアーキテクチャー
Cloud Foundry Runtime
Rou
ter
DEA(ランタイム)
Cloud Controller
HealthManager
NATS
ServiceBroker
Service
§ DEA: Droplet Execution Agent– アプリケーション実⾏環境
§ Router– 要求をルーティング
§ Cloud Controller– 管理機能、管理APIを提供
§ Service– 機能コンポーネントを提供– サービスノードまたは外部で稼動
§ Health Manager– DEAの稼動状況をモニタリング
§ NATS– 内部メッセージング・バス
§ Service Broker– サービスを管理

© 2016 IBM Corporation9
IBM Bluemixwww.bluemix.net
【参考】Cloud Foundry V3 のアーキテクチャー
Brain
Database VMs
BBS
Access VMs
File Server
CellGarden
Cloud Controller
Cloud ControllerBridge
Consul
Gorouter Route Emitter
Loggregator
CAPI
RoutingDiego
l CellØ アプリケーションの実⾏環境
l GardenØ コンテナ
l BrainØ 処理のスケジューリング
l BBSØ Diegoクラスターの情報管理
l File ServerØ アプリケーション・バイナ
リー、Dropletの格納l Loggregator
Ø ログ出⼒の管理l Cloud Controller Bridge
Ø 処理リクエストの加⼯とBBSへの転送
l ConsulØ サービス登録と負荷分散
l GorouterØ リクエストのルーティング
l Route EmitterØ ルーティング情報の管理
ログ,メトリック
Appステージング起動
タスク, LPR
ルーティング情報

© 2016 IBM Corporation10
IBM Bluemixwww.bluemix.net
Bluemixの構成: IBM ContainersqIBM Containersのアーキテクチャーは以下の図の通り
q 通信はファイアウォールおよびDataPowerを経由
q WebUIあるいはAPIサーバー経由で操作を⾏い、コントローラー・ノードを通じてDockerコンテナーを稼働
q イメージは各⾃専⽤のプライベート・レジストリーに保管
¦ Dockerイメージに対し⼀時的にコンテナー化する場合はビルド・サーバー上で実施
q 永続ストレージをボリューム・サーバー経由で各コンテナーにアタッチ可能
https://console.ng.bluemix.net/docs/containers/container_ov.html

© 2016 IBM Corporation11
IBM Bluemixwww.bluemix.net
Bluemixの構成: IBM Containers (詳細)q IBM Containers (Docker)
¦ Cloud Foundryと違い、コンテナー・グループのみDataPowerおよびGo-Routerを経由することでリクエストの負荷分散を実施する
¦ 単⼀コンテナーの場合、グローバルのIPアドレスを割り振り、パブリック・ネットワークからアクセスさせることが可能
¦ VPNサービスを利⽤することで、オンプレミスのデータセンターとコンテナー環境をセキュアに接続することが可能
n コンテナーのプライベート・ネットワークは172.31.0.0/16であることに注意
https://console.ng.bluemix.net/docs/containers/container_planning_container_ov.html#container_planning_container_ov

© 2016 IBM Corporation12
IBM Bluemixwww.bluemix.net
12
PaaSの注意点

© 2016 IBM Corporation13
IBM Bluemixwww.bluemix.net
クラウド環境の特徴qクラウドとオンプレミスのシステムでは様々な違いがある
アプリケーション
サービス
サービス
サービス
クラウド環境
オンプレミス環境
アプリケーションサービスサービス
オンプレミス環境
サービス
サービス
クラウドでのアプリ構築 オンプレミスでのアプリ構築
• サーバー環境実⾏環境はクラウドベンダーが管理する(起動管理、ログ確認、バッチ実⾏、カスタマイズ、アップグレードなど制限あり)
• 他システムとの連携ディレクトリ連携をはじめ、オンプレミス上の他システムと連携する場合は、ネットワークなど特有の考慮点が必要となる
• データセキュリティデータベースのデザインとセキュリティによっては⾃組織以外からもアクセスが可能。また管理オーナーや管理責任についても注意

© 2016 IBM Corporation14
IBM Bluemixwww.bluemix.net
I. コードベース II. 依存関係 III. 設定 IV. バックエンドサービス
V. ビルド,リリース,実⾏ VI. プロセス VII. ポートバインディング VIII. 並⾏性
IX. 廃棄容易性 X. 開発/本番⼀致 XI. ログ
本番
依存関係の”明確化”と”暗黙の依存”を撤廃pkgA:v1.1
pkgB:v2.x? pkgC?
バージョン管理されたリポジトリと複数のデプロイ
コードベース開発
設定を環境変数に格納しコードから厳密に分離
AAAEnv=AAA
サービスをアタッチされたリソースとして扱う
APP
ビルド, リリース, 実⾏の3つのステージを経てデプロイ
{ }
プロセスはステートレスで、“状態”はサービスに格納
APP
APP
アプリにアクセスするポートを公開する
APPhttp(s)
スケールアウトにより容易に並⾏性を保証できる
APP APP ・・・
即座に起動・終了することができる
APP APP
Cookie
New
開発〜本番環境をできるだけ⼀致させた状態を保つ
本番 開発
ログをイベントストリームとして扱う(ファイルは×)
APP転送
XII. 管理プロセス管理(設定)タスクを1回限りのプロセスとしてアプリから実⾏
APP初期化
q12 Factors App:モダンなクラウド・アプリ開発のベストプラクティスの1つ¦ http://12factor.net/ja/
(参考)クラウド時代のアプリケーション(1/2)

© 2016 IBM Corporation15
IBM Bluemixwww.bluemix.net
(参考)クラウド時代のアプリケーション(2/2)q9rules : PaaSを活かすための守るべきルール
¦ PaaSレイヤーの前提に反さず、改修するための単純な9つのルール¦ これらを満たせるかを念頭に置きながら、実際に基盤の設計を⾏っていく
1. アプリケーションのコードを特定のトポロジー専⽤にしない2. ローカル・ファイルシステムを永続的であると想定しない3. セッション・ステートをアプリケーション内に保持しない4. ファイルシステムにログを記録しない5. 特定のインフラストラクチャーへの依存を前提としない6. インフラストラクチャーの API をアプリケーションの中から使⽤しない7. ⼀般的ではないプロトコルを使⽤しない8. OS 固有の機能を利⽤しない9. ⼿作業でアプリケーションのインストールをしない
developerWorks - クラウド・アプリケーションにとって最も重要な 9 つのルールhttp://www.ibm.com/developerworks/jp/websphere/techjournal/1404_brown/1404_brown.html

© 2016 IBM Corporation16
IBM Bluemixwww.bluemix.net
その他、クラウドサービスとしての注意点確認項⽬ 詳細セキュリティー IBMは保有するルールに従って、OS、ネットワークなどについて脆弱性を含む確認を
⾏っていますが、不正なアクセスを完全に防ぐこと、またデータ損失が発⽣しないことを保証するわけではありません。
データセンター ⽶国南部(US-South)、英国(EU-GB)と、シドニー(AU-Syd)の3つが現在提供されています。
アプリケーションの責任範囲 アプリケーション提供者は、法律や規制など全てに遵守する必要があり、また、利⽤に伴う利⽤ユーザーの損失は、全てアプリケーション提供者の責任となります。
修正の提供 正式に提供されたサービスについては、サポートチケット経由で正式な処理が⾏われます。⼀⽅で、ベータサービスに関しては、サービスに問題があったとしても、Fixや解決策が必ずしも提供されるわけではありません。

© 2016 IBM Corporation17
IBM Bluemixwww.bluemix.net