ユーザー企業にとってクラウドは、IBMのPureSystemsと同様に、「運用不要」で利用できる"システム"だ。クラウド事業者がユーザー企業に代わって、ハードやソフトを運用している。
クラウドの中には、人手に頼った運用を行っている事業者もあれば、独自のソフトを開発することによって、アプリケーションの性能調整や可用性向上を自律化している事業者もある。ユーザーから見ればどちらもサービスであり、違いはない。例えば、仮想マシンの再起動を人手でやろうが、自動でやろうが、結果は同じだ。
ただし、ソフトを駆使して自動化、自律化を進めたほうが、サービス料金は安価になり、アプリケーションに性能問題などが発生した場合の対応は早くなる。
ソフトによる自律化を実現しているクラウドの代表格が、IaaS(インフラストラクチャー・アズ・ア・サービス)大手の「Amazon Web Services(AWS)」だ。AWSは、運用の自動化や自律化を担うオーケストレーターやコントローラーを自社開発。アプリケーションサーバーのオートスケーリングや、障害復旧を自動化している。日本でも、AWSのやり方にならい、運用の自律化を実現するIaaS事業者が増えてきた。NTTコミュニケーションズやIDCフロンティア、SCSKなどだ。日本のIaaSでもオートスケーリングが実現し始めている。
以下、AWSがどのように運用を自律化しているのかを解説し、続いて他のIaaS事業者がそれをどのように応用しているのかを見ていこう。
ユーザーは閾値を設定するだけ
AWSのオートスケーリングの仕組みは、IBMのPureSystemsに似ている(図7)。AWSでは、PureSystemsにおけるコントローラーに相当するサービス「AWS Elastic Beanstalk」がユーザーに提供されている。Java用の「Tomcat」、PHP用の「Apache HTTP Server」、.NET用の「IIS 7.5」という3種類のアプリケーションサーバーについて、オートスケーリングを行うサービスだ。
AWS Elastic Beanstalkは、ユーザーが設定した閾値に従って、仮想マシンの台数を増やしたり減らしたりする。設定できる閾値は、「アプリケーションサーバーのプロセッサ平均使用率」「サーバーへの秒間リクエスト数」「サーバーから応答が返ってくるまでの平均待ち時間」などであり、一般的なシステムにおけるSLA(サービス・レベル・アグリーメント)に相当する。
オートスケーリングによって自動的に増える仮想マシンの台数には、上限を設定できる。仮想マシンの台数が増えすぎることで、従量課金が際限なく増えるような事態を回避できる。
障害復旧も自律化している。仮想マシンがダウンした場合は、必要なソフトをインストールした仮想マシンが自動的に起動する。