IBM i チーフ アーキテクトのWill氏からIBM i 入門者へのプラットフォームについてのアドバイス
IBMのCTO兼チーフ アーキテクトの肩書を持つSteve Will氏ほどに、IBM i プラットフォームの裏も表も知り尽くしている人はなかなかいないでしょう。そのため、今週、COMMONの「N2i」(New to IBM i : IBM i 入門者)グループからの招待を受けて、IBM i 初心者に向けてWill氏が行った講演は、何か新しい情報を拾い集める絶好の機会となりました。
IBM i 初心者がIBM i について最初に気付くことの1つは、IBM i がいくつかの点で一風変わったプラットフォームだということです。まず、多くのプラットフォームより歴史が長く、その系統は1980年代まで遡ることができます。また、他の多くのプラットフォームとは異なる形で構築されており、このプラットフォームに価値を与えているものの一部は、そうした違いだと言うこともできます。
ミネソタ州ロチェスターのIBMラボでIBM i 開発の陣頭に立つWill氏は、今週、 N2i グループに向けて行ったプレゼンテーションで、Unix、Linux、またはWindowsといった伝統的なカーネルベースのオペレーティング システムとの比較で、IBM i がどのように構成されているかについて詳しく述べています。
「IBM i の決定的な特徴の1つは、未来を見据えた階層化アーキテクチャーである点です」とWill氏は述べています。「IBM i またはその前身システム上でコンパイルしたコードがあり、10年、15年、20年、30年の間、そのコンパイルされたコードを1ビットたりとも変更していなくとも、今日、IBM i が稼働するPower Systems上で、そのコードを引き続き実行することができるでしょう。」
その理由は、IBM i が、ユーザーによって開発されたコードと、ハードウェア上で実行されるコードとの間に位置するマシン インターフェース(MI)を採用しているからです。IBM i ユーザーは、直接ハードウェア上で実行されるコードを書くのではなく、そのMI上で実行されるコードを書きます。後はすべてIBMが処理してくれる、とWill氏は説明します。そのため、ユーザーはハードウェアの変更について気にしなくて済むと彼は述べます。
「たとえば、直接そのハードウェアへコンパイルされるアプリケーション プログラムを書いていて、メモリーの管理方法や、異なるCPU命令セットなど、どのようなことであれ誰かが変更を加えた場合には、プログラムを書き直さなければならなくなるか、あるいは、少なくとも、プログラムをコンパイルし直して、その上で実行されるオペレーティング システムの命令セットへそれを落としこまなければならなくなるでしょう」とWill氏は述べています。「IBM i のオペレーティング システム アーキテクチャーでは、そのオペレーティング システムに手を加えることはできないようになっています。結果として、IBM i の強力なカーネルを完全に保護することができるのです。」
このため、サードパーティが、たとえば新たなストレージ デバイスのドライバーなどを開発することができません。代わりに、IBMがドライバーを開発しなければなりません。そのためにIBM i オペレーティング システムは、開発により費用が掛かり、より複雑になっているとWill氏は認めます。
「iは初めてという人に言いますが、これは単なるベーシックなカーネル オペレーティング システムではありません」とWill氏は述べます。「いじって手を加えることはできませんが、使用しているユーザーは、途方もなく大きな恩恵を受けています。」
数十年にわたって大きな便益をもたらしてきたIBM i のアーキテクチャーのもうひとつの独特な側面は、「単一レベル記憶」です。
IBM i におけるすべてのデータは、ディスクやテープ ドライブに格納されている場合でも、Power Systemボックス上のメイン メモリー内にあるものとして扱われます。データにはメモリー内のアドレスが与えられ、IBMがそのデータにアクセスするためのポインターを提供してくれるとWill氏は述べています。
「単一レベル記憶は、今日利用されている様々な種類のストレージのように様々なものを追加できるという点でも、プラットフォーム上でのデータの使い方を最適化できるという点でも、非常に私たちの役に立ってくれています」とWill氏はN2iウェビナー参加者に述べています。「IBM i 内に統合された組み込みのリレーショナル データベースであるDb2は、プラットフォームのストレージ管理と連携しているため、ストレージを管理する必要がありません。他のプラットフォームで必要とされるようなレベルでデータベースを管理する必要はありません。そして、それほど簡単に扱えるということは(ユーザーがそれらを管理する必要がないので)、オペレーティング システム内は複雑だということになりますが、それによって、たとえばパフォーマンスを適応させるなど、有益なこともあります。」
Db2 for iにデータを格納し、そのデータベースの照会エンジンを使用するワークロードを長い間稼働すればするほど、システムは、そうしたデータをユーザーがどのように使用しているかについてより多く「学習」するとWill氏は述べています。「そして、ストレージやメモリーなどの中であちこちにデータが移動されるため、時間の経過とともに、ますます高速になります」と彼は述べます。「他のオペレーティング システムでは、このようなことは、ストレージ管理ツールやパフォーマンス管理ツールなしで行えることではありません。つまり、それがIBM i の独特なところです。」
そのような組み込みのオートメーション機能が備わっていることも、IBM i のアーキテクチャーのもうひとつの重要な側面だとWill氏は述べています。他の多くのプラットフォームでは、運用、保守、および最適化を行うのに、かなりの人数のオペレーター、システム管理者、ストレージおよびデータベース エキスパートが必要となります。しかし、そうした操作の多くはIBM i が自動で行うため、IBM i のショップは、そうした人員やコンサルタントを雇用しないで済むこともあります。
独特であるもうひとつのIBM i の側面は、どれがデータで、どれが実行可能オブジェクトであるかについて厳密な管理が維持されているという点で、初めからオブジェクト指向となるように設計されていたということです。Will氏が説明したように、このことにより、他の多くのプラットフォームにはない、一定のレベルのセキュリティがIBM i にもたらされます。
「このアーキテクチャーによって、プラットフォームそのもの、およびプラットフォーム上で稼働するすべてのものが、ウイルスやトロイの木馬のようなものから保護されます(もともとIBM i では書き込めませんが)」とWill氏は述べています。「ごくごく大まかに言えば、ウイルスというのは、オペレーティング システムのカーネルに入り込んで、カーネルのみが許されるべきと思われることを実行するコードと言えます。IBM i カーネルに入り込むユーザー プログラムを書く方法はありません。そうするのが難しいということではありません。そうすることはできないのです。」
何者かがどうにかしてIBM i オペレーティング システムに入り込んで数ビットでも変えたとしたら、オペレーティング システムの他の部分が自動的にそれを検出するとWill氏は述べます。「何か問題があることを検出しますが、外部からそのようなことを行うことはあり得ません」と彼は述べています。「そのため、通常は外部からやって来るものと考えられるウイルスは、IBM i に入り込むことはできないのです。」
また、Will氏は、IBM i に関してよく言われる2つの誤った通説についても触れています。たとえば、IBM i は非常に古くからあるものなので、リレーショナル データベースはない、などというものです。今日のIBM i が、その前身であるS/34およびSystem/36によって使用されていた非リレーショナル フォーマットでデータを格納できるというのは本当ですが、事実としては、IBM i におけるワークロードの大部分は、統合されたDb2リレーショナル データベースを利用しているとWill氏は述べています。
「そうしたことは、今でもIBM i で行うことができますが、それは、古い旧式の手法を止めさせようとしていないからです」とWill氏は述べます。「今もなお、非リレーショナル形式でデータを保管していたS/36プログラムに依存しているとした場合、それをリレーショナルに変えるよう強いることはしません。」
もうひとつの誤った通説は、IBM i はオープンソース ソフトウェアを実行することができないというものです。実際のところは、IBM i には、Unix上で稼働できるものならほぼ何でもIBM i が稼働できるようにする、独自のAIXランタイムがあるとWill氏は指摘します。また、見栄えの良くないグリーンスクリーン インターフェースのことでIBM i を悪く言う人もいるかもしれませんが、ユーザーは、そうしたければ、おしゃれな最新式のWebまたはモバイル スクリーンを開発することもできます。
「古いテクノロジーを除去することはめったにありません。なぜなら、そのテクノロジーに依存して業務を行っている顧客がいるからであり、また、それを除去すべき特段の理由がないケースがほとんどだからですとWill氏は説明します。「しかし、そうした投資保護的な姿勢のせいで、IBM i は古いやり方で物事を行うプラットフォームと見られがちです。新しいやり方で行うこともできるのです。そして、おそらく、皆さんの多くは、今どこで仕事をしていようとも、新しいやり方の実現に関わっているということです。」
IBMのIBM i ビジネスは、AS/400の全盛期ほどには大規模ではありませんが、今もなお、なかなか収益性の高いビジネスです。Will氏によれば、IBM i はPowerファミリーでも一番の稼ぎ頭であり、ここ数四半期は堅調な伸びを示しており、10%に迫る四半期もあったということです。IBM i がIBMにとってそれほど収益性の高いビジネスであり続ける理由は、このプラットフォームがその顧客に返している価値にあるとWill氏は述べています。
「95%以上の顧客が、IBM i に対する投資から得られる利益は、彼らの組織が使用しているすべてのテクノロジーの中で一番大きいと述べています」と彼は述べます。「クライアントの大半は、IBM i を彼らのメインフレームだと考えているようです。はるかに低価格ですが、同じくらい信頼性の高いメインフレームということです。彼らのビジネスではWindowsを使用しているかもしれませんし、あるいはLinuxを使用しているかもしれませんが、彼らのビジネスを稼働する中核的なワークロードは、IBM i で稼働しています。」
今日、IBMの経営幹部は、IBM i がもたらす価値を認めているようですが、ずっとそうだったわけではないとWill氏は述べています。しかし、継続的な採算性の高さやIBM i 顧客の高い顧客満足度のおかげで、IBMは今日、このプラットフォームへの投資に満足しているようだと彼は述べます。そのことは、今度はこのプラットフォームの勢いを持続させる助けになるだろうと彼は述べます。
「皮肉っぽく言うのであれば、カルト宗教のようだとでも言えばよいでしょう」とWill氏は述べます。「IBM i から得られる価値は、他のカーネルベースのオペレーティング システムからは得られない価値です。そして、それに依存するようになった人には、その真価が本当に分かるのです。」