2017.8.24
 

その14:オープンって何?-5

皆さん、こんにちは。前回の内容は、SoRアプリケーションはプロプライエタリ・システムに、SoEはオープン・システムに搭載し、そして両者を統合利用するような、言わばITにおけるハイブリッド・カーを目指そう、という話でした。ではIBM i を活かしてどのようなシステムを構築すれば良いのかを考えてみよう、というのが今回のテーマです。

そもそもIBM i はAS/400の名前で1988年に発表された時から、SoR向けシステムとして位置づけられておりました。RPGやCOBOLといった言語を主力とし、これらで記述されたアプリケーション資産を守り、セキュリティを高め、データベース管理者を不要とする、などといった特性はSoRに求められる要件から導き出され実装された機能です。特に、アプリケーション資産を守る、という設計思想を掲げ、それを実現するためのテクノロジーをアーキテクチャーとして組み込んでいるプラットフォームは他に聞きません。長期的に利用されるSoRだからこそ、それを守り継承できる事はIBM i の最大のメリットの一つです。

一方のSoEに関して、IBM i のSoRにおける強みはそのまま当てはめることができません。アプリケーションの性質上、ビジネス環境の変化やテクノロジー進化に対応してゆく必要があるので、その利用はどうしても短期的になります。長期的・安定的に活用できる事よりも、新しいタイプのアプリケーションを柔軟・迅速に導入できる事の方が重要です。この部分は他のサーバー、例えばWindowsやLinuxなどの得意分野でもあるので、SoEはこれらに委ねようというのもごく自然な成り行きです。

SoEのためにWindowsやLinuxを採用するのだから、ついでにSoRもそこに統合しよう、という発想も生まれてきますが、今一度立ち止まって考えていただきたいところです。プラットフォームの統合化というメリットを得られる反面、その代償として失われるのは長期性や安定性が重視される、IBM i がSoRにおいて強みとしている特性です。すなわちアプリケーション資産が保護されず、セキュリティ・リスクが高まり、運用の負荷が大きくなります。これに対処するにはより大きなリスクを許容するか、さもなければ人手を投入してまかなうしか選択肢がありません。これは人件費の発生を意味するのですが、明確に請求書が突きつけられるわけではないので、残念ながらユーザーの中にはコスト意識を持たないケースもあるようです。ただITシステムに関わるTCO(Total Cost of Ownership: 総所有コスト)分析結果を見ると、その最も大きな割合を占めるのはたいてい人件費です。コスト削減の早道は人件費の見直しである、ということは憶えておいていただきたいと思います。

さてSoRはIBM i、SoEはオープン系システム、という異なるサーバーの組み合わせは適材適所と言えるわけですが、複数マシンを運用するのは煩わしいので、何とかしたいところです。これを軽減する対策の一つはハードウェアの統合です。パワーシステム向けの仮想化機能、すなわちPowerVMを利用して単一の物理マシン上に複数の仮想マシン環境を構築し、IBM i に加えて、例えばAIXやLinux区画を構成するわけです。ただこれでもソフトウェアの観点から見ると、複数のマシンが稼動しているのと同じですので、さらにこの部分の運用負荷も軽減できないかという発想が出てきたとしても不思議ではありません。どうせならソフトウェア・レベルでも統合して、実質的マシンを1台にしたいところです。

さてIBM i のお客様がこのシステムを高く評価するメリットの一つに、人手をかけずに運用できる事、というものがあります。特にディスクとメイン・メモリ空間とを区別することなく連続した仮想アドレス空間と認識し管理する、単一レベル記憶は日々のディスク運用の負荷を大きく軽減するのに役立っています。データベース管理者不要のシステムとされるのは、このテクノロジーの効果によるものです。ここでアプリケーションであるSoEを、基盤である単一レベル記憶の上に収容することができれば、他のサーバーには成し得ない運用性を実現できるはずです。

IBM i の標準機能となっているPASE(Portable Application Solutions Environment)は、まさにこの考え方を具現化したものであり、IBM i に統合された、運用性に優れたSoE 環境なのです。ここではAIXバイナリ、すなわちコンパイル済みAIXアプリケーションに留まらず、Javaに加えて、PHP、Ruby、Python、Node.js、Perlといった各種のオープンソース言語も稼動します。すなわち現在のIBM i は、AS/400以来のSoRアプリケーション環境と、比較的新しい(と言っても20年近い歴史があるのですが)PASEによるSoEアプリケーション環境とを同時に実現しているわけです。

IBM i コラム挿絵1

Java8であれ、Python3であれ、PASE上に実装される言語仕様は他のサーバーと変わるところはありません。PASEのユニークな点は、単一レベル記憶上にあるのでIBM i の伝統的な運用性の高さはそのまま維持される事と、RPG、COBOLやDB2など旧来のSoR環境と連携するためのツールが、IBMによって用意されている事です。オープンソース言語だからと言っても、企業として開発し利用するためのプログラムですので、PASEの中だけで完結することはなく。何らかの形でSoRと連携する必要があります。例えばPythonからDB2にアクセスするとか、Node.jsがRPGプログラムを起動しその結果を受け取る、などといった利用法が考えられます。これもAS/400の時代から継承されている、設計思想の一つ「オールインワン」なのです。

最後に「オープンって何?」のシリーズを締め括るにあたってまとめておきましょう。

アプリケーションにはSoRとその後に登場したSoEとがあります。かつてのIBM i はSoRの理想を追求することで導き出されたいくつかの要件、例えばアプリケーション資産継承、高いセキュリティ、容易な運用性、などを実現したシステムでした。一方で、いわゆるオープン系サーバーが持つ性格は、その手軽さからSoEにおいて広く利用されるようになりました。そしてSoRとSoEの要件は異なるので、これらを単一環境上にではなく、それぞれに適した環境に実装する、ハイブリッドな考え方が求められるようになっています。SoEの実装方法はいくつかありますが、IBM i のPASEを活用すれば、オープン性を維持しながらも、高い運用性とシステム全体としての統合性が実現できます。PASEはIBM i のオープン性を実現する上で、極めて重要な役割を担っているのです。

次回はこれまでの視点を少し変えて、RPG言語などIBM i のアプリケーション開発に関わるテクノロジーについて述べる予定です。ではまた。

ページトップ

ボタン