基本設計の段階で、インフラ担当者は非機能要件を満たすようにインフラの構成を設計する。ポイントは仮想化基盤やパブリッククラウドといった、いまどきの基盤を活用すること。コストを抑えながら可用性を高める機能を使いこなそう。
「仮想化ソフトやパブリッククラウドの機能を積極的に利用して、必要以上に高コストな冗長構成を選択しないようにすべき」。ゼンアーキテクツの岡氏はこう助言する。例えば、Amazon Web Services(AWS)は仮想マシンを再起動すると、異なる物理サーバーで起動する。ハードウエア障害が起こっても再起動するだけで復旧できるわけだ。代替機をあらかじめ確保しておく必要はない。インフラ設計の常識は変化している。
パブリッククラウドの特徴を生かしたインフラを構築しているのがパソナテックだ(図1左)。同社が提供するクラウドソーシングサービス「Job-Hub」は、米Salesforce.comのPaaS「Heroku」を使って構築されている。HerokuはAWSのIaaS「Amazon EC2」上で稼働する。そのため、再起動すると異なる物理サーバーで起動するという特徴は同じだ。
パソナテックの鈴木真志氏(新規事業推進室)は「特定の仮想マシンに障害が疑われる場合は再起動する。再起動は数秒で完了し、ほとんどの障害はこれで復旧できる」と言う。代替機のサーバーを持つ必要がなく、その分のコストが不要になっている。
Heroku内部は、複数の仮想マシンをロードバランサーで負荷分散・冗長化した構成になっている。この効果もあり、「ここ3カ月間の稼働率の実績は99.99%だった。実際に再起動する頻度は高くない」(鈴木氏)。
HerokuはWeb/アプリケーション(AP)サーバーのみに利用し、DBサーバーにはAWSのマネージド型RDBサービス「Amazon RDS」を採用した。RDSはアクティブ・スタンバイ構成でクラスタリングする「Multi-AZ」を選択。Multi-AZ構成のRDSのSLAは99.95%で、Web/APサーバーと同様に高い稼働率を確保した。