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

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

研修コース検索

コラム

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

CTC 教育サービス

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

第6回 クラウドの自動化は「Exciting」それとも「Exhausting」? (中井悦司) 2012年10月

はじめに

 先週は、米サンディエゴで開催された「OpenStack Summit San Diego 2012」に参加してきました。OpenStackについては、別の機会に改めてとりあげますが、このイベントでも「クラウドの自動化」に関する話題が登場しました。特に私の印象に残っているのが、米Cisco社のWebExシステム(同社が提供するオンラインミーティングサービス)の「Operations architect」であるReinhardt氏との会話です。
 WebExシステムは、現在、OpenStackによるプライベートクラウド上で稼働しており、OpenStackのコミュニティページでも事例として紹介されています。自動化に関するセッション会場で、偶然、熱心に質問をしているReinhardt氏を見かけたので、運用上の課題について聞いてみました。すると「クラウド上に展開した環境を後から変更する作業が大変で、自動化を使って、サービスに影響を与えずに環境変更を行う方法を模索している」とのことでした。
 ネットワークやサーバ環境を自由に構成できるのがクラウドの特徴の1つですが、稼働中の環境を変更するのは、まだまだ一筋縄では行きません。まさに前回紹介した「継続的デリバリー」を実現する方策が求められているようです。会話の中では、稼働中の仮想マシンを新しい環境にライブマイグレーションで移動するなど、大胆なアイデアも登場して面白かったのですが、最後に私が「Automation will be an exciting field.」と会話を締めくくろうとすると、「It's exhausting, too!」と即答されてしまいました。
 さて今回は、クラウド上でのアプリケーション環境構築(アプリケーション・デプロイ)の自動化を目指すオープンソース、「Aeolus(アイオロス)」の全体像と特徴を紹介します。Reinhardt氏の期待する世界を実現するにはまだまだ至りませんが、まずは、現在の技術を理解していきましょう。

Aeolusの全体像と特徴

 Aeolusの機能を端的に示すと図1のようになります。従来、手作業で行なっていたOSインストールやアプリケーション導入・設定作業を自動化することができます。「システムテンプレート」と「アプリケーションブループリント」の2種類の設計書(XMLファイル)に、自動化する内容を記述して利用します。

fig01

図1 ブループリントによる環境の自動構築

 アプリケーション環境構築の自動化は、最近、特にホットな話題で、同様の機能を実現するツールはその他にもあります。AWS(Amazon Web Services)のプロビジョニング機能「AWS CloudFormation」やVMware社の「vCloud Director」、変わり種としては、仮想マシンではなく物理サーバを自動セットアップする、Dell社の「Crowbar」などがあります。
 これらと比較した際のAeolusの特徴としては、複数のクラウド/仮想化環境への対応があげられます(図2)。共通の設計書を利用して、複数の環境に同一のアプリケーション実行環境を自動構築できますので、例えば、開発・テスト環境と本番環境で使用するクラウド/仮想化環境を使い分けることも可能です。

fig02

図2 複数のクラウド/仮想化環境を透過的に活用

 Aeolusは、現在、Fedora17に同梱されています。実際にAeolusを導入して試してみたい方は、(*1)を参考にしてください。

クラウドAPIの共通化を目指して

 Aeolusでは、複数環境に対応するために「Deltacloud API」を活用しています。これは、さまざまな仮想化製品やパブリッククラウドを共通のAPIで操作することを目指すオープンソース・プロジェクトです。
 仮想化製品やパブリッククラウドでは、一般に、外部のプログラムから環境を操作するためのAPIを提供していますが、その仕様は統一されておらず、管理対象の環境に応じて、個別にプログラムを作成する必要があります。そこで、Deltacloudのプロジェクトでは、さまざまな環境を共通のAPI(Deltacloud API)で操作するためのライブラリ群を提供しています。たとえば、AWS用のライブラリを使用すると、Deltacloud API形式の命令が、自動的にAWSのAPI形式に変換されるというわけです(*2)。
 Deltacloudプロジェクトは2009年の夏にスタートしました。当初は、具体的な活用方法が分かりづらく、あまり大きな話題にはなりませんでしたが、Aeolusによって、ようやくDeltacloudの本格活用が始まりそうです。

次回予告

 本文で紹介したもの以外にも、アプリケーション・デプロイの自動化に利用できるツールはたくさんあります。Linux KVM環境で仮想マシンを作成するvirt-installコマンドと昔ながらのKickStartを組み合わせたり、Puppet、Chefなどの自動構成ツールを活用することも可能です。Aeolusもその内部では、ImageFactoryやOzといった自動化ツールを活用しています。
 次回は、アプリケーション・デプロイ自動化のパターンを整理した上で、Aeolusが採用する変更後「JEOS(Just Enough Operating System)方式」について説明します。

参考資料

*1Aeolus(アイオロス)でRHELonEC2を利用する(その1)
 Fedora17の環境にAeolusを導入して、Amazon EC2のインスタンスを起動できるようにセットアップする手順が紹介されています。

*2Deltacloud drivers
 Deltacloudライブラリが提供される仮想化製品、クラウド環境のリストが掲載されています。

 

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