IaaS(Infrastructure as a Service)が多様化し、アプリケーションをクラウド上で開発する機会が増えている。「設計・実装」「性能テスト」「オートスケール」など六つの場面を取り上げ、IT現場で明らかになったアンチパターンをその原因とともに紹介する。

 IaaSはサーバー、ネットワーク、ストレージといったITインフラをインターネット経由で提供するサービスである。ユーザーは、IaaS事業者が用意したITインフラを時間課金や月額課金などで必要な量だけ利用する。

 代表的なサービスとしては、米Amazon Web Services(AWS)のAmazon Elastic Compute Cloud(EC2)が知られるが、国内の大手SI事業者やコンピュータメーカーなどもIaaS事業に続々と参入している。

 IaaSでは基本的に、IaaS事業者が構築した仮想環境上にVM(仮想マシン)を作成し、ユーザーがOS、RDBなどのミドルウエア、アプリケーションを導入して利用する。

 最近は、IaaS事業者がOSやRDBソフトウエアを導入済みのVMを提供する場合や、RDBソフトウエアが稼働する共同利用のサーバーを仮想環境とは別にユーザーに提供するRDBサービスを行う場合が増えてきた。いずれもソフトウエアは、IaaS事業者がユーザーに従量課金制で提供する。

 ITエンジニアのメリットは大きい。

 IaaS上でのシステム開発を中心に事業を展開するサーバーワークスの大石良氏(代表取締役)は「インフラが短期間で用意されるため、開発が効率化できる」と語る。

 IaaS上にASPサービスとして眼鏡小売店向けの顧客管理システムを構築したHOYAサービスの関矢聡氏(情報システム事業部 システムソリューション部 ゼネラルマネジャー)は、「システムの運用負荷が下がった」という。

 しかし、IaaS上で稼働するアプリケーションを開発する際は、多くの注意点があることがIT現場で明らかになっている。IaaSではITインフラをできるだけ多くのユーザーが共有することでコスト効率を追求するための制約があるからだ。また、IaaSの機能には適用方法を選ぶものがある。

 以降では「設計・実装」「性能テスト」「オートスケール」「セキュリティ」「クラウド乗り換え」「開発環境」の六つの場面を取り上げ、アンチパターンをその原因とともに解説する(図1)。

図1●IaaSの活用において最近顕著になってきたアンチパターン
インターネット上で、サーバー、ネットワーク、ストレージといったITインフラを提供するIaaS(Infrastructure as a Service)が多様になってきた。一方、IaaS上で稼働するシステムを開発する際には、禁じ手があることが現場の経験から分かってきた
[画像のクリックで拡大表示]

(1)設計・実装
自社構築と同じと考えてはいけない

 IaaSは複数のユーザーが共同で利用するITインフラである。IaaSの構築に適用されている技術は、サーバー仮想化など自社構築システムと同じものだが、特定のユーザーがシステムリソースを専有したり、セキュリティを侵害したりしないようにIaaSごとに細かな制約がある。そのため、設計・実装を自社構築と同じと考えてはいけない。

 IaaS上で稼働するASPサービスを開発したNTTデータスミスの古田充夫氏(情報システム事業部 ITソリューション営業部 開発課 課長代理)は「ITインフラの制約を詳細に調べて、それを回避するようにアプリケーションを設計しないと手戻りが発生する」と指摘する。実際にあった例を紹介しよう。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。