• 検索結果がありません。

Microsoft PowerPoint - Bluemix2014TechWS_02_Usage.ppt

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft PowerPoint - Bluemix2014TechWS_02_Usage.ppt"

Copied!
59
0
0

読み込み中.... (全文を見る)

全文

(1)

IBM Bluemix

そこが知りたい!

テクニカル・セミナー

日本アイ・ビー・エム株式会社 SWG WebSphere事業部 伊藤 隆

Bluemixの基本を知る

〜仕組みと使い⽅〜

本セッションでは、Bluemixの使い方を中心に、関連する仕組みについても紹介してい きます。

(2)

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

(3)

© 2014 IBM Corporation 3

アジェンダ

概要

Applicationの作成

Serviceインスタンスの作成・構成

Serviceインスタンスのバインド

Applicationの開始

モニタリング

Java EEアプリケーションのLibertyでの稼動

追記情報

① コラボレーションの仕組み

② 無停止でのアプリケーションの更新

まとめ

概要

Applicationの作成

Serviceインスタンスの作成・構成

Serviceインスタンスのバインド

Applicationの開始

モニタリング

Java EEアプリケーションのLibertyでの稼動

追記情報

① コラボレーションの仕組み

② 無停止でのアプリケーションの更新

まとめ

本セッションのアジェンダです。内容は、大きく3つに分かれています。 まず、前半は、一般的な使い方や操作のステップを中心にお話します。 次に、この操作ステップの具体例として、Java EEアプリケーションをLibertyで稼動する ケースをデモで紹介します。 最後に、いくつか利用の上で参考となる追加の情報として、コラボレーションの仕組みと、 無停止でのアプリケーション更新の方法について紹介します。

(4)

4

© 2014 IBM Corporation 4

概要 〜

Application

Service

最初に概要をお話します。中心となるのは、BluemixにおけるApplicationとServiceの

(5)

© 2014 IBM Corporation 5

Bluemixの特徴

Polyglot

複数のランタイムから適切な選択が可能

Composable

多数のServiceを提供、多様な機能・選択肢

アプリがServiceと連携する仕組みを提供

Manage

ビルト・インされたモニターや課⾦の仕組み

DevOps&コラボレーション

IBM DevOps Servicesと連携、コラボレーションの仕組

みを備える

Polyglot

複数のランタイムから適切な選択が可能

Composable

多数のServiceを提供、多様な機能・選択肢

アプリがServiceと連携する仕組みを提供

Manage

ビルト・インされたモニターや課⾦の仕組み

DevOps&コラボレーション

IBM DevOps Servicesと連携、コラボレーションの仕組

みを備える

最初のセッションでもありましたように、Bluemixの利点は、作成したアプリケーションを 素早く稼動し、ネット上でサービス提供できる点です。 以下、前のセッションとも重なりますが、その利点を実現するためのBluemixの特長を4 つ挙げます。 まず、Polyglot。複数のランタイムから適切なものを選んで、稼動環境を自動構築できる 点。 2つ目は、Composable。多数のServiceを組合せて、より複雑なアプリケーションを実 現できる点。 3つ目は、これは、あまり前のセッションでは触れていませんでしたが、アプリケーション の稼動や資源の状況を管理する機能がビルトインで提供されている点。 4つ目は、開発者が共同作業で、アプリケーションを開発・管理する機能です。 このセッションでは、これらの特徴を踏まえて、Bluemixの機能、及び、操作についてご 紹介します。

(6)

6 © 2014 IBM Corporation 6 インスタンス ランタイム ランタイム

ApplicationとService

ランタイム アプリ コード Service バックエンド Service インスタンス Service バインド アプリ コード Application Bluemixにおけるアプリ稼動の単位 アプリ・コード+ランタイム+バインド Service ランタイム外部で稼動して様々な機能を提供 インスタンスを作成し、Applicationにバインドして利用 バインド Serviceインスタンスにアクセスするための情報をApplicationに取り込む Serviceインスタンス情報のハード・コードや⼿⼊⼒が不要 Application Bluemixにおけるアプリ稼動の単位 アプリ・コード+ランタイム+バインド Service ランタイム外部で稼動して様々な機能を提供 インスタンスを作成し、Applicationにバインドして利用 バインド Serviceインスタンスにアクセスするための情報をApplicationに取り込む Serviceインスタンス情報のハード・コードや⼿⼊⼒が不要

こういった、Bluemixの特徴を具現化するのが、ApplicationとServiceです。

ちなみに、このセッションではApplicationとServiceといったBluemix用語は、英語のま

まにします。汎用的な言葉との混乱を避けるためです。 BluemixにおけるApplicationは、アプリコードとそれを稼動させるランタイム、及び、 サービスと連携するためのバインドになります。 Serviceは、ランタイム外部で稼動して様々な機能を提供します。例えば、データベース 機能等々。 Java EEアプリケーションの標準的な構成で言えば、Applicationがアプリケーション・ サーバーで稼動するのに対して、データベースはServiceという位置づけになります。 Bluemixにおいて、実際にServiceを利用するには、まずインスタンスを作成します。 バインドは、作成したServiceインスタンスをApplicationから利用できるようにする「操作」 です。 バインドによって、Serviceインスタンスの情報をプログラムに渡す汎用的な方法が提供 されます。 都度、情報内容をハードコードしたり、手入力したりする作業が不要になります

(7)

© 2014 IBM Corporation 7

基本的な操作

アプリ・コードをアップロード 適切なRuntimeにより、稼動環境を構成 Applicationの作成 利用するServiceのインスタンスを作成 必要な構成・設定を実施 Serviceインスタンス 作成・構成 ② ServiceインスタンスをApplicationにバインド インスタンスの情報を稼働環境に取り込む Serviceインスタンス のバインド ③ 稼動環境のランタイム稼動開始 指定した個数のインスタンスが稼動 Applicationの開始 ④ 各インスタンスの稼動状況の表示 CPUやメモリー等の資源消費状況を表示 モニタリング ⑤ ここでは、開発したアプリケーションを、Bluemix上で稼動させ、運用するまでの代表的 なステップを示しています。 作業と言う程ではないので「操作」としています。 まず、最初にアプリコードをアップロードして、Applicationを作成します。 次に、使用するServiceのインスタンスを作成します。必要に応じて、作成したインスタン スの構成・設定を行います。 作成したServiceをApplicationから使用できるようにする操作が3番目の「バインド」にな ります。 準備が整ったところで、Applicationを開始します。稼動するインスタンス数等は、事前に 指定します。 Auto-scalingアドオンを使って、インスタンス数をCPU負荷やメモリー消費状況に応じて 自動的に増減することも可能です。 最後は、稼動したApplicationをモニターする操作です。

ビルトインされたモニタリング機能に加えて、Monitoring and Analyticsアドオンの機能

(8)

8

© 2014 IBM Corporation 8

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

IBM DevOps Services

Applicationの作成 Serviceインスタンス 作成・構成 Applicationの開始 Serviceインスタンス のバインド モニタリング ② ③ ④ ⑤ IBM Eclipse Tools for Bluemix

IBM Eclipse Tools for Bluemix Bluemix UI Bluemix UI Bluemix UI cf コマンド・ライン・ インターフェース > cf ccc xxx × cf コマンド・ライン・ インターフェース cf コマンド・ライン・ インターフェース 4種類のユーザー・インターフェース

Bluemixでの操作を行うためには、Cloud Foundryのサービスを実行するためのユー ザーインターフェースが必要になります。 ここでは、4つのインターフェースを紹介します。 まず、皆さんお馴染みのグラフィカルなWeb ユーザーインターフェース、Bluemix UIが あります。 次に、クライアント端末に導入して利用するCloud Foundry汎用のコマンド・ラインツー ル、cf コマンド・ライン・インターフェースです。 同じく、クライアント端末に導入して利用するツールとして、Eclipse上で稼動するIBM

Eclipse Tools for Bluemixがあります。

そして、IBMのクラウド上のチーム開発環境、IBM DevOps Servicesです。

(9)

© 2014 IBM Corporation 9

Bluemix UI

Webで提供されるグラフィカルな操作画面 DASHBOARD: Applicationの操作・モニター CATALOG: Application及びServiceを作成するためのコンポーネント Webで提供されるグラフィカルな操作画面 DASHBOARD: Applicationの操作・モニター CATALOG: Application及びServiceを作成するためのコンポーネント CATALOG画面 Service Add-on Boilerplate Runtime DASHBOARD画面(Application) Runtimeの情報 バインドされたService 稼動状況 まずは、お馴染みのWeb UI、Bluemix UIと呼んでいます。 操作する画面としては、主にDASHBOARDと、CATALOG画面があります。

DASHBOARは、作成済みのApplicationやServiceインスタンスの操作やモニタリング を行う画面です。

左は、DASHBOARDのApplicationのOverview画面ですが、

Runtimeのインスタンス数やメモリーの表示&設定、バインドされたServiceの表示と操 作、及び稼働状況が表示されています。 他に、各インスタンスの状況を表示する画面、ファイル・システムとファイル内容を表示 するための画面があります。 右は、CATALOG画面で、ランタイムやServiceインスタンスを作成するために使用しま す。

コンポーネントは、Runtime, Boilerplate、Service、Add-onの4つに分類されます。

(10)

10 © 2014 IBM Corporation 10

cf コマンド・ライン・インターフェース (CLI)

Cloud Foundry汎用のコマンド・ライン・インターフェース ユーザー端末にインストールして使用(Windows版・Linux版・Mac OS X版) 実⾏形式 Cloud Foundry汎用のコマンド・ライン・インターフェース ユーザー端末にインストールして使用(Windows版・Linux版・Mac OS X版) 実⾏形式 cf <コマンド><引数> <オプション> > cf login –a https://api.ng.bluemix.net User XXXX Password: ×

IBM Bluemix

www.bluemix.net アプリ コード cfコマンド・ライン・インターフェースは、GITから無償でダウンロードできるCloud Foundry汎用のツールです。

Bluemix以外のCloud Foundryプロバイダーに対しても使用できます。

また、あらゆる言語のアプリケーションにも対応します。例えば、PHPのアプリケーション

をBluemixにデプロイすることもできます。

loginしてから、各種コマンドを発行することで、例えば、アプリ・コードのアップロードと Applicationの作成、Serviceインスタンスの作成・バインド、Applicationの開始・停止、 等、殆ど全ての操作が可能です。

ログイン・ユーザー名とパスワードを指定して、ログインし操作を行います。

-cf –helpでコマンドのリストを、更に、cf <コマンド> --help とすることで、各コマンドのオ プション等の情報を表示することができます

(11)

© 2014 IBM Corporation 11

Eclipse Tools for Bluemix

Liberty及びNode.js アプリケーションをサポート

無償提供のEclipse Pluginとして、Eclipse MarketPlaceから導⼊可能

通常のサーバーと同様の操作で、Bluemix上へのアプリ・コードのアップロー ド・開始・停止

Serviceインスタンスの作成やバインドも可能 Liberty及びNode.js アプリケーションをサポート

無償提供のEclipse Pluginとして、Eclipse MarketPlaceから導⼊可能

通常のサーバーと同様の操作で、Bluemix上へのアプリ・コードのアップロー ド・開始・停止 Serviceインスタンスの作成やバインドも可能 サイトURL:https://developer.ibm.com/wasdev/downloads/#asset/tools-IBM_Eclipse_Tools_for_Bluemix Application Serviceインスタンス Application情報

Eclipse Tools for Bluemixは、通常Eclipseで開発しているJava EEアプリケーションや、 Node.jsアプリケーションのコードを、そのままBluemixで稼動させるためのツールです。

サーバーに、IBM Bluemixを追加して、通常のサーバーを扱うのと同様の操作でアプリ

コードをBluemix上にデプロイしApplicationを作成&稼動することができます。

Application作成だけでなく、Serviceインスタンスの作成や、Applicationへのバインド、 Applicationに関する各種の設定なども可能です。

(12)

12

© 2014 IBM Corporation 12

IBM DevOps Services

午後セッション

「BluemixとIBM DevOps Servicesで始めるアプリケーション開発 」

で紹介があります

IBMが提供するWeb IDE環境で、ブラウザーがあれば開発が可能 作成したアプリ・コードのデプロイ先としてBluemixを設定可能 IBMが提供するWeb IDE環境で、ブラウザーがあれば開発が可能 作成したアプリ・コードのデプロイ先としてBluemixを設定可能

IBM DevOps Serviceは、IBMが提供するWeb IDE環境で、ブラウザーさえあれば開 発が可能です。

開発したアプリ・コードを、Bluemixにデプロイできます。

IBM DevOps Serviceについては、午後のセッションで取り上げるので、当セッションで は、この紹介に留めます。

(13)

© 2014 IBM Corporation 13

Application

の作成

(14)

14 © 2014 IBM Corporation 14

Applicationの作成

アプリ・コードをアップロード 適切なRuntimeにより、稼動環境を構成 Serviceインスタンス 作成・構成 Applicationの開始 Serviceインスタンス のバインド モニタリング Applicationの作成 ② ③ ④ ⑤ Application作成:操作 Application作成時のオプション BuildPackの種類 BuildPackの役割 Application作成:操作 Application作成時のオプション BuildPackの種類 BuildPackの役割 Applicationの作成では、アプリコードをBluemix環境にアップロードして、適切な Runtimeによる稼動環境を構築します。

(15)

© 2014 IBM Corporation 15

Application作成:操作

IBM Eclipse Tools for Bluemix

ポップアップからRun on Serverを実 ⾏、サーバーにIBM Bluemixを選択 LibertyとNode.jsをサポート ポップアップからRun on Serverを実 ⾏、サーバーにIBM Bluemixを選択 LibertyとNode.jsをサポート *バインドするServiceの選択やオプション設定が可能 cf CLI push コマンドを実⾏ 指定ディレクトリからアプリ・コード をアップ・ロードしてApplication作成 push コマンドを実⾏ 指定ディレクトリからアプリ・コード をアップ・ロードしてApplication作成 cf push<オプション><Application名> Runtimes

Boilerplates(Runtime+Service) Bluemix UI カタログ画面のRuntimes又は Boilerplatesから選択 サンプル・コードが組み込まれる アプリ・コードのアップ・ロードは他 のUIで⾏う必要がある カタログ画面のRuntimes又は Boilerplatesから選択 サンプル・コードが組み込まれる アプリ・コードのアップ・ロードは他 のUIで⾏う必要がある 各UIにおけるApplication作成の操作です。

Bluemix UIでは、Runtimeから対象選択し稼動するか、或いは、Boilerplatesから Applicationを作成することができます。

Boilerplatesでは、Runtimeの他、必要なServiceインスタンスの作成やバインドといった 操作も一連のウィザードにしたがって実施できます。

一方、Runtime、Boilerplatesのいずれの場合も、当初Applicationで稼動するのはサン プルコードです。

ユーザーが開発したアプリ・コードをアップロードするには、他UIを利用する必要があり

ます。

cf CLIの場合は、pushコマンドを使って、ローカルにあるアプリコードをBluemixにアッ

プロードしApplicationを作成します。

デフォルトでは、Applicationの稼動を開始しますが、オプションでApplicationの作成の

みに留めることも可能です。

Eclipse Toolsでは、通常のサーバーでの実行と同じように、プロジェクトを選択してメ

ニューを表示し、Run on Serverを選択して、稼動サーバーのリストからIBM Bluemixを

選択するだけです。

後はウィザードに従って設定します。そこでは、例えば、作成済みのServiceインスタン

スを選択して、バインド操作も同時に行うことが可能です。

(16)

16 © 2014 IBM Corporation 16

Application作成時のcf CLI主要オプション

-p <path> アプリ・コードを含むディレクトリ(又はzipファイル)の パス(デフォルトは現⾏ディレクトリ) 再帰的にサブ・ディレクトリもアップロードされる パス名 -n <ホスト名> Applicationのホスト名 (指定がない場合、Application名を使用) ホスト名 -d <ドメイン名> Applicationのドメイン名 (指定がない場合は、mybluemix.net) ドメイン 開始しない場合 --no-start Application作成後の開始・非開始 開始 設定しない場合: --no-route Applicationへのルーティングをルーターに設定するか ルーター設定 -m <メモリー量> 割当てるメモリー量 メモリー量上限 -i <個数> 稼動するインスタンス数 インスタンス数 -b <URL> Runtime環境を作成するためのBuildPackの指定 指定が無い場合、システムBuildPackのDETECTスクリプト を順に実⾏し、先に0を返したBuildPackを使用 BuildPack cf CLI オプション 説明 項目名 *manifest.ymlファイル(-fオプションで指定)にオプション設定を記述することも可能。設定内容 より、コマンドラインの指定が優先される Application作成時のCLIの主要オプションです。ただし、全てではありません。 注目いただきたいのは、2番目の「BuildPack」の指定です。 BuildPackは、ランタイム環境を作成するためのスクリプトのパッケージですが、これに よって利用者は、多様なプログラミング言語、ランタイム環境から利用する環境を選択で きます。 つまり、Polyglotを実現できるのは、このBuildPackのお陰に他なりません。

(17)

© 2014 IBM Corporation 17

【補足】BuildPackの種類

Bluemixが用意している「システムBuildPack」

Cloud Foundryで標準的なBuildPack

GIT上の多数のBuildPack

Cloud Foundryで使えるBuildPackへのリンク集 https://github.com/cloudfoundry-community/cf-docs-contrib/wiki/Buildpacks Go

Bluemixは、4つのBuildPackを用意しています。これは、例えば、Bluemix UIでは Runtimeとして選択可能です。

他に、Cloud Foundryで、標準的に使用されているBuildPackとして、PHPやGo、 Pythonなどがあります。

他にもGITハブ上には、多数のBuildPackがあります。

こういった外部のBuildPackを指定して、Bluemix上にランタイム環境を構築することが

(18)

18 © 2014 IBM Corporation 18 BuildPack

【補足】BuildPackの役割

BuildPack DETECT ランタイムでアプリ実装が稼動可能か確認 COMPILE ランタイム環境をセットアップ RELEASE ランタイムの実⾏用メタデータの出⼒ クラウド コントローラー Droplet ランタイム環境を パッケージ化したもの クラウド・コントローラーがBuildPackを使いDroplet(ランタイム環境)を作成 DETECTスクリプトでアプリ実装を順にチェック、対応できるBuildPackを特定(明示 的に指定されていない場合) COMPILEスクリプトでランタイム環境を作成し、Dropletにパッケージ化 (スタート時)RELEASEスクリプトの出⼒を使ってApplicationを開始 クラウド・コントローラーがBuildPackを使いDroplet(ランタイム環境)を作成 DETECTスクリプトでアプリ実装を順にチェック、対応できるBuildPackを特定(明示 的に指定されていない場合) COMPILEスクリプトでランタイム環境を作成し、Dropletにパッケージ化 (スタート時)RELEASEスクリプトの出⼒を使ってApplicationを開始 アプリ コード BuildPack自体は、3つのスクリプトをインターフェースとした、スクリプト・パッケージです。 ユーザーがアプリケーションの作成を依頼すると、クラウド・コントローラーは、BuildPack を使ってランタイム環境を構成します。

BuildPackの指定が無い場合、順に各システムBuildPackのDETECTスクリプトを呼び、 そのBuildPackでアプリ・コードが実行可能か?をチェックします。0が返れば、その BuildPackのCOMPILEスクリプトを呼び出してランタイム環境を作成します。

RELEASEスクリプトは、標準出力に開始コマンドを出力するので、それを使ってランタ イム環境を開始します。

(19)

© 2014 IBM Corporation 19 BuildPack

【補足】BuildPackの役割

BuildPack DETECT ランタイムでアプリ実装が稼動可能か確認 COMPILE ランタイム環境をセットアップ RELEASE ランタイムの実⾏用メタデータの出⼒ Bluemix Droplet ランタイム環境を パッケージ化したもの BuildPackにより、Droplet(ランタイム環境)を作成 DETECTスクリプトでアプリ実装を順にチェック、対応できるBuildPackを特定(明示 的に指定されていない場合) COMPILEスクリプトでランタイム環境を作成し、Dropletにパッケージ化 (スタート時)RELEASEスクリプトの出⼒を使ってApplicationを開始 BuildPackにより、Droplet(ランタイム環境)を作成 DETECTスクリプトでアプリ実装を順にチェック、対応できるBuildPackを特定(明示 的に指定されていない場合) COMPILEスクリプトでランタイム環境を作成し、Dropletにパッケージ化 (スタート時)RELEASEスクリプトの出⼒を使ってApplicationを開始 アプリ コード BuildPack自体は、3つのスクリプトをインターフェースとした、スクリプト・パッケージです。 ユーザーがアプリケーションの作成を依頼すると、Bluemixは、BuildPackを使ってラン タイム環境を構成します。

BuildPackの指定が無い場合、順に各システムBuildPackのDETECTスクリプトを呼び、 そのBuildPackでアプリ・コードが実行可能か?をチェックします。0が返れば、その BuildPackのCOMPILEスクリプトを呼び出してランタイム環境を作成します。

RELEASEスクリプトは、標準出力に開始コマンドを出力するので、それを使ってランタ イム環境を開始します。

(20)

20

© 2014 IBM Corporation 20

Service

インスタンスの作成・構成

(21)

© 2014 IBM Corporation 21

Serviceインスタンスの作成・構成

Applicationの作成 Serviceインスタンス 作成・構成 Applicationの開始 Serviceインスタンス のバインド モニタリング ② ③ ④ ⑤ 利用するServiceのインスタンスを作成 必要な構成・設定を実施 Serviceインスタンス作成:操作 Serviceインスタンス作成: Bluemix UIの場合 Serviceインスタンスの構成・設定 Serviceインスタンス作成:操作 Serviceインスタンス作成: Bluemix UIの場合 Serviceインスタンスの構成・設定 Bluemixが提供するServiceを使用するためには、必ずインスタンスを作成する必要が あります。また、サービス・インスタンスによっては、構成内容の変更や追加の設定が必 要な場合があります。

(22)

22 © 2014 IBM Corporation 22

Serviceインスタンスの作成:操作

Servicesから選択 Web & App

Mobile MgmtData DataBig Security BA IoT

Bluemix UI CATALOGから対象Serviceを選択 Boilerplatesでは、組み込まれた Serviceのインスタンスが作成される CATALOGから対象Serviceを選択 Boilerplatesでは、組み込まれた

Serviceのインスタンスが作成される Boilerplates(Runtime+Service)

cf CLI

create-service コマンドを実⾏

create-service コマンドを実⾏

cf create-service <Service名> <プラン> <インスタンス名>

*Serviceの名前とプランはmarketplaceコマンドで確認可能

IBM Eclipse Tools for Bluemix

「IBM Bluemix」の設定画面 「Applications and Services」タブ内 「Services」のリストに追加

「IBM Bluemix」の設定画面 「Applications and Services」タブ内 「Services」のリストに追加

Serviceインスタンスの作成の操作です。

Bluemix UIでは、CATALOGから対象Serviceを選択すると、作成画面が表示されるの で、インスタンス名、プラン名等を入力してサービスを作成します。

Boilerplatesでも、組み込まれたServiceのインスタンス作成画面が表示されるので、同 様の入力を行いインスタンスを作成します。

cf CLIの場合も、入力項目は同じです。使用できるサービス名・プラン名は、 marketplaceコマンドで確認することができます。

Eclipse Toolsでは、IBM Bluemixの設定画面の「Applications and Services」画面で Serviceインスタンスのリスト右上のアイコンをクリックすると、Service一覧が表示される

(23)

© 2014 IBM Corporation 23

Serviceインスタンス作成: Bluemix UIの場合

プラン、インスタンス名、(オプションでバイン ド先Application名)を⼊⼒して「Create」 作成したServiceインスタンスは、DASHBOARD のServices欄に表示 プラン、インスタンス名、(オプションでバイン ド先Application名)を⼊⼒して「Create」 作成したServiceインスタンスは、DASHBOARD のServices欄に表示 プランのリスト・価格情報 CATALOG Bluemix UIでの、Serviceインスタンス作成の画面です。画面では、各プランの価格情 報なども表示されますので、それらを確認した上で、インスタンス名を入力し、プランを 選択してCREATEボタンを押します。 この画面で、既存Applicationを選択、或いは、新規にApplicationを作成して、バインド 操作も同時に行うこともできます。バインドしない場合は、Leave unboundを選択します。

(24)

24 © 2014 IBM Corporation 24

Serviceインスタンスの構成・設定

SQL Databaseの例 幾つかのServiceでは、Bluemix UI上で構成・設定画面を提供 DASHBOARDのServiceインスタンスのアイコンが⼊り口 幾つかのServiceでは、Bluemix UI上で構成・設定画面を提供 DASHBOARDのServiceインスタンスのアイコンが⼊り口 DASHBOARD 幾つかのServiceでは、Serviceインスタンスの構成や設定の画面を提供しているものが あります。

例えば、SQL Database Serviceの場合、インスタンスを作成後、DASHBOARDの Serviceインスタンスの画面から、Managed Database Consoleを起動することができま す。

この画面から、DDL実行を含むテーブルやスキーマの管理、バックアップのコントロール、

(25)

© 2014 IBM Corporation 25

Service

インスタンスのバインド

(26)

26 © 2014 IBM Corporation 26

Serviceインスタンスのバインド

Applicationの作成 Serviceインスタンス 作成・構成 Applicationの開始 Serviceインスタンス のバインド モニタリング ② ③ ④ ⑤ ServiceインスタンスをApplicationにバインド インスタンスの情報を稼働環境に取り込む Serviceインスタンスのバインド:操作 Serviceインスタンスのバインド: VCAP_SERVICES変数 Serviceインスタンスのバインド:操作 Serviceインスタンスのバインド: VCAP_SERVICES変数 バインドすることで、Applicationは、VAR_SERVICES変数を通じてインスタンスの情報 を参照することができるようになります。 後ほど述べますが、Libertyを利用する場合は、バインドにより、より高度な連携も可能で す。

(27)

© 2014 IBM Corporation 27

Serviceインスタンスのバインド:操作

cf CLI bind-service コマンドを実⾏ bind-service コマンドを実⾏

cf bind-service <Application名> <Serviceインスタンス名> Dashboardから「BINDA A SERVICE」を実⾏する場合

ダイアログのリストから、Serviceインスタンスを選択 Bluemix UI DASHBOARDのApplication -Overviewから「BIND A SERVICE」 を実⾏ Serviceインスタンス作成時に Applicationを選択してバインド Boilerplates使用時には、バインドも ⾏われる DASHBOARDのApplication -Overviewから「BIND A SERVICE」 を実⾏ Serviceインスタンス作成時に Applicationを選択してバインド Boilerplates使用時には、バインドも ⾏われる

IBM Eclipse Tools for Bluemix

「Applications and Services」タブ内 「Services]→「Application Services」にドラッグ&ドロップ 新規Application作成時にバインド

「Applications and Services」タブ内 「Services]→「Application Services」にドラッグ&ドロップ 新規Application作成時にバインド Services Application Services ドラッグ&ドロップ

Bluemix UIでは、DASHBOARDのApplicationのOverview画面からBIND A

SERVICESボタンをクリックして、表示されたServiceインスタンスのリストから対象インス タンスを選択します。

バインド操作は、他にも先に紹介したServiceインスタンス作成時、或いは、

Boilerplates作成時にも行えます。

cf CLIでは、bind-serviceコマンドを使用します。

Eclipse Toolsでは、「Application and Services」画面のServiceインスタンスのリストか ら、ApplicationのServicesリストにドラッグ&ドロップします。

Application作成の際に触れましたが、新規Applicationの作成時に選択することもでき ます。

(28)

28 © 2014 IBM Corporation 28

Serviceインスタンスのバインド:

VCAP_SERVICES変数

環境変数VCAP_SERVICESにServiceにアクセスするための情報が設定される DASHBOARDで、Applicationのランタイム画面のEnvironment Variables で内容表示 アプリ・コードはVCAP_SERVICE変数を参照しServiceインスタンスにアクセス 稼動しているApplicationでは、反映するためにバインド後に再起動が必要 環境変数VCAP_SERVICESにServiceにアクセスするための情報が設定される DASHBOARDで、Applicationのランタイム画面のEnvironment Variables で内容表示 アプリ・コードはVCAP_SERVICE変数を参照しServiceインスタンスにアクセス 稼動しているApplicationでは、反映するためにバインド後に再起動が必要 •サーバー・ホストのIPアドレス •TCPポート番号 •DB名 •ユーザーIDとパスワード •JDBC URL •URL 例)SQL Databaseの場合

バインド操作後、Applicationのランタイム環境のVCAP_SERVICES変数にServiceの

情報が設定されます。

内容は、DASHBOARDのApplicationのランタイム画面で確認できます。

アプリは、VCAP_SERVICES変数にアクセスして、Serviceインスタンスの情報を入手

(29)

© 2014 IBM Corporation 29

Application

の開始

ここまでのステップで、Application稼動の環境が整ったので、いよいよApplicationの稼

(30)

30 © 2014 IBM Corporation 30

Applicationの開始

Applicationの作成 Serviceインスタンス 作成・構成 Applicationの開始 Serviceのバインド モニタリング ② ③ ④ ⑤ 稼動環境のランタイム稼動開始 指定した個数のインスタンスが稼動 Applicationの開始:操作 Applicationの開始:操作 Applicationを開始すると、指定した個数のインスタンスが、設定されたメモリーで稼動を 開始します。

(31)

© 2014 IBM Corporation 31

Applicationの開始:操作

cf CLI start コマンドを実⾏ start コマンドを実⾏ cf start <Application名>

IBM Eclipse Tools for Bluemix

Server View中のApplicationを選択し、 ブルダウンメニューから「Start」 Applications and Services」タブで対 象Applicationを選び「Start」

Server View中のApplicationを選択し、 ブルダウンメニューから「Start」 Applications and Services」タブで対 象Applicationを選び「Start」

Servers View IBM Eclipse Tools for Bluemix

DASHBOARD(トップ) Bluemix UI DASHBOARDトップ画面の Applicationのアイコンのプルダウンメ ニュー DASHBOARDのApplication画面 Overviewの「Start」ボタン DASHBOARDトップ画面の Applicationのアイコンのプルダウンメ ニュー DASHBOARDのApplication画面 Overviewの「Start」ボタン DASHBOARD(Application) Bluemix UI Bluemix UIで、稼動していないApplicationを開始するには、2つの方法があります。 1つは、DASHBOARDのApplicationアイコンの「歯車」をクリックして表示されるプルダ ウンメニューからStart Appを選択する方法です。 もうひとつは、DASHBOARDのApplication画面に入り、右側の稼働状況を表示する欄 にあるStartボタンをクリックする方法です。

cf CLIでは、Application名を指定してstartコマンドを実行します。 Eclipse Toolsでも、2つの開始方法があります。

1つはお馴染みの方法で、Server Viewの中の対象Applicationを選択してプルダウン・

メニューからStartを選択するものです。

もうひとつは、IBM Bluemixの設定画面で「Applications and Services」タブを選び、左

上のApplicationから対象アプリケーションを選んで、右側に表示された「Start」ボタンを クリックする方法です。

(32)

32

© 2014 IBM Corporation 32

モニタリング

(33)

© 2014 IBM Corporation 33

モニタリング

Applicationの作成 Serviceインスタンス 作成・構成 Applicationの開始 Serviceインスタンス のバインド モニタリング ② ③ ④ ⑤ 各インスタンスの稼動状況の表示CPUやメモリー等の資源消費状況を表示 モニタリング:操作 DASHBOARD:トップ画面 DASHBOARD:Application画面 Monitoring and Analyticsアドオン

モニタリング:操作

DASHBOARD:トップ画面 DASHBOARD:Application画面 Monitoring and Analyticsアドオン

Bluemixでは、どのApplicationでもデフォルトで提供される基本的なモニタリング機能が あります。

それらに加えて、LibertyとNode.jsの2種類のランタイムには、Monitoring and

(34)

34

© 2014 IBM Corporation 34

モニタリング: 操作

Dashboardによるモニタ

Monitor and Analyticsアドオン LibertyとNode.jsに適用可能 過去の稼働状況、資源状況をグラフィカルに表示 トップ画面–全体 個々のApplication 個々のインスタンス Bluemix UI DASHBOARD トップ画面 Application画面

Monitor and Analytics add-on 過去の稼動状況・資源状況

DASHBOARD トップ画面 Application画面

Monitor and Analytics add-on 過去の稼動状況・資源状況

IBM Eclipse Tools for Bluemix

「Applications and Services」タブで対 象Applicationを選べば、各インスタンス の稼動状況や、リソース状況を表示

「Applications and Services」タブで対 象Applicationを選べば、各インスタンス の稼動状況や、リソース状況を表示 *表示の更新は⼿動で⾏う必要がある cf CLI apps :全Applicationの稼動概況 app : 特定Applicationの稼動状況・資 源状況 apps :全Applicationの稼動概況 app : 特定Applicationの稼動状況・資 源状況 cf apps cf app <Application名> Bluemix UIでは、DASHBOARD画面で3段階のモニタリングができます。 また、Monitoring and Analyticsアドオンによるグラフ表示機能があります。 cf CLIでは、2つのモニタリングの方法があります。

ひとつは、全Applicationの稼動の状況を表示するappsコマンド、もう1つは、より詳しく

個々のApplicationについて、資源状況も含めた状況をモニタリングするappコマンドで す。

Eclipse Toolsでも、Applicationの状況を表示できます。ただし、表示更新は手動で行う 必要があります。

(35)

© 2014 IBM Corporation 35 全Applicationの概況とシステム資源の状況を表示 全Applicationの概況とシステム資源の状況を表示

DASHBOARD(トップ画面)

メモリー状況 アプリ稼動状況 緑丸: 良好 赤丸: 不良 Service インスタンス数 Applicationの稼動状況 Running Stopping Not running DASHBOARDのトップ画面です。 上部には、全体のメモリー状況、アプリ稼動状況はひとつでもApplicationが稼動してい なと、赤丸となります。 個々のApplicationの稼働状況も、アイコン内の丸印の色と文言で確認できます。

(36)

36 © 2014 IBM Corporation 36

DASHBOARD:Application画面(Overview)

インスタンス数 割当メモリー量 使⽤可能メモリー量 稼働状況 Applicationの状況と資源の割当状況などを表示 Applicationの状況と資源の割当状況などを表示 個々のApplicationのOverview画面では、より詳しく、インスタンス数、割当メモリー量、 稼働状況が確認できます。

(37)

© 2014 IBM Corporation 37

DASHBOARD:Application画面(ランタイム)

使⽤メモリー量 CPU使⽤率 DISK使⽤量 Applicationインスタンスの状況と資源使用状況などを表示 Applicationインスタンスの状況と資源使用状況などを表示 メニューからランタイム名を選択 ランタイム(例えば、ここでは、Liberty-WAR(ibjjdk-1.7.1.1・・))の画面では、個々のイ ンスタンスのCPU使用率、使用メモリー量、DISK使用量などを確認できます。

(38)

38

© 2014 IBM Corporation 38

DASHBOARD:Application画面(Files and Logs)

Bluemixのコンテナでは、ファイル・システムは稼働中にしか存在しないため、 Files and Logsは稼働中にしか表示されない

ファイル・システムを参照し、ログ出⼒などのファイルの内容を表示可能 ファイル・システムを参照し、ログ出⼒などのファイルの内容を表示可能

• 当資料作成後に表示されるファイル構成等が変更されました。現在、標準出⼒・標準エラー出⼒は表示されません。 ログについては、収集・ストアの仕組みを別途検討する必要があります。

DASHBOARDのApplicationの画面には、Files and Logsの画面があり、ここから個々 のファイルの内容を表示できます。 留意すべきこととして、ファイルは、Application稼働中にしか存在しないことがあります。 したがってこの画面は、Application稼働中にしか表示されません。 もし、アプリケーション・ログなど、稼動停止した場合にも参照したいファイルがある場合 は、これらを収集・ストアする工夫が別途必要になります。 いくつか方法があります。例えば、こちらのURLを参照ください。 https://developer.ibm.com/answers/questions/19348/what-is-the-best-practice-of-logging-for-bluemix-java-applications/

(39)

© 2014 IBM Corporation 39

Monitoring and Analyticsアドオン

最近の稼動状況や資源状況をグラフィカルに表示することを可能にする LibertyとNode.jsで稼動するApplicationが対象

最近の稼動状況や資源状況をグラフィカルに表示することを可能にする LibertyとNode.jsで稼動するApplicationが対象

アドオンの接続:

ApplicationのOverviewの「CONNECT AN ADD-ON」をクリックし、 Monitoring and Analyticsを選択

ランタイムが、Liberty、或いは、Node.jsの場合には、Monitoring and Analyticsアドオ

ンをConnectすることで、過去を含めた稼働状況や資源状況をグラフィカルに表示する

ことができます。アドオンのConnectは、ApplicationのOverview画面で、CONNECT

AN ADD-ONボタンをクリックし、カタログから、Monitoring and Analyticsを選択して、ダ

(40)

40

© 2014 IBM Corporation 40

Monitoring and Analyticsアドオン:表示例

Liberty Profileの場合の表⽰例

過去の稼動状況 資源消費状況

(41)

© 2014 IBM Corporation 41

Java EE

アプリケーションの

Liberty

での稼動

ここまで、Bluemixでアプリを稼動させ、モニタリングを開始するまでに必要な操作の各 ステップを追ってきました。 ここでは、これらの各操作を実際に行って、Java EEアプリケーションをLibertyで稼動さ せるデモをご覧頂きます。

(42)

42 © 2014 IBM Corporation 42

サーバー設定の自動構成機能

ランタイム環境作成時、バインドされたService情報を自動的にLibertyのサーバー 設定に取り込む機能 Java EEコンテナ側で設定すべきServiceが対象 アプリ・コードは、JNDI等を通じて間接的にServiceにアクセス 特定Service(或いは全て)を自動構成から除外するオプション有り 対象ServiceについてはVCAP_SERVICESを参照するアプリ・コードは不要 ランタイム環境作成時、バインドされたService情報を自動的にLibertyのサーバー 設定に取り込む機能 Java EEコンテナ側で設定すべきServiceが対象 アプリ・コードは、JNDI等を通じて間接的にServiceにアクセス 特定Service(或いは全て)を自動構成から除外するオプション有り 対象ServiceについてはVCAP_SERVICESを参照するアプリ・コードは不要 例)SQL Databaseをバインドした場合のserver.xml

<server description="new server">

・・・

<dataSource id=‘db2-TI_SQLDB’ jdbcDriverRef=‘db2-driver’ jndiName=‘jdbc/MySampleDB’ statementCacheSize=‘30’ transactional=‘true’>

<properties.db2.jcc id='db2-TI_SQLDB-props' databaseName='${cloud.services.TI_SQLDB.connection.db}' user='${cloud.services.TI_SQLDB.connection.username}' password='${cloud.services.TI_SQLDB.connection.password}' portNumber='${cloud.services.TI_SQLDB.connection.port}' serverName='${cloud.services.TI_SQLDB.connection.host}'/>

</dataSource>

<jdbcDriver id='db2-driver' libraryRef='db2-library'/> <library id='db2-library'>

<fileset id='db2-fileset' dir='${server.config.dir}/lib' includes='db2jcc4.jar db2jcc_license_cu.jar'/> </library> </server> データソース定義とJDBCドライバーの定義を自動的に挿⼊ アプリ・コードからは、データ・ソース jdbc/<Serviceインスタンス名> で、SQL Databaseにアクセス可能

デモをご覧頂く前に、Java EEアプリをBluemix上のLibertyで稼動させる場合、Liberty

BuildPackが提供する自動構成機能について紹介します。 これは、SQL Databaseサービスのインスタンス「MySampleDB」をバインドした、 Libertyランタイム環境におけるserver.xmlの内容です。 データソースとして、「jdbc/<サービス・インスタンス名」の定義が追加されていることがわ かります。 したがって、SQL Database Serviceにアクセスするに当たって、アプリ・コードにおいて VCAP_SERVICES変数を参照して処理する必要がありません。

(43)

© 2014 IBM Corporation 43

デモ

1. [Eclipse Tools] Bluemix上に Libertyで稼動するApplication を作成

2. [Bluemix UI]SQL Database Serviceのインスタンスを作成

3. [Bluemix UI]DDLからスキーマとテーブルを作成

4. [Bluemix UI]ApplicationとSQL Databaseをバインド

5. [Bluemix UI]Applicationを稼動 Bluemix Java EEアプリケーションをBluemix上で稼動させるまでの操作をデモ SQL Databaseを使用する標準的なJava EEアプリケーションを想定 Java EEアプリケーションをBluemix上で稼動させるまでの操作をデモ SQL Databaseを使用する標準的なJava EEアプリケーションを想定

IBM Eclipse Tools for Bluemix

Bluemix UI アプリ画面 デモ① デモ② デモ③ MySampleDB インスタンス名 アプリ コード テーブル 定義 それでは、これからデモをご覧いただきますが、その前にデモ内容を簡単に説明します。 デモは、3つのパートからなります。まず、Eclipse Toolsを使ってアプリ・コードをアップ ロードしてLibertyランタイム環境を含むApplicationを作成します。 これがが、デモ①です。 次に、SQL Database Serviceのインスタンスを作成し、 DDLを実行してスキーマとテーブルを作成します。 更にApplicationにこのServiceをバインドします。 ここまでの、Bluemix UIの操作をデモ②でお見せします。 最後にデモ③では、作成したApplicationを稼動し、アプリでデータを追加します。 実際にデータが追加されたことを確認します。

(44)

44

© 2014 IBM Corporation 44

【追記①】コラボレーションの仕組み

ここからは、これまでとは話題が変わります。

まず、Bluemixで共同作業する際に必要となる、OrganizationとSpaceについて説明し ます。

(45)

© 2014 IBM Corporation 45

<Organization> WebSphere Tech Sales

コラボレーションの仕組み:OrganizationとSpace

Developer Develop er Audit or ユーザーA Manager ユーザーB Auditor Developer ユーザーC ユーザーD <Space>: dev App2 Svc1 App1 <Space>: production App6 Svc3 App5 Spaceは共有の単位 作成したApplicationやServiceインスタンスはSpaceに属する ユーザーは権限(Role)に応じてSpace内のApplication等にアクセス OrganizationはSpace及びユーザーの所属先 ユーザーは複数のOrganizationに所属可能 Spaceは共有の単位 作成したApplicationやServiceインスタンスはSpaceに属する ユーザーは権限(Role)に応じてSpace内のApplication等にアクセス OrganizationはSpace及びユーザーの所属先 ユーザーは複数のOrganizationに所属可能 Develope r App4 Svc2 App3 <Space>: test App4 Svc2 App3 Man ager Bluemixにおける共有の単位、それがSpaceです。 そして、Space、及び、ユーザーは、Organizationに属します。 各ユーザーは、そのOrganization内で、権限を付与されているSpaceにのみアクセスで きます。

権限は、Roleとして与えられます。例えば、下の図の例では、ユーザーAは、dev space

と、test sapceに対して、Devloper Roleとしての権限を持ちます。

Developerであれば、Space内のApplication及びServiceインスタンスを変更したり作 成したりできます。

同様に、ユーザーCは、Auditorとしての権限をdev spaceとtest spaceに持ちます。

Auditorでは、参照のみが可能です。

ユーザーDは、Managerですが、Managerはspaceに対してメンバーの権限をコント ロールできます。

このように、ユーザーのSpaceに対する権限は、Developer、Auditor、Managerの3種

(46)

46 © 2014 IBM Corporation 46

OrganizationとSpaceの詳細

OrganizationとSpaceの選択 ユーザーには随時所属Organizationと作業対象Spaceが紐付けられている Application及びServiceのインスタンスは、作業時のSpace内に作成される Organization及びSpaceは随時変更可能 Organizationを選択すると、利用可能なSpaceが選択肢に表示される Organizationの選択 Spaceの選択 OrganizationとSpaceへの権限の付与 デフォルトでは、ユーザーはユーザー名と同名の Organizationのオーナー オーナーは、Organization及びSpaceに関して、 ユーザーに権限を付与できる(詳細は後述)

Bluemix UIからは「Invite a User」で一度に複数の 権限が設定可能

Spaceの作成

Organizationのオーナー及び必要な権限があれば、 Spaceを追加作成できる(デフォルトでは、devのみ)

ユーザーは、ログインした時点で、既にOrganizationとSpaceに紐付けられています。

その時点で作成したApplicationやServiceインスタンスは、作業時のSpaceに属するこ

とになります。

ログイン後であっても、OrganizationやSpaceは権限がある限り、随時変更は可能です。

デフォルトでは、ユーザーはユーザー名と同名のOrganizationの唯一のメンバーで、か

つ、オーナーです。

オーナーは、他ユーザーを自分のOrganizationにInviteすることができます。

Bluemix UIでは、「Invite a User」画面で、ユーザーをOrganizationにInviteすると共に、 同時に複数の権限をユーザーに付与できます。

Organizationのオーナー、及び、Organization ManagerはOrganizationにSpaceを作 成することができます。

(47)

© 2014 IBM Corporation 47

Manage Organization画面

Organization Space ユーザー Role Nishikori

Bluemix UIにおける、Organization及びSpaceの管理画面です。

表示されてるのは、このOrganizationに属するユーザー名と、各ユーザーがこの

Organizationに対して有するロールです。

例えば、この画面では、ユーザーNishikoriは、WebSphere TechSalesという

(48)

48 © 2014 IBM Corporation 48

ユーザーの招待

招待するユーザーの氏名、 メール・アドレスを追加 Space毎に 招待するアカウントの権限を指定 ※招待メールや招待承認の処理は⾶ばない Invite User画面です。 この画面で、招待するユーザーに対して、Organizationに対する権限(必要な場合)、 及び、必要に応じて各Spaceに対する権限を設定できます。 Inviteしても、招待メールが飛んだり、招待承認が求められたりということはありません。 ただし、ユーザーはログインする際に、Organization及び作業するSpaceを選択する必 要があります。 例えば、Bluemix UIであれば、ログイン画面にメニューが表示されるので、例えば、自 身が他のOrganizationにInviteされたことが分かります。

(49)

© 2014 IBM Corporation 49

ユーザーの権限(Roles)

Organizationに対するRole

Spaceに対するRole

Organization内 ApplicationとService内容 の確認 Organization内ランタイ ムとServiceの使用状況の 参照 Organization内のSpace の作成と削除 ユーザーの招待と管理 ドメインの管理 Organization Auditor Billing Manager Organization Manager Space内の全情報 (Application、Service、 設定、レポート、ロ グ)への参照のみ権限 Space内での Application/Serviceの 作成、削除、管理 Space内のログへの アクセス Spaceへのユーザーの 招待と管理 Space内での各種機能 の有効化/無効化 Auditor Developer Manager

Organization、及び、Spaceに対する権限、Roleです。

通常は、共同開発するメンバーに対しては、必要なSpaceへのDeveloperロール権限

(50)

50 © 2014 IBM Corporation 50

カスタム・ドメインの管理

各社が管理するドメイン名でサービスを公開

Manage Organization画面で利用するドメインを追加 Application管理画面より、Routeを追加 各社で管理するDNSで、名前解決のIPアドレスを登録

1. Manage Organization画面 2. Application管理画面

Routeの追加

3. DNS またはhostsで名前解決の構成

Manage Organization画面では、利用するドメイン名の登録が可能です。 登録したドメインだけが利用可能です。

Applicationのドメインを変更したい場合は、DASHBOARDのApplicationのOverview 画面で歯車アイコンのプルダウンメニューから選択します。

(51)

© 2014 IBM Corporation 51

リソース割当て量(Quota)の管理

組織全体でのリソース使用状況を確認

(52)

52 © 2014 IBM Corporation 52

【追記②】無停止でのアプリケーションの更新

最後の話題は、Bluemixにおいて、アプリケーションの更新、特に、サービスを停止しな いでアプリケーション更新する方法についてです。

(53)

© 2014 IBM Corporation 53

アプリケーションの更新

アプリケーションの無停止更新

インターネットへのサービス提供は⻑期間の安定稼動を求められる 24時間365日のサービス提供には、アプリ・コードの更新による停 止も回避することが望ましい

Blue Greenデプロイメント

2系統のシステムを準備して切替えながらアプリ更新を⾏うことで停 止時間を短縮 システム構築の自動化環境により、現実的な解になってきた ここでは、IBM BluemixにおけるBlue Greenデプロイメントの2つの具

体的なやり⽅を紹介

アプリケーションの無停止更新

インターネットへのサービス提供は⻑期間の安定稼動を求められる 24時間365日のサービス提供には、アプリ・コードの更新による停 止も回避することが望ましい

Blue Greenデプロイメント

2系統のシステムを準備して切替えながらアプリ更新を⾏うことで停 止時間を短縮 システム構築の自動化環境により、現実的な解になってきた ここでは、IBM BluemixにおけるBlue Greenデプロイメントの2つの具

体的なやり⽅を紹介 ネット上でのビジネス競争が激化している現在、可用性は重要です。 そのため、アプリケーションの無停止更新への要求は高まっています。 無停止での運用といえば、Blue Greenデプロイメントという考え方があります。要は、2 つのシステムを切り替えながら運用するというものです。 ただし、2つの等価なシステムを用意するということは、従来は、非常にコストの掛かるこ とでした。 しかし、近年のクラウドの進展で、システム構築が自動化され、等価なシステムを用意す るコストも低下しました。 その結果、Blue Greenデプロイメントも現実的なソリューションとして考えられるように なってきています。

ここでは、、IBM BluemixにおいてBlue Green デプロイメントを実現する具体的方法を

(54)

54 © 2014 IBM Corporation 54

アプリケーション無停止更新

ルーティング・ルール 更新による⽅法

新規のApplicationを作成し、ルーティング・ルールを更新する (切替後のApplication名が変わっている点に留意) Blue Green デプロイメント 旧バージョンへのルートを削除 cf unmap-route

blue mybluemix.net -n blue

4

新バージョンにルートをマップ

cf map-route

green mybluemix.net -n blue

3 新バージョンをデプロイ cf push green 2 初期バージョンが稼動 cf push blue 1 blue.mybluemix.net blue blue blue.mybluemix.net green green.mybluemix.net blue blue.mybluemix.net green green.mybluemix.net blue blue.mybluemix.net green green.mybluemix.net まず、ルーティング・ルールを更新する方法です。 新規のApplicationを用意(以下、greeenと表記)して、順次、ルーティング・ルールを切 り替えていく方法です。 この方法だと、2つのURLが必要になり、かつ、アプリケーション名は、更新前とは違っ た名前になります。

(55)

© 2014 IBM Corporation 55

アプリケーション無停止更新

Application名更新による⽅法

運用上Application名を変更したくない場合は、予め現⾏の Application名を変更して対応する Blue Green デプロイメント 旧バージョンを削除 cf delete myapp-old -f 4 新バージョンをデプロイ cf push myapp 3 事前に現⾏バージョンをリネーム

cf rename myapp myapp-old

2 初期バージョンが稼動 cf push myapp 1 myapp.mybluemix.net myapp myapp-old myapp.mybluemix.net myapp-old myapp.mybluemix.net myapp myapp.mybluemix.net myapp もう1つの方法は、1つのURLを持ちまわりながら、結果として、アプリケーション名も変更 しない方法です。 ルーティング・ルールの変更も必要ありません。 アプリケーション名をリネームしても、ルーティング・ルールが変更されない点を利用して います。

(56)

56

© 2014 IBM Corporation 56

まとめ

(57)

© 2014 IBM Corporation 57

まとめ

Applicationが稼動の単位

UIを通じてアプリ・コードをデプロイ ランタイム環境はBuildPackを通じて自動構築 Serviceインスタンスとの連携情報を得るバインド操作

幾つかのServiceではインスタンスの構築・設定機能を提供

Bluemix UIで提供 SQL Databaseではテーブル設定やデータ表示等の機能を提供

ビルトインのモニタリング機能

Bluemix UIで基本的な稼働や資源状況のモニタリング機能を提供 Monitoring and Analytics アドオンにより一定期間の状況を表示

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

4種類のUI: Bluemix UI、cf CLI、Eclipse Tools for Bluemix、 IBM DevOps Services

Applicationが稼動の単位

UIを通じてアプリ・コードをデプロイ ランタイム環境はBuildPackを通じて自動構築 Serviceインスタンスとの連携情報を得るバインド操作

幾つかのServiceではインスタンスの構築・設定機能を提供

Bluemix UIで提供 SQL Databaseではテーブル設定やデータ表示等の機能を提供

ビルトインのモニタリング機能

Bluemix UIで基本的な稼働や資源状況のモニタリング機能を提供 Monitoring and Analytics アドオンにより一定期間の状況を表示

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

4種類のUI: Bluemix UI、cf CLI、Eclipse Tools for Bluemix、 IBM DevOps Services

最初に述べたように、ApplicationとServiceインスタンス、そして、それらを結び付けるバ インドの考え方がBluemixの根幹を占める概念です。 特に、バインドについては、Liberty BuildPackが、サーバーに必要な設定を自動的に 行う構成機能も提供しています。 Bluemixでは、いくつかのServiceインスタンスの構成・設定の画面を提供し、また、ビル トインのモニタリング機能に加えて、Add-onとしてモニタリング機能を提供しています。 このように、手間ひまを掛けず、モニタリングすることもできます。 そして、4つのユーザーインターフェースを、場面や状況で使い分けて、Bluemixの操 作を行うことができます。 このように、Bluemixは、アプリケーションの稼動や管理のワークロードを軽減する様々 な仕組みを提供し、かつ高いユーザービリティを実現しています。

(58)

58

© 2014 IBM Corporation 58

IBM

Bluemix

(59)

© 2014 IBM Corporation 59

参照

関連したドキュメント

暑熱環境を的確に評価することは、発熱のある屋内の作業環境はいう

SVF Migration Tool の動作を制御するための設定を設定ファイルに記述します。Windows 環境 の場合は「SVF Migration Tool の動作設定 (p. 20)」を、UNIX/Linux

婚・子育て世代が将来にわたる展望を描ける 環境をつくる」、「多様化する子育て家庭の

(※)Microsoft Edge については、2020 年 1 月 15 日以降に Microsoft 社が提供しているメジャーバージョンが 79 以降の Microsoft Edge を対象としています。2020 年 1

目的 これから重機を導入して自伐型林業 を始めていく方を対象に、基本的な 重機操作から作業道を開設して行け

FSIS が実施する HACCP の検証には、基本的検証と HACCP 運用に関する検証から構 成されている。基本的検証では、危害分析などの

脅威検出 悪意のある操作や不正な動作を継続的にモニタリングす る脅威検出サービスを導入しています。アカウント侵害の

3 ⻑は、内部統 制の目的を達成 するにあたり、適 切な人事管理及 び教育研修を行 っているか。. 3−1