Post on 20-Aug-2015
はじめにはじめにはじめにはじめに
当該資料については、発表者が一人のユーザーとして、IBM
Bluemixについて公開されている関連資料や記事などを基に、学習した知識と体験内容ならびに見解をまとめたものです。
したがいまして当該資料に記載の内容は、日本IBMを含むIBM
社の方針・見解とは無関係であることをご承知おきください。
「「「「IBM Bluemix 七転び八起き」七転び八起き」七転び八起き」七転び八起き」についてについてについてについて
従来のアプリ開発スタイルしか知らない私が、 IBM Bluemix に関する技術知識
を少しずつ学び、体験したことをピックアップしてこの場で情報共有しようと考えました。知識不足や失敗を乗り越え、新しい開発スタイルを身に付けたいと考えております。
みなさまにも何か役立つ気づきがあれば幸いです。
IBM Bluemix についてについてについてについて�様々なアプリケーションの構築運用、実行を可能にするクラウドベースのPaaS環境
�オープン・スタンダードのCloud
Foundryに準拠した実装
�あらかじめテンプレート、ランタイム、サービス、アドオンなどが用意しており豊富な組み合わせで簡単に実行環境を構築可能
�SoftLayer上で稼動
(参考)(参考)(参考)(参考)http://www-01.ibm.com/software/jp/info/bluemix/index.html
(出典) http://www.slideshare.net/ormium/ibm-codename-bluemix-cloudfoundry-paas-development-and-deployment-training-ibm-
innovation-center-zurich
IBM Bluemix on SoftLayer
IBM Bluemix on Cloud Foundry
(出典) http://www.cmswire.com/cms/information-management/ibm-pivotal-partner-place-
websphere-on-open-source-cloud-foundry-021837.php
・・・・IBM Bluemix は、オープンソースは、オープンソースは、オープンソースは、オープンソース PaaS (Platform as a Service) のののの Cloud Foundry をベーをベーをベーをベースとする、スとする、スとする、スとする、IBM のオープン・クラウド・アーキテクチャーの実装のオープン・クラウド・アーキテクチャーの実装のオープン・クラウド・アーキテクチャーの実装のオープン・クラウド・アーキテクチャーの実装
・・・・Cloud Foundry は、ユーザーがクラウド上でアプリケーションを迅速に作成してデプロイは、ユーザーがクラウド上でアプリケーションを迅速に作成してデプロイは、ユーザーがクラウド上でアプリケーションを迅速に作成してデプロイは、ユーザーがクラウド上でアプリケーションを迅速に作成してデプロイできる、オープンソースのできる、オープンソースのできる、オープンソースのできる、オープンソースの PaaS (Platform as a Service)
Cloud Foundry を構成するコンポーネントを構成するコンポーネントを構成するコンポーネントを構成するコンポーネント
ここがコンテナーここがコンテナーここがコンテナーここがコンテナー
Cloud Foundry BOSH (Cloud Foundry Interface)
(出典) http://docs.cloudfoundry.org/concepts/architecture/
IBM Bluemix 稼働環境の選択肢が増えました稼働環境の選択肢が増えました稼働環境の選択肢が増えました稼働環境の選択肢が増えました
コンテナー 仮想マシン
(出典) http://www-01.ibm.com/common/ssi/printableversion.wss?docURL=/common/ssi/rep_ca/3/760/JAJPJP15-0183/index.html
日本 IBM のソフトウェア発表2015 年 2 月 17 日付
コンテナーコンテナーコンテナーコンテナー(IBM Container))))
• コンテナー環境として、コンテナー環境として、コンテナー環境として、コンテナー環境として、Docker((((ver. 1.4以降)をサポート以降)をサポート以降)をサポート以降)をサポート• 稼動および開発のホスト環境を選ばない稼動および開発のホスト環境を選ばない稼動および開発のホスト環境を選ばない稼動および開発のホスト環境を選ばない• リソース負荷が低い、分離されているリソース負荷が低い、分離されているリソース負荷が低い、分離されているリソース負荷が低い、分離されている• Dockerイメージでの移植が容易イメージでの移植が容易イメージでの移植が容易イメージでの移植が容易
• IBM Container Extension により、により、により、により、Cloud FoundryベースベースベースベースのコマンドでのコマンドでのコマンドでのコマンドでBluemix上へ上へ上へ上へDockerイメージを展開イメージを展開イメージを展開イメージを展開
• ローカル環境に以下のインストールが必要ローカル環境に以下のインストールが必要ローカル環境に以下のインストールが必要ローカル環境に以下のインストールが必要• IBM Container Extension
• Cloud Foundry (CFツールツールツールツール)
• Docker (ver.1.4以降)以降)以降)以降)
※※※※IBM Container ExtensionははははLinuxオペレーティングシステオペレーティングシステオペレーティングシステオペレーティングシステムのみサポートムのみサポートムのみサポートムのみサポート
仮想マシン仮想マシン仮想マシン仮想マシン(Openstack VM))))
• 仮想マシン環境として仮想マシン環境として仮想マシン環境として仮想マシン環境としてOpenstack VMをサポートをサポートをサポートをサポート• ロード・バランシング構成の提供(ロード・バランシング構成の提供(ロード・バランシング構成の提供(ロード・バランシング構成の提供(LBaaS))))
• 仮想仮想仮想仮想IPアドレスの利用可能アドレスの利用可能アドレスの利用可能アドレスの利用可能• パブリック・クラウド、プライベート・クラウドが利用可能パブリック・クラウド、プライベート・クラウドが利用可能パブリック・クラウド、プライベート・クラウドが利用可能パブリック・クラウド、プライベート・クラウドが利用可能
• プライベート・クラウドはインスタンス作成前に接続プライベート・クラウドはインスタンス作成前に接続プライベート・クラウドはインスタンス作成前に接続プライベート・クラウドはインスタンス作成前に接続が必要が必要が必要が必要
• ライセンスはもちろん自前ライセンスはもちろん自前ライセンスはもちろん自前ライセンスはもちろん自前• デフォルトイメージが準備されているデフォルトイメージが準備されているデフォルトイメージが準備されているデフォルトイメージが準備されている
• Red Hat Enterprise Linux 6.5、、、、 7.0
• CentOS 6.5、、、、7.0
• Ubuntu Server 12.04 、、、、14.04 LTS
• SUSE Linux Enterprise Server 11 SP3
• Windows Server 2008 R2 SP1 Standard
• Windows Server 2008 R2 SP1
• Enterprise Windows Server 2008 R2 SP1
• Datacenter Windows Server 2012 R2
• Standard Windows Server 2012 R2 Datacenter
つまりどういうことかと言うとつまりどういうことかと言うとつまりどういうことかと言うとつまりどういうことかと言うと仮想マシン仮想マシン仮想マシン仮想マシン
Instant Runtime、、、、コンテナーコンテナーコンテナーコンテナー
コンテナーの場合はここを選択・カスタマイズ可能
稼働環境の違い稼働環境の違い稼働環境の違い稼働環境の違い
• 新しい稼働環境は新しい稼働環境は新しい稼働環境は新しい稼働環境はDockerややややOpenstack VMなどとの移植性を向上させ、などとの移植性を向上させ、などとの移植性を向上させ、などとの移植性を向上させ、 IBM Bluemix
をより導入のしやすくさせた(ように見える)をより導入のしやすくさせた(ように見える)をより導入のしやすくさせた(ように見える)をより導入のしやすくさせた(ように見える)
Instant Runtime コンテナーコンテナーコンテナーコンテナー 仮想マシン仮想マシン仮想マシン仮想マシン
実行環境実行環境実行環境実行環境 Cloud Foundry Docker Openstack VM
カスタマイズ可能カスタマイズ可能カスタマイズ可能カスタマイズ可能 アプリのみ アプリ、稼動環境のDockerイメージ(Runtime、
Middleware、OS etc.)
アプリ、稼動環境のVM
イメージ(Runtime、Middleware、OS etc.)
ライセンス考慮ライセンス考慮ライセンス考慮ライセンス考慮 不要 要 要
移植性移植性移植性移植性 中 高 高
小小小小 ← 稼働環境の柔軟性稼働環境の柔軟性稼働環境の柔軟性稼働環境の柔軟性 → 大大大大
大大大大 ← 開発の簡便性開発の簡便性開発の簡便性開発の簡便性 → 小小小小
開発手順(開発手順(開発手順(開発手順(Instant Runtimeの場合)の場合)の場合)の場合)
ローカル環境ローカル環境ローカル環境ローカル環境 IBM Bluemix 環境環境環境環境
アプリアプリ開発
②ソースのダウンロード
Instant Runtime
(Cloud Foundry))))③デプロイ
ローカル環境ローカル環境ローカル環境ローカル環境 IBM Bluemix 環境環境環境環境
アプリBuild Pack作成作成作成作成
③ソースのダウンロードInstant Runtime
(Cloud Foundry))))
①アプリ作成
④デプロイ
②デプロイ
アプリ開発
Bluemixでアプリ生成でアプリ生成でアプリ生成でアプリ生成
Bluemix以外でアプリ生成以外でアプリ生成以外でアプリ生成以外でアプリ生成
• Bluemix上でアプリ作成するか上でアプリ作成するか上でアプリ作成するか上でアプリ作成するかCloud Foundryベースのアプリをデプロイ可能ベースのアプリをデプロイ可能ベースのアプリをデプロイ可能ベースのアプリをデプロイ可能
①アプリ作成&ビルド
開発手順(コンテナーの場合)開発手順(コンテナーの場合)開発手順(コンテナーの場合)開発手順(コンテナーの場合)
• サンプルイメージか既存のサンプルイメージか既存のサンプルイメージか既存のサンプルイメージか既存のDockerイメージをデプロイ可能イメージをデプロイ可能イメージをデプロイ可能イメージをデプロイ可能
ローカル環境ローカル環境ローカル環境ローカル環境 IBM Bluemix 環境環境環境環境
アプリ
③イメージ登録Docker 実行環境実行環境実行環境実行環境
IBM Containers
Extension
アプリ
アプリ
アプリアプリ
①サンプルダウンロード
②Container
イメージ作成
アプリ開発外部のDockerイメージも利用可能
Private リポジトリリポジトリリポジトリリポジトリ
アプリ④デプロイ
⑤サービスバインド
コマンド実行
開発手順(仮想マシンの場合)開発手順(仮想マシンの場合)開発手順(仮想マシンの場合)開発手順(仮想マシンの場合)
• Bluemix上の仮想マシンイメージか既存の仮想マシンイメージをデプロイ可能上の仮想マシンイメージか既存の仮想マシンイメージをデプロイ可能上の仮想マシンイメージか既存の仮想マシンイメージをデプロイ可能上の仮想マシンイメージか既存の仮想マシンイメージをデプロイ可能
ローカル環境ローカル環境ローカル環境ローカル環境 IBM Bluemix 環境環境環境環境
仮想マシン実行環境仮想マシン実行環境仮想マシン実行環境仮想マシン実行環境
①新規作成
③デプロイ
②インストール
Openstack VM
仮想マシンイメージとしてパッケージ
OS
Middleware
アプリ
仮想マシン仮想マシン仮想マシン仮想マシン実行環境実行環境実行環境実行環境
VMイメージ
OS
既存イメージ
OS
Middleware
アプリ
既存の仮想マシンイメージも利用可能
Middleware
アプリ
アプリ開発
④あるいはイメージごとデプロイ
次回までの宿題次回までの宿題次回までの宿題次回までの宿題
• 仮想マシン– VMでのデフォルトイメージの作成
– VMでのアップロードイメージでの作成
• コンテナー– デフォルトイメージの利用
– 既存Dockerイメージを利用したデプロイ
参考資料参考資料参考資料参考資料
• IBM Bluemix とは?とは?とは?とは?http://www.ibm.com/developerworks/jp/cloud/library/cl-bluemixfoundry/
• IBM's open cloud architecture
https://www.ibm.com/developerworks/cloud/library/cl-open-architecture/
• Bluemix Overview - Bluemix Docs
https://www.ng.bluemix.net/docs/#overview/overview.html#overview