2015年10月26日、大阪市のハービスHALLで開催された「ITインフラSummit 2015大阪~安・速・快のシステム基盤を創る~」の講演の中から、運用基盤に関わる3本の概要を報告する。

 特別講演には『日経SYSTEMS』の島津忠承記者が登壇。先進ユーザーへの取材で得られたノウハウを紹介した。ソリューション講演では、ITサービス管理ツール専業のServiceNow Japanと、電力管理ソリューションを提供するシュナイダーエレクトリックがそれぞれ、自社のソリューションを紹介した。

特別講演:日経SYSTEMS
安易にリソースを追加せず、処理を減らす工夫でクラウドの性能を確保せよ

日経SYSTEMS 記者 島津 忠承
日経SYSTEMS 記者 島津 忠承

 特別講演には、現場のシステム構築ノウハウを取材している『日経SYSTEMS』の島津忠承記者が登壇した。先進ユーザーへの取材で得られたノウハウとして、サーバーを増強せずにクラウドの性能問題を解決する工夫について解説した。

 「クラウドでは性能が期待通りに出ないことがある」と島津氏。例えば、オンプレミスのCRMシステムをクラウドに移行したところ、オンプレミスよりも性能が出なかった事例があるという。このようなケースでは大きく2つの解決策がある。そのうち、ITリソースを増強する方法は安易だが、余計なコストを生む。この事例では、リソースを増やすことなく解決したという。

 島津氏によれば、クラウドの性能問題の発生箇所は大きく3カ所ある。(1)Webアプリケーションサーバー自身、(2)バックエンドのDBMS/ストレージへのアクセス部分、(3)オンプレミスとパブリッククラウドをつなぐアクセス回線(WAN)、である。それぞれについて、性能の解決策がある。

サーバーを増強することなく、アクセスを振り分けて解決

 (1)のWebアプリケーションサーバーがボトルネックになるケースでは、動的コンテンツや静的コンテンツなど、コンテンツの種類に応じてWebサーバーを分割するやり方が有効という。ある事例では、静的コンテンツをAmazon S3ストレージから配信するように再設計したところ、仮想サーバーをスケールアウトするころなく性能を確保できた。

 別の事例では、IoTデバイスからWebアプリケーションサーバーに送られたデータを加工してストレージに保管するという処理で、データの加工処理に負荷がかかっていた。解決策として、Webアプリケーションサーバーとストレージの間に、メッセージキューサービスと、加工専用のサーバーを用意した。データ収集用のサーバーと加工用のサーバーを分離し、これらの間をキューエンジンで連携させた形である。

 AWS(Amazon Web Services)などのクラウドベンダーが標準で用意しているサービスを利用すれば、ユーザー自身が仮想サーバー上でミドルウエアを動作させたり、仮想サーバーをスケールアウトしたりする必要がない。モバイル向けの画像共有サービスの事例では、認証サーバー(Amazon Cognito)、コードの実行サーバー(AWS LambdaとNode.js)、プッシュ通知サーバー(Amazon SNS)など、すべてAWSのサービスを利用した。

DB/ストレージとネットワークには、データの一括送信が有効

 (2)のDBMS/ストレージ周りのボトルネックも工夫で解決できるという。ある事例では、ストレージに専用帯域を確保するとともに、データを一括送信することによって解決を図った。サイズの小さなデータを大量に送ると無駄が多いので、SQL文のBULK INSERTでまとめて送るようにした。

 (3)のWANのボトルネックもまた、工夫で解決できる。モバイル向けプッシュ通信サービスの事例では、Keep-Alive機能によってHTTPのコネクションをプーリングして再利用することによって、コネクション確立時のオーバーヘッドを減らした。さらに、データを最大で1000件までまとめて一括送信するようにした。これらの工夫によって、1秒当たり万単位のプッシュ通知ができるようになった。

 講演のまとめとして島津氏は、クラウドが遅いときには、どこがボトルネックなのかを突き止めることが先決、と述べた。この上で、ボトルネックの場所に応じて、それぞれの解決策を講じればよいという。

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

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

この記事に関連する資料