bluemixの基本を知る -仕組みと使い方-
TRANSCRIPT
IBM Bluemixwww.bluemix.net
IBM Bluemixそこが知りたい!
テクニカル・セミナー
日本アイ・ビー・エム株式会社SWG WebSphere事業部 伊藤 隆
Bluemixの基本を知る~仕組みと使い方~
© 2014 IBM Corporation2
IBM Bluemixwww.bluemix.net
ご注意
この資料は日本アイ・ビー・エム株式会社および日本アイ・ビー・エム システムズ・エンジニアリング株式会社の正式なレビューを受けておりません。
資料の内容には正確を期するよう注意しておりますが、この資料の内容は2014年09月現在の情報であり、製品の新しいリリース、修正などによって動作/仕様が変わる可能性があります。
当資料は、資料内で説明されている製品の仕様を保証するものではありません。従って、この情報の利⽤またはこれらの技法の実施はひとえに使⽤者の責任において為されるものであり、資料の内容によって受けたいかなる被害に関しても⼀切の補償をするものではありません。
また、IBM、IBMロゴおよびibm.comは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点でのIBMの商標リストについてはhttp://www.ibm.com/legal/copytrade.shtmlをご覧ください。
© 2014 IBM Corporation3
IBM Bluemixwww.bluemix.net
アジェンダ概要
Applicationの作成
Serviceインスタンスの作成・構成
Serviceインスタンスのバインド
Applicationの開始
モニタリング
Java EEアプリケーションのLibertyでの稼動
追記情報
① コラボレーションの仕組み
② 無停止でのアプリケーションの更新
まとめ
© 2014 IBM Corporation4
IBM Bluemixwww.bluemix.net
概要~ApplicationとService~
© 2014 IBM Corporation5
IBM Bluemixwww.bluemix.net
Bluemixの特徴
Polyglot
複数のランタイムから適切な選択が可能
Composable
多数のServiceを提供、多様な機能・選択肢
アプリがServiceと連携する仕組みを提供
Manage
ビルト・インされたモニターや課金の仕組み
DevOps&コラボレーション
IBM DevOps Servicesと連携、コラボレーションの仕組みを備える
© 2014 IBM Corporation6
IBM Bluemixwww.bluemix.net
インスタンス
ランタイムランタイム
ApplicationとService
ランタイム
アプリコード
Service
バックエンド
Serviceインスタンス
Service
バインド
アプリコード
Application
Bluemixにおけるアプリ稼動の単位
アプリ・コード+ランタイム+バインド
Service
ランタイム外部で稼動して様々な機能を提供
インスタンスを作成し、Applicationにバインドして利⽤
バインド
Serviceインスタンスにアクセスするための情報をApplicationに取り込む
Serviceインスタンス情報のハード・コードや手入力が不要
© 2014 IBM Corporation7
IBM Bluemixwww.bluemix.net
基本的な操作
アプリ・コードをアップロード
適切なRuntimeにより、稼動環境を構成Applicationの作成①
利⽤するServiceのインスタンスを作成
必要な構成・設定を実施
Serviceインスタンス
作成・構成②
ServiceインスタンスをApplicationにバインド
インスタンスの情報を稼働環境に取り込む
Serviceインスタンス
のバインド③
稼動環境のランタイム稼動開始
指定した個数のインスタンスが稼動Applicationの開始④
各インスタンスの稼動状況の表示
CPUやメモリー等の資源消費状況を表示モニタリング⑤
© 2014 IBM Corporation8
IBM Bluemixwww.bluemix.net
ユーザー・インターフェース
IBM DevOps Services
Applicationの作成
Serviceインスタンス
作成・構成
Applicationの開始
Serviceインスタンス
のバインド
モニタリング
①
②
③
④
⑤
IBM Eclipse Tools for BluemixIBM Eclipse Tools for Bluemix
Bluemix UIBluemix UIBluemix UI
cf コマンド・ライン・
インターフェース > cf ccc xxx
×cf コマンド・ライン・
インターフェース
cf コマンド・ライン・
インターフェース
4種類のユーザー・インターフェース
© 2014 IBM Corporation9
IBM Bluemixwww.bluemix.net
Bluemix UIWebで提供されるグラフィカルな操作画面
DASHBOARD: Applicationの操作・モニター
CATALOG: Application及びServiceを作成するためのコンポーネント
CATALOG画面
Service
Add-on
Boilerplate
Runtime
DASHBOARD画面(Application)
Runtimeの情報
バインドされたService
稼動状況
© 2014 IBM Corporation10
IBM Bluemixwww.bluemix.net
cf コマンド・ライン・インターフェース (CLI)
Cloud Foundry汎⽤のコマンド・ライン・インターフェース
ユーザー端末にインストールして使⽤(Windows版・Linux版・Mac OS X版)
実行形式
cf <コマンド><引数> <オプション>
> cf login –a
https://api.ng.bluemix.net
User XXXX
Password:
×
IBM Bluemixwww.bluemix.netアプリ
コード
© 2014 IBM Corporation11
IBM Bluemixwww.bluemix.net
Eclipse Tools for BluemixLiberty及び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情報
© 2014 IBM Corporation12
IBM Bluemixwww.bluemix.net
IBM DevOps Services
午後セッション
「BluemixとIBM DevOps Servicesで始めるアプリケーション開発」
で紹介があります
IBMが提供するWeb IDE環境で、ブラウザーがあれば開発が可能
作成したアプリ・コードのデプロイ先としてBluemixを設定可能
© 2014 IBM Corporation13
IBM Bluemixwww.bluemix.net
Applicationの作成
© 2014 IBM Corporation14
IBM Bluemixwww.bluemix.net
Applicationの作成アプリ・コードをアップロード
適切なRuntimeにより、稼動環境を構成
Serviceインスタンス
作成・構成
Applicationの開始
Serviceインスタンス
のバインド
モニタリング
Applicationの作成①
②
③
④
⑤
Application作成:操作
Application作成時のオプション
BuildPackの種類
BuildPackの役割
© 2014 IBM Corporation15
IBM Bluemixwww.bluemix.net
Application作成:操作
IBM Eclipse Tools for Bluemix
ポップアップからRun on Serverを実行、サーバーにIBM Bluemixを選択
LibertyとNode.jsをサポート
*バインドするServiceの選択やオプション設定が可能
cf CLI
push コマンドを実行
指定ディレクトリからアプリ・コードをアップ・ロードしてApplication作成
cf push <オプション> <Application名>
Runtimes
Boilerplates(Runtime+Service)
Bluemix UI
カタログ画面のRuntimes又はBoilerplatesから選択
サンプル・コードが組み込まれる
アプリ・コードのアップ・ロードは他のUIで行う必要がある
© 2014 IBM Corporation16
IBM Bluemixwww.bluemix.net
Application作成時のcf CLI主要オプション項目名 説明 cf CLI オプション
パス名 アプリ・コードを含むディレクトリ(又はzipファイル)のパス(デフォルトは現行ディレクトリ)
再帰的にサブ・ディレクトリもアップロードされる
-p <path>
BuildPack Runtime環境を作成するためのBuildPackの指定
指定が無い場合、システムBuildPackのDETECTスクリプトを順に実行し、先に0を返したBuildPackを使⽤
-b <URL>
ドメイン Applicationのドメイン名
(指定がない場合は、mybluemix.net)
-d <ドメイン名>
ホスト名 Applicationのホスト名
(指定がない場合、Application名を使⽤)
-n <ホスト名>
開始 Application作成後の開始・非開始 開始しない場合
--no-start
インスタンス数 稼動するインスタンス数 -i <個数>
メモリー量上限 割当てるメモリー量 -m <メモリー量>
ルーター設定 Applicationへのルーティングをルーターに設定するか 設定しない場合:
--no-route
*manifest.ymlファイル(-f オプションで指定)にオプション設定を記述することも可能。設定内容より、コマンドラインの指定が優先される
© 2014 IBM Corporation17
IBM Bluemixwww.bluemix.net
【補足】BuildPackの種類
Bluemixが⽤意している「システムBuildPack」
Cloud Foundryで標準的なBuildPack
GIT上の多数のBuildPackCloud Foundryで使えるBuildPackへのリンク集
https://github.com/cloudfoundry-community/cf-docs-contrib/wiki/Buildpacks
Go
© 2014 IBM Corporation18
IBM Bluemixwww.bluemix.net
BuildPack
【補足】BuildPackの役割
BuildPack
DETECT
ランタイムでアプリ実装が稼動可能か確認
COMPILE
ランタイム環境をセットアップ
RELEASE
ランタイムの実行⽤メタデータの出力
クラウド
コントローラー
Dropletランタイム環境を
パッケージ化したもの
クラウド・コントローラーがBuildPackを使いDroplet(ランタイム環境)を作成
DETECTスクリプトでアプリ実装を順にチェック、対応できるBuildPackを特定(明示的に指定されていない場合)
COMPILEスクリプトでランタイム環境を作成し、Dropletにパッケージ化
(スタート時)RELEASEスクリプトの出力を使ってApplicationを開始
アプリコード
© 2014 IBM Corporation19
IBM Bluemixwww.bluemix.net
BuildPack
【補足】BuildPackの役割
BuildPack
DETECT
ランタイムでアプリ実装が稼動可能か確認
COMPILE
ランタイム環境をセットアップ
RELEASE
ランタイムの実行⽤メタデータの出力
Bluemix
Dropletランタイム環境を
パッケージ化したもの
BuildPackにより、Droplet(ランタイム環境)を作成
DETECTスクリプトでアプリ実装を順にチェック、対応できるBuildPackを特定(明示的に指定されていない場合)
COMPILEスクリプトでランタイム環境を作成し、Dropletにパッケージ化
(スタート時)RELEASEスクリプトの出力を使ってApplicationを開始
アプリコード
© 2014 IBM Corporation20
IBM Bluemixwww.bluemix.net
Serviceインスタンスの作成・構成
© 2014 IBM Corporation21
IBM Bluemixwww.bluemix.net
Serviceインスタンスの作成・構成
Applicationの作成
Serviceインスタンス
作成・構成
Applicationの開始
Serviceインスタンス
のバインド
モニタリング
①
②
③
④
⑤
利⽤するServiceのインスタンスを作成
必要な構成・設定を実施
Serviceインスタンス作成:操作
Serviceインスタンス作成: Bluemix UIの場合
Serviceインスタンスの構成・設定
© 2014 IBM Corporation22
IBM Bluemixwww.bluemix.net
Serviceインスタンスの作成:操作Servicesから選択
Web &App
MobileBig
DataData Mgmt
Security IoTBA
Bluemix UI
CATALOGから対象Serviceを選択
Boilerplatesでは、組み込まれたServiceのインスタンスが作成される
Boilerplates(Runtime+Service)
cf CLI
create-service コマンドを実行
cf create-service <Service名> <プラン> <インスタンス名>
*Serviceの名前とプランはmarketplaceコマンドで確認可能
IBM Eclipse Tools for Bluemix
「IBM Bluemix」の設定画面「Applications and Services」タブ内「Services」のリストに追加
© 2014 IBM Corporation23
IBM Bluemixwww.bluemix.net
Serviceインスタンス作成: Bluemix UIの場合
プラン、インスタンス名、(オプションでバインド先Application名)を入力して「Create」
作成したServiceインスタンスは、DASHBOARDのServices欄に表示
プランのリスト・価格情報
CATALOG
© 2014 IBM Corporation24
IBM Bluemixwww.bluemix.net
Serviceインスタンスの構成・設定
SQL Databaseの例
幾つかのServiceでは、Bluemix UI上で構成・設定画面を提供
DASHBOARDのServiceインスタンスのアイコンが入り口
DASHBOARD
© 2014 IBM Corporation25
IBM Bluemixwww.bluemix.net
Serviceインスタンスのバインド
© 2014 IBM Corporation26
IBM Bluemixwww.bluemix.net
Serviceインスタンスのバインド
Applicationの作成
Serviceインスタンス
作成・構成
Applicationの開始
Serviceインスタンス
のバインド
モニタリング
①
②
③
④
⑤
ServiceインスタンスをApplicationにバインド
インスタンスの情報を稼働環境に取り込む
Serviceインスタンスのバインド:操作
Serviceインスタンスのバインド:VCAP_SERVICES変数
© 2014 IBM Corporation27
IBM Bluemixwww.bluemix.net
Serviceインスタンスのバインド:操作
cf CLI
bind-service コマンドを実行
cf bind-service <Application名> <Serviceインスタンス名>
Dashboardから「BINDA A SERVICE」を実行する場合
ダイアログのリストから、Serviceインスタンスを選択
Bluemix UI
DASHBOARDのApplication -Overviewから「BIND A SERVICE」を実行
Serviceインスタンス作成時にApplicationを選択してバインド
Boilerplates使⽤時には、バインドも行われる
IBM Eclipse Tools for Bluemix
「Applications and Services」タブ内「Services]→「Application Services」にドラッグ&ドロップ
新規Application作成時にバインド Services
ApplicationServices
ドラッグ&ドロップ
© 2014 IBM Corporation28
IBM Bluemixwww.bluemix.net
Serviceインスタンスのバインド:VCAP_SERVICES変数環境変数VCAP_SERVICESにServiceにアクセスするための情報が設定される
DASHBOARDで、Applicationのランタイム画面のEnvironment Variablesで内容表示
アプリ・コードはVCAP_SERVICE変数を参照しServiceインスタンスにアクセス
稼動しているApplicationでは、反映するためにバインド後に再起動が必要
• サーバー・ホストのIPアドレス
•TCPポート番号
•DB名
•ユーザーIDとパスワード
•JDBC URL
•URL
例)SQL Databaseの場合
© 2014 IBM Corporation29
IBM Bluemixwww.bluemix.net
Applicationの開始
© 2014 IBM Corporation30
IBM Bluemixwww.bluemix.net
Applicationの開始
Applicationの作成
Serviceインスタンス
作成・構成
Applicationの開始
Serviceのバインド
モニタリング
①
②
③
④
⑤
稼動環境のランタイム稼動開始
指定した個数のインスタンスが稼動
Applicationの開始:操作
© 2014 IBM Corporation31
IBM Bluemixwww.bluemix.net
Applicationの開始:操作
cf CLI
start コマンドを実行
cf start <Application名>
IBM Eclipse Tools for Bluemix
Server View中のApplicationを選択し、ブルダウンメニューから「Start」
Applications and Services」タブで対象Applicationを選び「Start」
Servers ViewIBM Eclipse Tools for Bluemix
DASHBOARD(トップ)Bluemix UI
DASHBOARDトップ画面のApplicationのアイコンのプルダウンメニュー
DASHBOARDのApplication画面Overviewの「Start」ボタン
DASHBOARD(Application)
Bluemix UI
© 2014 IBM Corporation32
IBM Bluemixwww.bluemix.net
モニタリング
© 2014 IBM Corporation33
IBM Bluemixwww.bluemix.net
モニタリング
Applicationの作成
Serviceインスタンス
作成・構成
Applicationの開始
Serviceインスタンス
のバインド
モニタリング
①
②
③
④
⑤各インスタンスの稼動状況の表示
CPUやメモリー等の資源消費状況を表示
モニタリング:操作
DASHBOARD:トップ画面
DASHBOARD:Application画面
Monitoring and Analyticsアドオン
© 2014 IBM Corporation34
IBM Bluemixwww.bluemix.net
モニタリング: 操作Dashboardによるモニタ
Monitor and Analytics アドオン
LibertyとNode.jsに適⽤可能
過去の稼働状況、資源状況をグラフィカルに表示
トップ画面 – 全体
個々のApplication
個々のインスタンス
Bluemix UI
DASHBOARD
トップ画面
Application画面
Monitor and Analytics add-on
過去の稼動状況・資源状況
IBM Eclipse Tools for Bluemix
「Applications and Services」タブで対象Applicationを選べば、各インスタンスの稼動状況や、リソース状況を表示
*表示の更新は手動で行う必要がある
cf CLI
apps :全Applicationの稼動概況
app : 特定Applicationの稼動状況・資源状況
cf apps
cf app <Application名>
© 2014 IBM Corporation35
IBM Bluemixwww.bluemix.net
全Applicationの概況とシステム資源の状況を表示
DASHBOARD(トップ画面)
メモリー状況
アプリ稼動状況
緑丸:良好
赤丸:不良
Service
インスタンス数
Applicationの稼動状況
Running
Stopping
Not running
© 2014 IBM Corporation36
IBM Bluemixwww.bluemix.net
DASHBOARD:Application画面(Overview)
インスタンス数 割当メモリー量 使用可能メモリー量
稼働状況
Applicationの状況と資源の割当状況などを表示
© 2014 IBM Corporation37
IBM Bluemixwww.bluemix.net
DASHBOARD:Application画面(ランタイム)
使用メモリー量CPU使用率 DISK使用量
Applicationインスタンスの状況と資源使⽤状況などを表示
メニューからランタイム名を選択
© 2014 IBM Corporation38
IBM Bluemixwww.bluemix.net
DASHBOARD:Application画面(Files and Logs)
Bluemixのコンテナでは、ファイル・システムは稼働中にしか存在しないため、Files and Logsは稼働中にしか表示されない
ファイル・システムを参照し、ログ出力などのファイルの内容を表示可能
• 当資料作成後に表示されるファイル構成等が変更されました。現在、標準出力・標準エラー出力は表示されません。
ログについては、収集・ストアの仕組みを別途検討する必要があります。
© 2014 IBM Corporation39
IBM Bluemixwww.bluemix.net
Monitoring and Analyticsアドオン
最近の稼動状況や資源状況をグラフィカルに表示することを可能にする
LibertyとNode.jsで稼動するApplicationが対象
アドオンの接続:
ApplicationのOverviewの「CONNECT AN ADD-ON」をクリックし、Monitoring and Analyticsを選択
© 2014 IBM Corporation40
IBM Bluemixwww.bluemix.net
Monitoring and Analyticsアドオン:表示例
Liberty Profileの場合の表示例
過去の稼動状況 資源消費状況
© 2014 IBM Corporation41
IBM Bluemixwww.bluemix.net
Java EEアプリケーションのLibertyでの稼動
© 2014 IBM Corporation42
IBM Bluemixwww.bluemix.net
サーバー設定の自動構成機能ランタイム環境作成時、バインドされた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にアクセス可能
© 2014 IBM Corporation43
IBM Bluemixwww.bluemix.net
デモ
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アプリケーションを想定
IBM Eclipse Tools for Bluemix
Bluemix UI
アプリ画面
デモ①
デモ②
デモ③
MySampleDB
インスタンス名
アプリコード
テーブル定義
© 2014 IBM Corporation44
IBM Bluemixwww.bluemix.net
【追記①】コラボレーションの仕組み
© 2014 IBM Corporation45
IBM Bluemixwww.bluemix.net
<Organization> WebSphere Tech Sales
コラボレーションの仕組み:OrganizationとSpace
Developer
ユーザーA
ManagerユーザーB
Developer
ユーザーC
ユーザーD
<Space>: dev
App2 Svc1App1
<Space>: production
App6 Svc3App5
Spaceは共有の単位
作成したApplicationやServiceインスタンスはSpaceに属する
ユーザーは権限(Role)に応じてSpace内のApplication等にアクセス
OrganizationはSpace及びユーザーの所属先
ユーザーは複数のOrganizationに所属可能
App4 Svc2
App3
<Space>: test
App4 Svc2App3
© 2014 IBM Corporation46
IBM Bluemixwww.bluemix.net
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のみ)
© 2014 IBM Corporation47
IBM Bluemixwww.bluemix.net
Manage Organization画面
OrganizationSpace
ユーザー Role
Nishikori
© 2014 IBM Corporation48
IBM Bluemixwww.bluemix.net
ユーザーの招待招待するユーザーの氏名、メール・アドレスを追加
Space毎に
招待するアカウントの権限を指定
※招待メールや招待承認の処理は飛ばない
© 2014 IBM Corporation49
IBM Bluemixwww.bluemix.net
ユーザーの権限(Roles)
Organizationに対するRole
Spaceに対するRole
Organization Manager Billing Manager Organization Auditor
Organization内のSpaceの作成と削除
ユーザーの招待と管理
ドメインの管理
Organization内ランタイムとServiceの使⽤状況の参照
Organization内ApplicationとService内容の確認
Manager Developer Auditor
Spaceへのユーザーの
招待と管理
Space内での各種機能
の有効化/無効化
Space内でのApplication/Serviceの作成、削除、管理
Space内のログへのアクセス
Space内の全情報(Application、Service、設定、レポート、ログ)への参照のみ権限
© 2014 IBM Corporation50
IBM Bluemixwww.bluemix.net
カスタム・ドメインの管理
各社が管理するドメイン名でサービスを公開Manage Organization画面で利⽤するドメインを追加
Application管理画面より、Routeを追加
各社で管理するDNSで、名前解決のIPアドレスを登録
1. Manage Organization画面 2. Application管理画面
Routeの追加
3. DNS または hostsで名前解決の構成
© 2014 IBM Corporation51
IBM Bluemixwww.bluemix.net
リソース割当て量(Quota)の管理
組織全体でのリソース使⽤状況を確認
© 2014 IBM Corporation52
IBM Bluemixwww.bluemix.net
【追記②】無停止でのアプリケーションの更新
© 2014 IBM Corporation53
IBM Bluemixwww.bluemix.net
アプリケーションの更新
アプリケーションの無停止更新
インターネットへのサービス提供は長期間の安定稼動を求められる
24時間365日のサービス提供には、アプリ・コードの更新による停止も回避することが望ましい
Blue Greenデプロイメント
2系統のシステムを準備して切替えながらアプリ更新を行うことで停止時間を短縮
システム構築の自動化環境により、現実的な解になってきた
ここでは、IBM BluemixにおけるBlue Greenデプロイメントの2つの具体的なやり方を紹介
© 2014 IBM Corporation54
IBM Bluemixwww.bluemix.net
アプリケーション無停止更新
ルーティング・ルール 更新による方法
新規のApplicationを作成し、ルーティング・ルールを更新する(切替後のApplication名が変わっている点に留意)
Blue Green デプロイメント
1 初期バージョンが稼動
cf push blue
2 新バージョンをデプロイ
cf push green
3 新バージョンにルートをマップ
cf map-route green mybluemix.net -n blue
4 旧バージョンへのルートを削除
cf unmap-route blue mybluemix.net -n blue
blueblue.mybluemix.net
blueblue.mybluemix.net
greengreen.mybluemix.net
blueblue.mybluemix.net
greengreen.mybluemix.net
blueblue.mybluemix.net
greengreen.mybluemix.net
© 2014 IBM Corporation55
IBM Bluemixwww.bluemix.net
アプリケーション無停止更新
Application名更新による方法
運⽤上Application名を変更したくない場合は、予め現行のApplication名を変更して対応する
Blue Green デプロイメント
1 初期バージョンが稼動
cf push myapp
2 事前に現行バージョンをリネーム
cf rename myapp myapp-old
3 新バージョンをデプロイ
cf push myapp
4 旧バージョンを削除
cf delete myapp-old -f
myappmyapp.mybluemix.net
myapp-oldmyapp.mybluemix.net
myapp-oldmyapp.mybluemix.net
myapp
myapp.mybluemix.net
myapp
© 2014 IBM Corporation56
IBM Bluemixwww.bluemix.net
まとめ
© 2014 IBM Corporation57
IBM Bluemixwww.bluemix.net
まとめ
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
© 2014 IBM Corporation58
IBM Bluemixwww.bluemix.net
IBM Bluemixwww.bluemix.net
© 2014 IBM Corporation59
IBM Bluemixwww.bluemix.net
(ブランク・ページ)