〜オープンソースで実現するPaaS環境〜
レッドハット株式会社
プラットフォームソリューション統括部
RHELソリューションアーキテクト
小島 啓史 <[email protected]>
Ver 1.0 2012.10.23
アジェンダ
●
OpenShiftの概要
●
OpenShiftの利用方法
●OpenShiftの展開
OpenShiftとは?
●
Red Hatが手がけるPaaSです!!
●PaaS = Platform-as-a-Service
Code
Deploy
Enjoy
Save Time and Money
Code your app
ボタン1つで
デプロイ
&
実行
なぜPaaSが必要か?
●IaaS
●クラウドにあるサーバを利用
●以下のものを、全て自前で導
入・維持・管理する必要があり
ます。
–
OS
–
アプリケーションサーバ
–
フレームワーク
–
データベース
–
アプリケーション
–
etc. ...
●SaaS
●クラウドにある、サードパー
ティーのアプリを利用
●利用はとても簡単です。
●しかし、出来ることはアプリ
の機能に制限されます…。
“How do I use this?”
“I’m not sure this
does what I need.”
PaaSの利点
“PaaSテクノロジーは、ビジネスニーズに対するIT組織の
俊敏性・即応性をさらに向上させる”-
Gartner
Now
The Old Days
How to Build an App:
1. Have Idea 2. Get Budget
3. Submit hardware acquisition request 4. Wait
5. Get Hardware
6. Deploy framework/appserver 7. Deploy testing tools
8. Test testing tools 9. Code, test, repeat
10. Configure Prod servers (and buy them if needed) 11. Push to Prod
12. Launch
13. Order more servers to meet demand 14. Wait
15. Deploy new servers etc. ...
How to Build an App:
1. Have Idea
2. Code, test, repeat
3. Launch
OpenShiftの利点
●
簡単・手軽に、何でも好きなものを選択できる環境
●
管理インタフェース: Web Console / IDE plug-in / Command-line
●開発言語: Java / Ruby / Node.js / PHP / Python / Perl / ...
●
DB: PostgreSQL / MongoDB / MySQL
●
フレームワーク: JavaEE6 / Spring / Seam / Rails / Zend ...
●ロックインされない環境
●
オンプレミス、プライベートクラウド、パブリッククラウド
●OSSのエコシステムを最大限活用
●
スケールアウト可能なアプリを
OpenShiftの提供状況
●
Red Hatが2010年11月にMakaraを買収
●
Makaraは、クラウド対応アプリケーションの開発・管理ソリュー
ション事業を提供
●
2011年5月のRed Hat SummitでOpenShiftを発表
●
Makaraの技術がベース
●
開発者プレビュー(Developer Preview)として無償で提供
●
2012年10月現在も同様の提供形態
●
OpenShift Flex、OpenShift Express、と提供する機能ごとに名前
OpenShiftの利用手順の概要
●次の手順により、OpenShiftを利用してアプリケーションを開発できま
す。(最低限必要なものは、
Webブラウザ, ssh, git が使える環境
のみ)
1. Red Hatアカウントの作成
2. OpenShiftのサイトに、上記アカウントを使用してログインし、
アプリケーション実行環境のURLに紐付けるドメイン名を作成
3. Web Consoleを使用して、アプリケーション実行環境を作成
4. アプリケーションのソースコードを、gitを使用して、手順3で作
成した環境に追加すると、自動的にビルド・デプロイが実行
5. アプリケーション実行環境のURLにアクセスし、アプリケーショ
ンの実行結果を確認
OpenShiftの全体像
cartridge(type: php-5.3)
testapp
Cartridge
PostgreSQL-8.4
RHEL6 x64
RHEL6 x64
プログラマー
OpenShift Node
様々な管理機能を提供するホスト。ユーザーのログイン情報、DynDNS、アプリケーショ
ンの状態を管理する。
アプリケーションを実行するのに必要な機能を提供するコンポーネント。
Broker:
Cartridge:
OpenShift Broker
OpenShift
専用のWeb Consoleまたはクライアント
ツールを使用してアクセスできます。
OpenShift利用時のアプリケーション開発のイメージ図
1つまたは複数のカートリッジを実行するためのコンテナ。ギア毎にリソース(メモリ、
ディスク容量)が割り当てられている。
Gear:
アプリケーション実行環境
作成のリクエスト
アプリケーションの
ソースコードをgitで取得
アプリケーションの
修正後のソースコードを
gitでコミット
手順2〜6については、
開発者が意識する必要は
ありません。
アプリケーション実行環境の作成方法
複数のツールを利用し、アプリケーション実行環境を作成できます。
1. Web Consoleを利用
●
OpenShiftのWebサイトのOpenShift Management Consoleを利用
●
作成するアプリケーション実行環境の種類を選択、名前の入力といった簡単な手順
を踏むことで作成できます。
2. CLIを利用
●
OpenShift Client Toolsをローカルホストにインストールして使用します。
–対応OS: RHEL6+, Fedora16+, Mac OS X 10.5+, Windows 2000/XP/
Vista/7, Ubuntu, Debian, OpenSUSE, なと
●
rhcというコマンドを使用して、アプリケーション実行環境の管理(作成、情報の取
得なと)が可能です。
3. IDE plug-in を利用
OpenShift Management Consoleの
クイックスタートガイド (1/4)
●
OpenShift専用のWeb Consoleを使用して、PHPアプリの
実行環境を作成してみます。
OpenShift Management Consoleの
クイックスタートガイド (2/4)
作成するアプリケーション実行環境の
種類を選択し、「select」をクリック
OpenShift Management Consoleの
クイックスタートガイド (3/4)
作成するアプリケーション実行環境の
名前を入力します。この名前はURLの
一部になります。
入力後ここをクリック
OpenShift Management Consoleの
クイックスタートガイド (4/4)
このURLにアクセスすると、
OpenShift
上にデプロイされた
アプリケーションにアクセスできます。
デプロイされたアプリケーションの
ソースコードをgitで取得※する手順です。
アプリケーションのソースコードを変更した後、
gitでその変更をコミット※できます。
CLIを利用したPHPアプリケーションのデプロイ
1. OpenShift Client Toolsのインストール (RHELの例)
$ sudo rhn-channel --add –channel=rhel-x86_64-server-optional-6
$ wget https://openshift.redhat.com/app/repo/openshift.repo
$ sudo mv openshift.repo /etc/yum.repos.d/
$ sudo yum -y install rhc
2. PHPアプリケーション実行環境の作成
$ rhc app create -a testphp -t php-5.3
3. ソースコード編集、gitを使用したデプロイについては、
Web Consoleを利用するときと同様
IDE plug-inを利用 (1/2)
●
JBoss Developer Studio 5.X のOpenShiftプラグインを利用して
IDE plug-inを利用 (2/2)
●
EclipseにJBoss OpenShift Toolsをインストールして、OpenShift
OpenShiftで提供中のカートリッジ一覧
(2012年10月現在)
●
Webカートリッジ
●
JBoss EAP 6.0, JBoss AS 7.1, PHP 5.3, Python 2.6, Perl
5.10, Node.js 0.6, Ruby 1.9.3 and 1.8.7
●
※
上のリストにないものについては、Do-It-Yourself (DIY)というカートリッジ
を利用して、RHEL6上で動作する任意のバイナリファイルを実行できます。
●
Databaseカートリッジ
●
MongoDB 2.0, MySQL 5.1, PostgreSQL 8.4
●
その他のカートリッジ(管理ツール、生産性向上ツールなと)
●
PhpMyAdmin 3.4, RockMongo 1.1, Jenkins Server, Jenkins
Client 1.4, Cron 1.4
OpenShiftでの各種フレームワークの使用例
参考URL: https://openshift.redhat.com/community/developers/get-started
Java, PHP, Perl, Ruby, Python, JavaScript
なと
様々な言語を用いたフレームワークの使用例一覧
が、下記URLのページに記載されています。
これからのOpenShiftの展開
大きく分けて3つの展開を予定しています。
●OpenShift Origin
●OpenShiftのオープンソース化
●OpenShift On-Premise版の提供
●オンプレミスでOpenShift環境を構築する仕組みを提供
●OpenShiftの正式サービス化
OpenShift Origin
●2012年4月発表
●OpenShift環境を構築するソフトウェア郡をオープンソース化し
て開発コミュニティを立ち上げています。
●https://openshift.redhat.com/community/open-source
●LiveCDも提供しているので、ローカルのOpenShift環境を簡単に
構築できます。
●Apache License 2.0
●LiveCD(iso形式)、
Source(GitHub)、SRPMs
OpenShift On-Premise版の提供
●OpenShift Originをベースにした、
エンタープライズ向け製品の提供
●想定用途
●単独サーバでの利用(Offline / Standalone)
●社内開発環境の整備(オンプレミス)
●より柔軟性の高い開発環境構築(ハイブリッド環境対応)
●2013年にリリース予定
Public
Cloud
VMware
RHEV
OpenShiftの正式サービス化
●
Red Hat PaaSとしてオンラインで提供
●
2012年10月時点では、開発者プレビューとして無料版
(FreeShift)のみ提供中
●
有料版(MegaShift, 弊社サポート付)は、2013年にリリース予定
作成できるアプリケーション実行環境の数は、
OpenShift 製品ドキュメント
●