- IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix...

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

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

Page 1: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

IBM Bluemixwww.bluemix.net

IBM Bluemix利⽤ガイド〜Bluemixアーキテクチャ〜

2016年12⽉版

Page 2: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

© 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をご覧ください。

Page 3: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

© 2016 IBM Corporation3

IBM Bluemixwww.bluemix.net

IBM Bluemix アーキテクチャー

Page 4: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

© 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のため基本的に意識する必要はない

Page 5: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

© 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

Page 6: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

© 2016 IBM Corporation6

IBM Bluemixwww.bluemix.net

Bluemixの構成: Bluemix Dedicated

ランタイム

BluemixPublic

アプリケーション

サービス

ランタイム

アプリケーション

サービス

BluemixDedicated

必要に応じてパブリックのサービスを使⽤可能

既存システム アプリ開発者

リソースを専有

オンプレミス

VPN接続 orダイレクト・リンク

LDAP

エンド・ユーザーの端末

エンドユーザーからアプリケーションへ直接

HTTP(S)アクセス可能

IBM Bluemix™ Infrastructure

Page 7: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

© 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に置き換えられました。

Page 8: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

© 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– サービスを管理

Page 9: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

© 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

ルーティング情報

Page 10: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

© 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

Page 11: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

© 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

Page 12: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

© 2016 IBM Corporation12

IBM Bluemixwww.bluemix.net

12

PaaSの注意点

Page 13: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

© 2016 IBM Corporation13

IBM Bluemixwww.bluemix.net

クラウド環境の特徴qクラウドとオンプレミスのシステムでは様々な違いがある

アプリケーション

サービス

サービス

サービス

クラウド環境

オンプレミス環境

アプリケーションサービスサービス

オンプレミス環境

サービス

サービス

クラウドでのアプリ構築 オンプレミスでのアプリ構築

• サーバー環境実⾏環境はクラウドベンダーが管理する(起動管理、ログ確認、バッチ実⾏、カスタマイズ、アップグレードなど制限あり)

• 他システムとの連携ディレクトリ連携をはじめ、オンプレミス上の他システムと連携する場合は、ネットワークなど特有の考慮点が必要となる

• データセキュリティデータベースのデザインとセキュリティによっては⾃組織以外からもアクセスが可能。また管理オーナーや管理責任についても注意

Page 14: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

© 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)

Page 15: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

© 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

Page 16: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

© 2016 IBM Corporation16

IBM Bluemixwww.bluemix.net

その他、クラウドサービスとしての注意点確認項⽬ 詳細セキュリティー IBMは保有するルールに従って、OS、ネットワークなどについて脆弱性を含む確認を

⾏っていますが、不正なアクセスを完全に防ぐこと、またデータ損失が発⽣しないことを保証するわけではありません。

データセンター ⽶国南部(US-South)、英国(EU-GB)と、シドニー(AU-Syd)の3つが現在提供されています。

アプリケーションの責任範囲 アプリケーション提供者は、法律や規制など全てに遵守する必要があり、また、利⽤に伴う利⽤ユーザーの損失は、全てアプリケーション提供者の責任となります。

修正の提供 正式に提供されたサービスについては、サポートチケット経由で正式な処理が⾏われます。⼀⽅で、ベータサービスに関しては、サービスに問題があったとしても、Fixや解決策が必ずしも提供されるわけではありません。

Page 17: - IBMpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix... · 2016-12-22 · IBM Bluemix Bluemixの構成: Bluemix Dedicated ランタイム Bluemix Public アプリケーション

© 2016 IBM Corporation17

IBM Bluemixwww.bluemix.net