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

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

研修コース検索

コラム

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

CTC 教育サービス

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

第38回 「クラウドネイティブ・アプリケーション」の実像を見る (中井悦司) 2014年2月

はじめに

 先日、OpenStackの定例イベント「OpenStack Days Tokyo 2014」に参加してきました。今回は、ユーザ事例やベンダーからのソリューション紹介が中心で、技術的に深い内容のセッションが少なかったのが少し残念でした。ただ、その中でも、他のセッションとは異なる視点で面白かったのが、『Real Application Centric Kernelで実現する「クラウドネイティブ」アプリケーション』と題するセッションでした。
 セッション資料はまだ公開されていないようですが、「Real Application Centric Kernel(略称:RACK)」については、CTCのプレスリリース内のコメントに記載があります。そのまま引用すると、次のように記載されています。

------
Real Application Centric Kernelについて
マルチスレッド、マルチプロセスプログラミングモデルをIaaS基盤に適用するための機能を提供。
------

 「プログラミングモデルをIaaS基盤に適用」と言われても何のことだか分からないかも知れません。今回は、この言葉の意味を少し解説してみたいと思います。

オートスケールがビルトインされたアプリケーションをRACKで作成

 実は、RACKの考え方は、以前のコラム『その「クラウドOS」にはpsコマンドがありますか?』で筆者が紹介した内容と関連があります。このコラムでは、「クラウド上の仮想マシンをOS上のプロセスのように操作できたらどうなるだろうか?」―― そんな発想を実現するプロトタイプの使用イメージを紹介しました。
 ここでは、psやexecなどの擬似コマンドで仮想マシンを操作するに留まっていますが、この考え方を発展させると、アプリケーションプログラムでプロセスを操作するかのように、アプリケーションプログラムからクラウド上の仮想マシンを操作することが可能になります。たとえば、WebサーバのHTTPデーモンは、クライアントからのアクセスが増えると、それに応じて子プロセスをフォークして増やします。これと同じように、クラウドの仮想マシン上で何らかの処理をするプログラムが、負荷の増減に応じて、同じ処理をする仮想マシンを自動で増減するわけです。
 負荷に応じて増減するだけであれば、既存のオートスケール機能でも実現できますが、ポイントは、外部のツールで増減させるわけでなく、仮想マシン上のプログラムが自らの判断で自律的に増減する点にあります。既存のソフトウェアを外部のツールで操作するのではなく、ソフトウェアそのものにオートスケールの機能が組み込まれるというわけです。RACKでは、前述のpsやexecなどのように、「仮想マシンをプロセスであるかのように操作する」APIが提供されますので、これらのAPIを利用するプログラムを作成します。ちょうど、Linuxのシステムコールでプロセスをフォークするかのように、RACKのAPIコールで仮想マシンが複製されるという寸法です。
 冒頭に紹介したセッションでは、RACKの活用例として、Hadoopによるバッチ処理を行う仮想マシンをデータ量に応じて必要な数だけ自動起動するデモを行っていました。一言で言うと、RACKとは、「クラウドでの利用を前提とするアプリケーション」、すなわち「クラウドネイティブ・アプリケーション」をより効率的かつ簡単に作成する仕組みというわけです。

次回予告

 ところで、ここまでの説明を読むと、まるで、以前の筆者のコラムがRACKの出現を予言していたかのようではないでしょうか? 種明かしをすると、RACKの開発責任者の方は筆者の知人で、筆者が先のコラムのアイデアをあちこちで話している中で、「じゃあ私が本格的に開発してみよう」と名乗りを上げていただいたというわけです(*1)。今後は、RACKをオープンソースとして公開する予定とも言っていましたので、その暁には、筆者もその出来栄えを体験してみたいと思います。
 さて、今週末は、オープンソースの定例イベント「オープンソースカンファレンス 2014 Tokyo/Spring」で、Heatのライブデモを実施する予定です。次回は、こちらで仕入れたネタをお届けしたいと思います。

参考資料

*1)「クラウドアプリケーションのマルチプロセス・プログラミングモデルを実現するData Center Kernel
  当時、筆者が説明に使っていた資料です。

 

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