Advertisement

More Related Content

Slideshows for you(20)

Similar to 試して学べるクラウド技術! OpenShift(20)

Advertisement

Recently uploaded(20)

Advertisement

試して学べるクラウド技術! OpenShift

  1. オープンクラウド・キャンパス 試して学べるクラウド技術! OpenShift 中井悦司 Twitter @enakai00
  2. 試して学べるクラウド技術! 自己紹介  中井悦司(なかいえつじ) – Twitter @enakai00  日々の仕事 – Senior Solution Architect and Cloud Evangelist at Red Hat K.K. 企業システムでオープンソースの活用を希望される 好評発売中! お客様を全力でご支援させていただきます。  昔とった杵柄 – 素粒子論の研究(超弦理論とか) – 予備校講師(物理担当) – インフラエンジニア(Unix/Linux専門) Open Cloud Campus
  3. 試して学べるクラウド技術! ここでいきなりデモンストレーション 自主規制 Open Cloud Campus
  4. OpenShiftとは?
  5. 試して学べるクラウド技術! OpenShiftとは?  WebアプリケーションのPaaS環境を作るオープンソース – Herokuに似ている気がする? – Ruby / Python / Perl / Java (Tomcat/JBoss) / PHP / Node.jsなど複数言語が 使える • Linuxで動く言語なら自分で追加することも可能 • RoR / Django / Dancerなどのフレームワークも自由に追加可能 – Gitで実行環境にコードを送り込む • 複数名で分散開発して、最終結果をGit Masterに集約して実行環境にデプロイするな どの技が使える – ギア(Gear)という単位で実行環境を提供する • ギアを増やしてオートスケールすることも可能 – Jenkinsとの連携が可能 • JenkinsもOpenShiftの環境で稼働 • Unitテストの実施や過去のビルド結果の管理などが可能 Open Cloud Campus
  6. 試して学べるクラウド技術! OpenShiftの利用方法  クラウドサービスを利用する – Red Hatがクラウドサービス「OpenShift Online」として提供 – 現在(2013/02)は、無償のDeveloper Previewとして提供 – 将来的に有償サービスの提供も計画中  オープンソースで環境を構築する – OpenShiftによるPaaS環境を構築するために必要なソフトウェアは、オープン ソースとして公開されています – コミュニティプロジェクト「OpenShift Origin」で絶賛開発中 • https://openshift.redhat.com/community/open-source  商用ディストリビューションを購入する – 今後、商用サポート付きの製品版「OpenShift Enterprise」が提供されるかも 知れない(予定は未定) – オンプレミスでOpenShiftを利用したいユーザ企業向けのパッケージ Open Cloud Campus
  7. OpenShiftのアーキテクチャ
  8. 試して学べるクラウド技術! Webアプリケーション開発・実行環境の典型構成 Webサーバ ビルドサーバ (ロードバランサ) ④デプロイ アプリケーション サーバ ③コンパイル/ビルド ⑤スケールアウト ②アップロード ①コーディング 開発PC DBサーバ  OpenShiftの場合は、上記の各サーバ機能を「ギア」で提供 • ギアの配置は自動で最適化されるので、ユーザによるギアの管理は不要 • DBサーバなどの特定のサーバ機能は「カートリッジ」というモジュール形 式でギアの内部に配置 Open Cloud Campus
  9. 試して学べるクラウド技術! OpenShiftによるWebアプリケーション開発・実行環境 管理者はアプリケーションの種類 ビルド以降の作業は (JBoss/Ruby/PHPなど)と追加 すべて自動化 するカートリッジを指定するだけ Jenkins カートリッジ HA Proxy カートリッジ Jenkins Client Jenkins Client ギア#1 カートリッジ カートリッジ ③コンパイル/ビルド ギア#4 Git ④デプロイ 実行コード 実行コード リポジトリ Jboss EAP Jboss EAP カートリッジ カートリッジ ⑤スケールアウト ギア#2 ギア#N ②アップロード PostgreSQL カートリッジ ①コーディング 開発者の作業は コーディングと ギア#3 ギアの作成・配置 開発PC アップロードで終了 は自動で最適化 Open Cloud Campus
  10. 試して学べるクラウド技術! 1個のギアによる最小構成例 PostgreSQL PostgreSQL PHPアプリ環境(DB無し) カートリッジ カートリッジ 実行コード 実行コード 実行コード PHP カートリッジ Jboss EWS JBoss EAP カートリッジ カートリッジ Git リポジトリ Git Git リポジトリ リポジトリ ②アップロード Tomcatアプリ環境 JBossアプリ環境 ①コーディング オートスケールが不要な場合は 開発PC 1個のギアで利用可能 Open Cloud Campus
  11. 試して学べるクラウド技術! ここで再びデモンストレーション 自主規制 Open Cloud Campus
  12. 試して学べるクラウド技術! 「俺々OpenShift環境」を構築する際のサーバ構成 アプリケーションURLの 動的生成にDDNSで対応 MongoDBとActiveMQを使用 複数のブローカーで 負荷分散/冗長構成も可能 負荷分散も可能 DNSサーバ ブローカー DB/MQサーバ 認証サーバ 各サーバは LDAP/Kerberos/WinAD 仮想マシンでもOK などが利用可能 ・・・ 実行ノード 実行ノード  ユーザ/管理者の指示をブローカーが受けて、実行ノードにギアを自動で作成/配置 – ギアの複製によるオートスケール機能も提供  複数アプリケーションで実行ノードを共有するマルチテナント構成 – 同一ノードのギアは、SELinuxとcgroupsでセキュリティとリソースの独立性を確保 Open Cloud Campus
  13. 試して学べるクラウド技術! アプリケーションとギア/カートリッジの関係 ギア1(HA Proxyカートリッジ) アプリケーションA ギア2(PHPカートリッジ + Jenkins Client カートリッジ) ユーザA (PHP) ギア3(PostgreSQLカートリッジ) アプリケーションB ギア1(HA Proxyカートリッジ) (Tomcat) ギア2(JBossEWSカートリッジ + Jenkins Client カートリッジ) ギア3(PostgreSQLカートリッジ) アプリケーションZ (Jenkins) ギア1(Jenkinsカートリッジ) ビルド処理を依頼  ユーザが「アプリケーション」を作成すると、必要なギアとカートリッジが自動で作成され ます。 – オートスケールオプションを付ける/付けないで、ギアの構成が変わります。  ユーザがDBなどの追加機能の「カートリッジ」を「アプリケーション」に追加すると、適切 なギアに自動でカートリッジが追加されます。 – 各ギア/カートリッジは1つの「アプリケーション」内で閉じて連携します。原則的に、他のアプリ ケーションと内部的に依存することはありません。つまり、複数のアプリケーションでDBのカート リッジを共有するなどはありません。  Jenkinsアプリケーションだけは特別で、他のアプリケーションの「Jenkins Client」カート リッジから接続されて、複数アプリケーションのビルドに共同利用されます。 – 複数ユーザでアプリケーションを共有することは無いので、複数ユーザでJenkinsを共有することはで きません。 Open Cloud Campus
  14. 参考資料
  15. 試して学べるクラウド技術! 参考資料  OpenShiftの内部構造についての覚書 (1) – OpenShiftの概要とアーキテクチャの説明です。 – http://d.hatena.ne.jp/enakai00/20130104/1357298468  OpenShiftの内部構造についての覚書 (2) – アプリケーションデプロイの仕組みを解説しています。 – http://d.hatena.ne.jp/enakai00/20130105/1357370645  OpenShiftの内部構造についての覚書 (3) – Jenkinsカートリッジを使って、お手軽CI環境を作る話です。 – http://d.hatena.ne.jp/enakai00/20130106/1357387999  Build Your Own PaaS on RHEL 6 – OpenShift Originによる環境構築手順です。 • まだいろいろトラップがありそうですが・・・ – https://openshift.redhat.com/community/wiki/build-your-own  OpenShiftユーザマニュアル – ユーザとしての利用手順です。OpenShift Onlineを使う場合はこれを参照ください。 – https://access.redhat.com/knowledge/docs/OpenShift/ Open Cloud Campus
  16. オープンクラウド・キャンパス みなさんもクラウド技術を 試して学んでください! 中井悦司 Twitter @enakai00
Advertisement