エンタープライズ:ニュース 2002/10/15 22:33:00 更新


現場から見たIAサーバ:UNIXとWindowsを両立させるSFUはコストダウンの救世主か?

マイクロソフトはUNIX環境とWindows環境の相互運用を実現するWindows Services for UNIX 3.0をリリースする。約7カ月でUNIXからWindowsに移行した事例では、ユーザーは、UNIXからWindowsへの移行よりもデータベースのバージョンアップの方が負担が重かったと話していたという。

 マイクロソフトは、「Windows Services for UNIX 3.0が年内にリリースされる」とアナウンスしている。このツールを使うと、UNIX環境とWindows環境の相互運用が実現できるという。Windows Services for UNIX(SFU)はどんなものかを解説してみよう。

 SFUとは、Windows上でUNIXのアプリケーションを稼動させたり、UNIXのネットワークに接続したりできるツール群だ。以下の4つの機能を提供する。

  • TelnetやNFSといった既存のUNIXとWindows間のネットワーク相互運用性
  • UNIXとWindows間のアカウント管理の統合管理機能
  • 既存のUNIXアプリケーションおよびスクリプトのWindowsへの移行コンポーネント
  • 既存のUNIXアプリケーション開発手法を用いたWindows上でのアプリケーション開発環境

 現バージョンのSFU2.0でも、上記の機能はある程度提供されているが、SFU3.0になると、エンタープライズレベルのアプリケーション稼動環境として、「InterixサブシステムによるネイティブなUNIX環境」「クラスタ(MSCSとNLB)対応による信頼性および可用性」が提供されるようになる。

POSIXとSFUの歴史

 Windows上でのUNIXシステムとの共存というテーマは、「POSIX(Portable Operating System Interface for UNIX)」と呼ばれる、IEEEによるUNIXの標準アプリケーションインタフェース仕様の策定にさかのぼる。

 歴史的な経緯から、UNIXをベースとするOSは、System VやBSDなどの系統や、各UNIXベンダーによってさまざまな拡張が施されたため、特定の環境ごとにプログラムインタフェースが異なってしまっている。こうしたプログラムインタフェースの違いに関わらず、移植性の高いUNIXアプリケーションを開発可能にすることを目指して考案されたのがPOSIXである。

 LinuxなどのUNIX系OSだけでなく、Windows NTも当初からPOSIXサポートを行っていた。POSIXサブシステムにおいて、POSIX仕様のプログラムを実行できるようになっている(Windows NTの後継であるWindows 2000でもPOSIXサポートはそのまま引き継がれている)。これは主に、1980年代の中盤から後半にかけて、米国政府機関のコンピュータシステムの導入要件として、このPOSIX準拠であることが策定されたためである。

 このような流れの中、SFU1.0aは1999年にネットワーク相互運用ツールとしてデビューした。2000年のSFU2.0で統合運用ツールとして機能アップし、2002年末のSFU3.0でネイティブなUNIX環境が可能となった。SFU3.0は、POSIX.1とPOSIX.2に対応している。

Windows上のネイティブなUNIX環境とは?

 ところでネイティブなUNIX環境とはなんだろうか?

 Windows上のアプリケーションは、通常Win32サブシステムの上で、Win32 APIを通して実行される。SFU2.0ではWin32サブシステム上で仮想的に動いていた。いわゆる「エミュレーション」である。しかし、UNIXアプリケーションなのだから、本来Win32サブシステム上で動かす必要はない。SFU3.0は直接Windows 2000のカーネル上で動かせるように作られている、つまり「ネイティブ」なのである。

 実はこのInterixサブシステムは、ソフトウエイ・システムズが1998年に商標権を取得し、1999年にマイクロソフトがソフトウエイ・システムズを買収、2000年からMicrosoft Interix2.2として販売をしていたものなのだ。

クラスタ対応とサポート範囲

 SFU3.0のもう1つの目玉である「クラスタ対応」とはどんな機能だろうか? 

 NFSサーバはMSCSにより2重化運用が可能となる。また、アカウントの統合運用をした場合のディレクトリサーバや、NFSゲートウエイサーバは、Windows 2000 NLBにより負荷分散される。アプリケーションサーバやデータベースサーバはもちろん、MSCS(MS Cluster Server)にもNLB(Network Load Balancing)にも対応できる。これならば、大規模な企業システムとして使えそうである。

 さて、気になるSFU3.0のサポート対象となるUNIXバージョンは、Solaris2.6&2.7、hp-ux 10.2&11、AIX4.3.3、RedHat Linux7.0である。Linuxも含まれており選択肢が多い。一方で、バージョンが新し過ぎて移行ビジネスとしてはいささか疑問も感じる。この辺はマイクロソフトが製品版で修正をしてくるかもしれない。

 そのほか、Motif環境などGUIを持つアプリケーションに対しては、インターロップ・システムズ社より、SFUの拡張製品が提供されている。

SFUの導入事例

 さて、実際のSFU導入事例を見てみよう。店舗をもつある小売業では、Oracleを使った個別開発の発注システムをUNIXサーバ6台で運用していたが、同等の運営費で、処理能力の向上とアプリケーションの改善を実現したかった。これに対して、UNIXサーバのアップグレードとWindowsサーバへの移行という異なる2種類の提案が各ベンダーより提出された。

 ここでクローズアップされたのがSFUである。通常、UNIXからUNIXへの移行の方がサーバーマシン調達とOSやDBのチューニングのみで、コストもそこそこでリスク回避もできそうに思える。

 だがこのケースでは、UNIX向けサーバよりずっと安いWindows向けサーバに切り替え、従来のアプリケーションを活かしてSFU上で運用するという決断が下された。同時に、システム統合の視点でサーバを2台に集約し、Oracle 7から8iにアップグレードした。

 結果として、約7カ月でUNIXからWindowsに移行した。ユーザーとしては「UNIXからWindowsへの移行よりもOracleのバージョンアップの方が作業、コストともに負担が重かった」と漏らしていたという。

 このように、コストパフォーマンスのよいWindowsマシンと、サーバ統合によるTCO削減効果を組み合わせると、既存アプリケーションをSFU上で稼動させるというリスクを抱えたとしても、Windowsに移行するコストメリットが十分にでてくるわけだ。

 別の事例として、SFU3.0ベータ版上での評価結果も少しずつ集まり始めている。例えば、12万5000ステップのソースコードを持つUNIX上の開発言語製品を、SFU3.0日本語ベータで移行したところ、コンパイルエラーを消すのに約1日半、機能テストで約5日間ですべて移行作業が終了したという。もしかしたら本当にWindowsは必要なのかどうなのか疑ってしまうほどの親和性、互換性である。

IPF時代のSFU

 2003年には、64ビットのIPF(Itanium Processor Family)のサーバの世界が本格的に始まる(インテルは現在はIA-64でなくIPFと呼んでいる)。ここではUNIX、Windows、Linuxが同じ目線でひしめき合い、競争力のあるOSが生き残ってゆく。いったいどのOSがメジャーになるのであろうか?

 また現在のアプリケーション資産はどこに受け継げばよいのであろうか?

 ITインフラの選択肢に迷った場合、1つのハイブリッドな選択としてWindows+SFUという考え方も頭に入れておきたい。

澤井 俊一氏は、日本ユニシスのESビジネス推進部で同社のハイエンドIAサーバによる企業システムの構築に関わっている。

関連記事
▼特集:UNIX打倒でIAサーバは基幹システムへ
▼Opinion:WindowsとUNIXのごちゃ混ぜ環境に必要なものは?
▼ITガバナンス時代のベスト・オブ・ブリードとは?

関連リンク
▼Windows Services for UNIX バージョン 3.0

[日本ユニシス ESビジネス推進部 澤井 俊一,ITmedia]