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

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

研修コース検索

コラム

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

CTC 教育サービス

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

第14回 OpenShiftで作る実用的PaaS環境 (中井悦司) 2013年2月

はじめに

 オープンソース界隈では定番のイベントですが、先週末は、「オープンソースカンファレンス2013 Tokyo/Spring」に参加してきました。ちょうどよい機会ということで、「OpenShift」について紹介させていただきました(*1)。
 PaaS環境を構築するインフラ技術に興味のある方、そして、アプリケーション開発者としてPaaSを利用することに興味のある方、それぞれに関心ごとや前提知識が異なるので、なかなか説明が難しいエリアですが、実機デモを交えながら、なるべく全体像が伝わるように解説させていただきました。
 本コラムでも、OpenShiftの実際の「使用感」をお伝えしながら、解説をすすめていきたいと思います。

OpenShiftの生い立ち

 みなさんは、これまでに「OpenShift」の名称を耳にしたことはあるでしょうか? OpenShiftが発表されたのは、意外と古く、2011年5月まで遡ります。OpenShiftの祖先(?)は、Makara社がインターネット上で提供していたPaaSサービスです。2010年の年末にMakara社を買収したRed Hatは、翌年にサービスの名称を「OpenShift」に変更しました。
 ただし、この時点では正式なサービスではなく、リソース制限付きの無償利用枠のみを提供していました。この後、Red Hatは、OpenShiftの機能拡張を続けながら、OpenShiftを構成するソフトウェアをオープンソースとして公開する準備を進めてきました。そして、昨年、ついに「OpenShift Origin」というプロジェクトが立ち上がりました。
 これは、OpenShiftのソースコードをオープンソースとして公開して、コミュニティモデルで開発を継続していくプロジェクトです。将来的には、OpenShift Originをアップストリームとした、有償サポート付きの商用ディストリビューション「OpenShift Enterprise」の提供も計画されています。最終的には、OpenShiftを利用したいユーザには、次の3つの選択肢が用意されることになります。

  1. OpenShift Online
     Red Hatがインターネット上で提供するPaaSサービスを利用します。現在はまだ「Developer Preview」(リソース制限付きの無償利用枠のみの提供)の状態ですが、今後、従量課金の有償版も提供する予定とのことです。
  2. OpenShift Origin
     前述のコミュニティプロジェクトで提供されるオープンソースを利用して、自分でOpenShiftのPaaS環境を構築して利用します。仮想マシン上に構築することもできますので、IaaSクラウドサービスや仮想化ホスティングサービスを利用して構築することも可能です。
  3. OpenShift Enterprise
     Red Hatの商用ディストリビューションを利用して、OpenShiftのPaaS環境を構築します。商用サポートが必要な企業向けの選択肢になります。提供時期などは未定です。
OpenShiftの特徴は?

 OpenShiftによるPaaS環境は、Webアプリケーションの開発・実行環境を提供します。PaaSサービスの中には、独自の開発フレームワークを提供するものもありますが、OpenShiftは、従来から広く使われてきた開発言語や開発フレームワークをそのまま利用できるという特徴があります。
 標準で対応する言語は、Ruby、Python、Perl、Java(Tomcat/JBoss)、PHP、Node.jsなどがあります。Linuxで動く言語なら自分で追加することも可能です。RoR、Django、Dancerなどのフレームワークも自分で追加して利用することが可能です。その他には、次のような特徴があります。

  • Gitで実行環境にコードを送り込む
     Git(ギット)は、さまざまなオープンソースの開発で利用が広がっている、分散型のソースコード・バージョン管理ツールです。ローカルのPCで作成したソースコードをGitの機能を利用して、OpenShiftの実行環境に送り込みます。
     OpenShift環境で利用できるアプリケーションの雛形がインターネット上の「GitHub」で公開されており、これらをGitHubから取得して利用することもできます。
  • ギア(Gear)という単位で実行環境を提供する
     Webアプリケーションの実行環境は、WebサーバやDBサーバなどのさまざまなサーバ機能で構成されます。このようなサーバ機能を「ギア」という単位で提供します。負荷に応じてギアを自動で複製する「オートスケール機能」もあります。
  • Jenkinsとの連携が可能
     Jenkinsは、本コラム第5回で紹介した「継続的インテグレーション」を支援するツールです。OpenShiftの環境上にJenkinsを用意して、開発したコードのUnitテストやビルド履歴の管理などが行えます。
次回予告

 今回は、OpenShiftの概要と特徴を紹介しました。次回からは、実際の利用方法を紹介しながら、併せて、内部のアーキテクチャなども説明していきます。OpenShift Originで独自環境を構築するには、少しばかり手間が掛かりますが、OpenShift Onlineを利用すれば、いつでもすぐに利用を開始できます。
 利用者向けのマニュアルが公開されていますので(*2)、まずは、「Getting Started Guide」に従って、ユーザ登録とクライアントツールのインストールを進めてみてください。

参考資料

*1)「試して学べるクラウド技術! OpenShift
「オープンソースカンファレンス2013 Tokyo/Spring」で発表した資料です。

*2)「OpenShiftユーザマニュアル
 OpenShiftのPaaS環境を利用するユーザ(開発者)向けのマニュアル群です。

 

++ 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