IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

クラウド時代のオープンソース実践活用

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第16回 企業アプリケーションの「アップストア」だって作れます ――「そう、OpenShiftならね。」 (中井悦司) 2013年3月

はじめに

 先日、日本OpenStackユーザ会主催のイベント「OpenStack Day Tokyo/2013」に参加してきました。ユーザ会のイベントとしては、技術者向けの勉強会は何度か行われていたのですが、今回は、企業ユーザ向けのイベントということで、OpenStackのイベントとしては、めずらしく「スーツ率」の高い会場となりました。
 私自身は、イベントの最後に開催された「主催者企画パネルセッション」のパネラーとして参加させていただきました。OpenStack満載のイベントでしたので、もしかしたら、パネルセッション会場の方々も「OpenStackはお腹いっぱい」かも知れないと考えて、OpenStackの話だけにはこだわらず、「企業システムにとってのオープンソースの意義」や「エンジニアにとってのクラウドの活用価値」など、普段から考えていることをお話させていだだきました。各パネラーの当日のスライドが公開されていますので、興味のある方は参照してください。
 さて、今回は、OpenShift Onlineを利用して、ボタンひとつでアプリケーションの実行環境を立ち上げる体験をしてみます。

OpenShiftを構成するサーバ環境

 OpenShift Onlineを利用する前に、まずは、OpenShiftを構成するサーバ環境を説明しておきましょう。OpenShiftの環境を構築するには、次のようなサーバ群が必要となります(図1)。

fig01

図1 OpenShiftを構成するサーバ環境

  • 実行ノード:前回紹介した「ギア」、「カートリッジ」などの実行用コンポーネントが配置されるサーバです。
  • ブローカー:クライアントのリクエストを受け付けて、実行ノードへのギアの配置などを行います。
  • DB/MQサーバ:OpenShift環境のバックエンドとなるDBとメッセージング機能を提供します。(ユーザがカートリッジとして利用するDBではありません。)
  • DNSサーバ:ダイナミックDNSを利用して、ユーザが作成したアプリケーションに個別のURLを割り当てます。
  • 認証サーバ:ユーザ認証用のサーバです。LDAP/Kerberos/Windows ADなどが利用できます。

 OpenShift Onlineでは、これらのサーバ群がインターネット上の仮想マシン環境に配置されており、誰でも利用できるようになっています。前回の例では、「rhc」で始まるコマンドでアプリケーション環境を立ちあげましたが、このコマンドはブローカーのREST APIを利用しています。REST APIの仕様はすべて公開されていますので(*1)、これを利用して、OpenShiftを利用するためのGUIをWebアプリケーションで作成することも可能です。
 そして、OpenShift Onlineでは、そのようなGUIもすでに用意されています。CLIによる利用例は、筆者のBlog記事(*2)を参照していただくことにして、ここでは、OpenShift OnlineのGUIを使用して、WordPress(オープンソースのブログソフトウェア)の環境を立ち上げる例を紹介します。

OpenShift OnlineのGUIを体験

 まずは、OpenShift Onlineのホームページから「SIGN UP」をクリックして、ユーザ登録を行います。ユーザ登録が完了すると、アプリケーションの作成ページ「Create Application」が開きます。ここでは、PHP/Ruby/Python/Javaなどの開発言語や使用するフレームワークを選択するのですが、その中に「Instant App」という、特別なカテゴリーがあります。
 これは、ユーザ自身がアプリケーションを開発するのではなく、事前に用意されたアプリケーション環境を立ちあげて、すぐに利用するためのものです。この中にある「WordPress」を選択すると、図2のような画面が表示されます。

fig02

図2 アプリケーション環境の構成確認画面

 ここで入力する必要があるのは、「Public URL」(このアプリケーションに割り当てるURL)だけですが、その他の項目に、興味深い情報が書かれています。「Gears」と「Cartridges」見ると、「small」サイズのギアで、PHP5.3とMySQLのカートリッジを起動することが分かります。そして、「Source Code」の部分には、GitHubのURLが記載されています。
 前回説明したように、OpenShiftでは、アプリケーション開発者はGitを利用して、ソースコードをギアの中に送り込みます。一方、GitHubは、Gitで管理されるソースコードを公開するためのサービスです。つまり、ここでは、GitHubで公開されているソースコードをそのままギアに送り込むことで、すぐにアプリケーション環境が立ち上がるようになっているわけです。
 この後は画面の下にある「Create Application」ボタンを押せば終わりです。WordPressのソースコードがPHP+MySQLのギアに送り込まれて、指定したURLがDNSに登録されます。このURLにアクセスすると、WordPressの初期設定画面が開くので、後は普通にWordPressを使用して、独自のBlogサイトを立ち上げることができます。

次回予告

 今回は、OpenShift OnlineのGUI(Webコンソール)を利用して、アプリケーション環境を立ち上げる例を紹介しました。GitHubで公開されたアプリケーションをボタンひとつで、インストールして利用することができました。スマートフォンのアプリケーションは、専用のアプリケーションストアからダウンロードして利用しますが、これに近い感覚があります。
 つまり、OpenShiftは、アプリケーション開発環境だけではなく、標準化されたアプリケーション実行環境としても活用できることが分かります。OpenShift環境を前提にアプリケーションを開発・公開しておけば、クラウド上のOpenShift環境やオンプレミスのOpenShift環境など、場所を選ばずに、いつでも好きなアプリケーションを起動して使用することができます。
 これまでにも、事前にアプリケーションを導入・設定した、巨大な仮想マシンイメージを配布して利用する「仮想アプライアンス」という考え方がありました。しかしながら、これには、マシンイメージの作成やメンテナンスに手間がかかるという問題がありました。
 一方、OpenShiftであれば、新しく開発したアプリケーションをそのまま、GitHubで公開するだけです。開発環境と実行環境が一致することで、環境の違いに依存するやっかいなバグの発生を防止することもできます。開発と運用のスムーズな連携など、企業アプリケーションの活用にも役立つ側面があるはずです。
 さて、次回は、「HAクラスタ」について少し書いてみたいと思います。企業アプリケーションにとって、高可用性が大切なのは、クラウドの時代でも変わりはありません。物理サーバを前提とした、昔ながらの「HAクラスタ」の仕組みを復習しながら、クラウドにおける高可用性のあり方について考えてみたいと思います。

参考資料

*1)「OpenShiftユーザマニュアル
「REST API Guide」にREST APIの使用方法が記載されています。

*2)「OpenShiftの内部構造についての覚書 (2)
 Rubyカートリッジを利用して、Ruby on Railsの開発環境をセットアップする手順を紹介しています。

 

++ CTC教育サービスから一言 ++
このコラムでLinuxや周辺技術の技術概要や面白さが理解できたのではないかと思います。興味と面白さを仕事に変えるには、チューニングやトラブルシューティングの方法を実機を使用して多角的に学ぶことが有効であると考えます。CTC教育サービスでは、Linuxに関する実践力を鍛えられるコースを多数提供しています。興味がある方は以下のページもご覧ください。
 CTC教育サービス Linuxのページ
 http://www.school.ctc-g.co.jp/linux/
 

Linux研修トレーニングならCTC教育サービス


 

筆者書籍紹介

Software Design plusシリーズ
「独習Linux専科」サーバ構築/運用/管理
  ――あなたに伝えたい技と知恵と鉄則

本物の基礎を学ぶ!新定番のLinux独習書

中井悦司 著
B5変形判/384ページ
定価3,129円(本体2,980円)
ISBN 978-4-7741-5937-9
詳しくはこちら(出版社WEBサイト)
「独習Linux専科」サーバ構築/運用/管理

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes