SBC(Server-Based-Computing)とは、クライアントPCで動作していたソフトウェアをアプリケーションサーバに集中し、クライアントPCからの入力に応じてアプリケーションサーバ上で実行した結果をクライアントPCで表示する技術です。(図1参照)
 |
| 図1. SBCモデル |
 |
| 図2. サーバ/クライアントモデル |
SBCのメリットは以下のようになります。
(1) クライアントPCの通信環境に影響を受けにくい
入出力に必要な分の通信速度さえ確保できれば、軽快にアプリケーションを実行できます。通信データ量が多いシステムにおいて効果を発揮します。
(2) サーバでデータの一括管理がしやすい
クライアントPCによる情報漏えいのリスクを軽減できます。
(3) ソフトウェアの一元管理ができます
クライアントPCごとにソフトウェアをインストールする必要がありません。
(4) クライアントPCのスペックを抑えることができます
ある一定水準さえ満たせば、クライアントPCのスペックは低くても高速にソフトウェアを実行できます。使用したことはありませんが、ハードディスクなどの記憶媒体がないSBC専用端末も存在します。SBC端末では、盗難などによる物理的な情報漏えいの心配をする必要がありません。
逆にSBCのデメリットは以下のようになります。
(1) サーバに高いスペックが要求されます
多数のクライアントPCから同時にアクセスされた場合は処理能力が落ちるため、サーバを複数台用意して負荷分散する方法などが用いられます。
MetaFrame(正式名称 MetaFrame Presentation Server)とはCitrix社が提供するSBCを実現するためのソフトウェアです。MetaFrameは以前のソフトウェアの名称で、その後Presentation
Serverを経て、現在はXenAppに名称が変わっています。
MetaFrameの主な機能はアプリケーションの仮想化ですが、そのほかにも負荷分散や接続ユーザの管理などが行なえます。
Citrixのページに機能について詳しくのっていますのでここでは割愛します。
MetaFrameを使用する際に必要なライセンス(Citrix Presentation Server4.0の例)は以下のとおりです。
(1) Presentation Serverのライセンス
・接続ユーザ数で価格が変わります。
・複数台のサーバで負荷分散しても、ライセンス価格に変更はありません。
(2) CAL及びTS-CALのライセンス
MetaFrameはWindows Serverのターミナルサービス機能を利用しています。そのため、CAL(Client Access License:クライアントアクセスライセンス)とTS-CAL(Terminal
Service Client Access License:ターミナルサービス クライアントアクセスライセンス)の購入が必要です。
(3) CAL及びTS-CALのライセンス
私がかかわった案件でのシステム構築の例をご紹介します。
システム要件は以下のとおりです。
・主目的はアプリケーションソフトの高速化
・アプリケーションソフトはオラクルデータベースを使用
・接続クライアント数 50ユーザ
今回は以下のようにシステムを構築しています。
 |
| 図3. システム構成 |
| マシン名 |
OS |
役割 |
ソフトウェア |
| データベースサーバ |
Windows Server |
TS-CALライセンスサーバ
ドメインコントローラ DNSサーバ
TS-CAL ライセンスサーバ プリンタサーバ |
|
| プレゼンテーションサーバ1 |
Windows Server |
ターミナルサーバ アプリケーションサーバ
CitrixPresentationServer4.0 |
アプリケーションソフト
データベースクライアント |
| プレゼンテーションサーバ2 |
プレゼンテーションサーバ1と同じ |
プレゼンテーションサーバ1と同じ |
プレゼンテーションサーバ1と同じ |
| プレゼンテーションサーバ3 |
プレゼンテーションサーバ1と同じ |
プレゼンテーションサーバ1と同じ |
プレゼンテーションサーバ1と同じ |
| クライアントPC(50台) |
Windows XP |
CitrixPresentationServer4.0 (クライアント) |
なし |
|
| 表1. サーバ及びクライアントPCの構成 |
構成の要点をまとめますと、以下のようになります。
(1) サーバ側のネットワークは1Gbitの高速ネットワークを使用しています
アプリケーションソフトとデータベースとの通信データ量が多いため、高速ネットワークを使用しています。 逆にクライアントPCとの通信量は多くないため、高速ネットワークは必要ありません。
(2) プレゼンテーションサーバ3台で負荷分散を行なっています
負荷分散はプレゼンテーションサーバの機能で自動的に行なわれます。
なんらかの原因でプレゼンテーションサーバがダウンしても、最低1台稼動していれば業務を継続できます。
(3) オラクルデータベースサーバに機能を集約しています
TS-CALのライセンスサーバをデータベースサーバに入れています。このため、プレゼンテーションサーバの起動前にデータベースサーバを起動する必要がありますが、逆にプレゼンテーションサーバの起動順序を意識する必要はありません。
(4) クライアントPCにはMetaFrameのクライアントしかソフトをインストールしていません
今後、アプリケーションソフトの変更やオラクルデータベースクライアントのパッチ修正などがあっても、クライアントPCを変更する必要はありません。
システム構築の主目的はアプリケーションソフトの高速化でしたが、はじめて顧客にシステムを使っていただいたときは高速化したことに驚いていただきました。また、納品後は完成披露会を開いてくださり、高速化にはご満足いただけたと思います。実際、社内試験でMetaFrameを使用しないでアプリケーションソフトを使用したときと比べ、大きく速度改善ができていることが確認できました。また、低スペックのPCからアプリケーションソフトを使用しましたが、高スペックのPCと比べても遜色なく使用できました。
また、システム構築後、顧客からの要望で何度かアプリケーション変更を行なっていますが、サーバに入れてあるアプリケーションソフトだけ入れ替えればよいので、アプリケーションソフトの入替にかかる手間はかなり少なくなりました。
今回は、SBC技術の概要及びMetaFrameを使用したシステム構築例についてご紹介させていただきました。私自身SBCの考え方は知っていましたが、本件でSBC技術のメリットを肌で感じることができ、良い経験をさせていただきました。
SBC技術はまだまだ進化中ですが、本稿が皆様のご参考になれば幸いです。