1
OpenShift オープンソースで実現するPaaS環境 レッドハット株式会社 プラットフォームソリューション統括部 RHELソリューションアーキテクト 小島 啓史 <hkojima@redhat.com> Ver 1.0 2012.10.23 2
3 アジェンダ OpenShiftの概要 OpenShiftの利用方法 OpenShiftの展開 OpenShift関連情報 3
4 OpenShiftの概要 4
5 OpenShiftとは Red Hatが手がけるPaaSです PaaS = Platform-as-a-Service Code Code your app Deploy ボタン1つで デプロイ 実行 @クラウド Enjoy Save Time and Money 5
6 なぜPaaSが必要か IaaS クラウドにあるサーバを利用 以下のものを 全て自前で導 入 維持 管理する必要があり ます SaaS OS アプリケーションサーバ フレームワーク データベース アプリケーション etc.... クラウドにある サードパー ティーのアプリを利用 利用はとても簡単です しかし 出来ることはアプリ の機能に制限されます IaaSとSaaSの中間に位置するサービスが必要です How do I use this? I m not sure this does what I need. 6
7 PaaSの利点 Now The Old Days How to Build an App: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Have Idea Get Budget Submit hardware acquisition request Wait Get Hardware Deploy framework/appserver Deploy testing tools Test testing tools Code, test, repeat Configure Prod servers (and buy them if needed) Push to Prod Launch Order more servers to meet demand Wait Deploy new servers etc.... How to Build an App: 1. 2. 3. 4. Have Idea Code, test, repeat Launch Scale PaaSテクノロジーは ビジネスニーズに対するIT組織の 俊敏性 即応性をさらに向上させる Gartner 7
8 OpenShiftの利点 簡単 手軽に 何でも好きなものを選択できる環境 管理インタフェース: Web Console / IDE plug-in / Command-line 開発言語: DB: PostgreSQL / MongoDB / MySQL フレームワーク: JavaEE6 / Spring / Seam / Rails / Zend... Java / Ruby / Node.js / PHP / Python / Perl /... ロックインされない環境 オンプレミス プライベートクラウド パブリッククラウド OSSのエコシステムを最大限活用 スケールアウト可能なアプリを 手軽に作成できる環境 8
9 9
10 OpenShiftの利用方法 10
11 OpenShiftの提供状況 Red Hatが2010年11月にMakaraを買収 2011年5月のRed Hat SummitでOpenShiftを発表 Makaraは クラウド対応アプリケーションの開発 管理ソリュー ション事業を提供 Makaraの技術がベース 開発者プレビュー(Developer Preview)として無償で提供 2012年10月現在も同様の提供形態 OpenShift Flex OpenShift Express と提供する機能ごとに名前 が別れていましたが OpenShiftという名前に統合されました 11
12 OpenShiftの利用手順の概要 次の手順により OpenShiftを利用してアプリケーションを開発できま す (最低限必要なものは Webブラウザ, ssh, git が使える環境のみ) 1. Red Hatアカウントの作成 2. OpenShiftのサイトに 上記アカウントを使用してログインし アプリケーション実行環境のURLに紐付けるドメイン名を作成 3. Web Consoleを使用して アプリケーション実行環境を作成 4. アプリケーションのソースコードを gitを使用して 手順3で作 成した環境に追加すると 自動的にビルド デプロイが実行 5. アプリケーション実行環境のURLにアクセスし アプリケーショ ンの実行結果を確認 12
13 OpenShiftの全体像 複数のCartridgeを組み合わせてWeb アプリケーションをデプロイできます OpenShift専用のWeb Consoleまたはクライアント ツールを使用してアクセスできます OpenShift Broker RHEL6 x64 Cartridge PostgreSQL-8.4 cartridge(type: php-5.3) testapp OpenShift Node RHEL6 x64 プログラマー Broker: 様々な管理機能を提供するホスト ユーザーのログイン情報 DynDNS アプリケーショ ンの状態を管理する Cartridge: アプリケーションを実行するのに必要な機能を提供するコンポーネント 13
14 OpenShift利用時のアプリケーション開発のイメージ図 アプリケーション実行環境 作成のリクエスト アプリケーションの ソースコードをgitで取得 手順2 6については 開発者が意識する必要は ありません アプリケーションの 修正後のソースコードを gitでコミット Gear: 1つまたは複数のカートリッジを実行するためのコンテナ ギア毎にリソース(メモリ ディスク容量)が割り当てられている Node:1つまたは複数のギアの実行環境 14
15 アプリケーション実行環境の作成方法 複数のツールを利用し アプリケーション実行環境を作成できます 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 を利用 JBoss Developer Studio 5.X / Eclipse のプラグインを利用して作成可能 15
16 OpenShift Management Consoleの クイックスタートガイド (1/4) OpenShift専用のWeb Consoleを使用して PHPアプリの 実行環境を作成してみます ここをクリック 16
17 OpenShift Management Consoleの クイックスタートガイド (2/4) 作成するアプリケーション実行環境の 種類を選択し select をクリック 17
18 OpenShift Management Consoleの クイックスタートガイド (3/4) 入力後ここをクリック 作成するアプリケーション実行環境の 名前を入力します この名前はURLの 一部になります 18
19 OpenShift Management Consoleの クイックスタートガイド (4/4) このURLにアクセスすると OpenShift上にデプロイされた アプリケーションにアクセスできます デプロイされたアプリケーションの ソースコードをgitで取得 する手順です アプリケーションのソースコードを変更した後 gitでその変更をコミット できます gitを利用するために sshの公開鍵をアップロードしておく必要があります 19
20 Demo 20
21 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を利用するときと同様 4. 指定されたURLにアクセスし テスト 21
22 IDE plug-inを利用 (1/2) JBoss Developer Studio 5.X のOpenShiftプラグインを利用して OpenShift上にアプリケーション実行環境を作成できます 22
23 IDE plug-inを利用 (2/2) EclipseにJBoss OpenShift Toolsをインストールして OpenShift 上にアプリケーション実行環境を作成できます 参考URL: https://openshift.redhat.com/community/blogs/getting-started-with-openshift-eclipse-integration 23
24 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 参考URL: https://openshift.redhat.com/community/developers/technologies 24
25 OpenShiftでの各種フレームワークの使用例 Java, PHP, Perl, Ruby, Python, JavaScriptなと 様々な言語を用いたフレームワークの使用例一覧 が 下記URLのページに記載されています 参考URL: https://openshift.redhat.com/community/developers/get-started 25
26 OpenShiftの展開 26
27 これからのOpenShiftの展開 大きく分けて3つの展開を予定しています OpenShift Origin OpenShift On-Premise版の提供 OpenShiftのオープンソース化 オンプレミスでOpenShift環境を構築する仕組みを提供 OpenShiftの正式サービス化 Red Hat PaaSとしてオンラインで提供 27
28 OpenShift Origin 2012年4月発表 OpenShift環境を構築するソフトウェア郡をオープンソース化し て開発コミュニティを立ち上げています https://openshift.redhat.com/community/open-source LiveCDも提供しているので ローカルのOpenShift環境を簡単に 構築できます Apache License 2.0 LiveCD(iso形式) Source(GitHub) SRPMs 28
29 OpenShift On-Premise版の提供 OpenShift Originをベースにした エンタープライズ向け製品の提供 想定用途 単独サーバでの利用(Offline / Standalone) 社内開発環境の整備(オンプレミス) より柔軟性の高い開発環境構築(ハイブリッド環境対応) 2013年にリリース予定 Public Cloud CloudForms RHEV VMware 29
30 OpenShiftの正式サービス化 Red Hat PaaSとしてオンラインで提供 2012年10月時点では 開発者プレビューとして無料版 (FreeShift)のみ提供中 有料版(MegaShift, 弊社サポート付)は 2013年にリリース予定 作成できるアプリケーション実行環境の数は 最大3つまでとなります 参考URL: https://openshift.redhat.com/community/developers/pricing 30
31 OpenShift関連情報 31
32 OpenShift 製品ドキュメント OpenShift環境の利用ガイド(現在英語版のみ)を公開 参考URL: https://access.redhat.com/knowledge/docs/openshift/ 32
33 OpenShift Wiki (OpenShift環境の管理者向け) OpenShift環境をカスタマイズするためのTipsを紹介 参考URL: https://openshift.redhat.com/community/wiki/index 33
34 OpenShift Vote on Features OpenShiftで実装をご希望の機能がありましたら とんとん投票 またはリクエストして下さい リソースの使用率やクォータに関する情報を CLIまたはWeb Consoleで確認する機能が 2012年末に実装される予定です 参考URL: https://openshift.redhat.com/community/ideas 34
35 OpenShift Blog OpenShiftの最新動向を紹介 参考URL: https://openshift.redhat.com/community/blogs 35