クラウド時代のソフトウエア開発

2010年7月14日(水)
金野 諭Mark Maglana(マーク・マグラナ)

開発者の期待

世の中に出回っているクラウド関連製品のほとんどは、ソフトウエア開発者から見れば不完全です。ソフトウエア開発プロセスの短期化という目的に対して、部分的には貢献できるものの、開発担当者がインフラ関連のタスクから完全に解放され、ソフトウエア開発だけに全神経を注げるかというと、改善の余地がまだまだあります。

例えば、テスト環境の複製や本番環境への移行の際に、手作業で1つ1つ確認しながら各種の設定をする必要があります。こうした作業は、手間がかかるだけでなく、ミスを誘発します。

例として、1つのアプリケーション・システムを想定してみます。高可用性が求められており、スケール・アウトやスケール・アップなどが必要な、アクセス数が非常に多いアプリケーションです。このシステムのデプロイメントを実施してみます(図4)。

まず、仮想サーバーに障害が発生した場合に、何らかの手法で自動修復する機能が必要です。例えば、アプリケーション・サーバーは、リクエストに対して、絶えず応えられなければなりません。また、データベース・サーバーには、冗長化されたデータ保全環境が求められます。

このような設定作業は、熟練したインフラ管理者でさえ、簡単なものではありません。開発者やテスト担当者からすると、こうした設定作業は、本来であれば自分が解決すべきものではありません。しかし、対応を求められることが多いのが実情です。

図4: 高可用性を必要とする一般的なWebアプリケーションの環境構成

アプリケーション・サーバーの冗長化(自動修復)

クラウド環境下では、アプリケーション・サーバーの冗長化は、マウス操作だけで実現できます。あらかじめインフラ技術者が初期設定を施しておく必要があるものの、その設定を利用することで、開発者やテスト担当者であっても、容易にインフラを構築できるようになります。

アプリケーション・サーバーを冗長化しておけば、クラウド管理ソフトが障害検知から復旧までを、自動的に実施できるようになります。

具体的には、アプリケーション・サーバーに何らかの障害が発生した場合、監視システムが障害を検知し、クラウド管理システムに通知します。クラウド管理システムは、仮想サーバーをプロビジョニングし、新たにアプリケーション・サーバーを起動し、アプリケーションをデプロイメント(配備)します。

もちろん、アプリケーション・サーバーのほかに、ロード・バランサ(負荷分散装置)、DNSサーバー、監視システムなどの設定も、並行して実施しておく必要があります。

図5: クラウド管理ソフトによるアプリケーション・サーバーの障害復旧

データベース・サーバーの冗長化(自動修復)

データベース・サーバーの自動修復も可能です。クラウド管理システムがプライマリ・データベースの障害を検知し、スタンバイ・データベースをプライマリ・データベースへと自動的に昇格させます。同時に、新規に仮想サーバーを立ち上げ、新規のスタンバイ・データベースをプロビジョニングします。

図6: クラウド管理ソフトによるデータベース・サーバーの障害復旧

バイナリのインストールやパッケージのアップデート、サーバーに関する各種設定などは、自動化することが望ましいです。自動化によってミスが減り、効率が上がるからです。そもそも、有能な人材は、こうしたインフラに関するタスクに時間を削ぐべきではありません。本来の仕事であるアプリケーション構築に集中すべきなのです。

株式会社モーフ・ラボ 代表取締役社長 米国Morphlabs, Inc. 副社長

大学卒業後、システムエンジニアとして、データベースやネットワークなどインフラ設計・構築に携わった後、2年間の米国留学を経て、ベンチャー・キャピタリストに。クラウド黎明期の2006年からクラウド関連の投資や事業支援を行う中、この分野の将来性に魅力を感じ、2010年に株式会社モーフ・ラボを立ち上げる。

著者
Mark Maglana(マーク・マグラナ)
米国Morphlabs, Inc. mCloud担当マネージャ

米国Morphlabs, Inc.では、mCloudシリーズのプロダクト・マネージャとしてその製品開発とサービス企画を担当。時間があるときには、趣味の範囲で、色々なオープンソース・プロジェクトに首を突っ込む日々を過ごす。最近は、小規模な開発チーム向けのアジャイル開発マネージメントツールのRedmine Backlogsプロジェクトなどに携わる。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています