3年間無停止でNTTグループを支えるLinux
国内で最初期にLinux+Webアプリケーションサーバで業務システムの構築を行ったNTTコムウェア。このシステムはNTTグループ全体にも導入され、3年間無停止で稼働し続けている。(編集局)
北浦 訓行
2003/6/10
NTTコムウェア株式会社(以下NTTコムウェア)の人事情報管理システム「PiaWeb for HRMS」(以下PiaWeb)は、Linuxで動作する“箱売り”ではないアプリケーションソフトウェアとしては、最も早い時期に開発されたシステムだ。Linuxが趣味のOSから業務システムに使えるOSへと脱皮しようとしていた時期(2000年)に、いち早くLinuxへ取り組むことを決めたNTTコムウェアに、その狙いを伺った。
LinuxでNTTグループ全体をカバー
PiaWebは、上司が部下の人事考課を行う際に、それを支援するシステムだ。同システムはWebアプリケーションで、ユーザーはWebブラウザを使って自己申告や部下を評価するなどの処理を行う。
|
現時点では、Linuxを使ったPiaWebは2つ稼働している。1つは、開発元であるNTTコムウェア用のシステムで、もう1つはNTTグループ全体(NTTドコモグループは除く)のためのシステムだ。システムの用途が人事考課という“季節もの”であるため、アクセスは特に4月と10月に集中するが、「2000年から3年間、OSレベルでシステムがダウンしたことは1度もありません」(システム本部担当課長 山本達哉氏)という、安定したシステムだ。
NTTコムウェアで使用しているシステムは、思いのほかシンプルである。ハードウェアは、Pentium III 800MHz×2とメモリ1Gbytesを搭載したPC(旧コンパックのProLiant)で、この1台がWebサーバ、アプリケーションサーバ、データベースサーバを兼ねている。OSはRed Hat Linux 6.2で、Oracle 8.1.6とBEAシステムズのWebLogic Server 6.02が動いている。クライアント数(ユーザー数)は約1000。データベースの中身は、NTTコムウェアの社員約1万人のデータで、ピーク時のトランザクション数は200〜300に達する。これだけのシステムが1台で実現できることに、むしろ驚かされる。恐らく無駄のない設計なのだろう。
NTTグループ全体のシステムは、約2万のクライアント数を支える大規模なものだ。こちらのシステムでは、WebサーバとアプリケーションサーバにLinuxを使用している。ハードウェアは、Pentium III 933MHz×2とメモリ1Gbytesを搭載したPC(VA Linux 1221)で、Webサーバとアプリケーションサーバは各10台ずつのクラスタリングで構成されている。データベースサーバはSun Fire 3800+Solarisを使用し、DB2で約20万人のデータを管理している。ピーク時のトランザクション数は5000くらいだという。
図 NTTグループ全体で使用しているシステム構成 |
データベースサーバにSolarisを採用した理由は、2000年当時では大規模システムに対応したディストリビューションが存在せず、ハードウェア面でのサポートもなかったためだ。安定性や実績を考慮すると、Solarisという選択は必然だったといえるだろう。「現在であれば、間違いなくLinuxでいけると思います」(山本氏)という言葉が、それを物語っている。
なぜLinuxなのか?
「『初めにJavaありき』だったのです」(山本氏)。Linuxを採用した理由を尋ねたときに、返ってきたのがこの答えだ。
PiaWebの開発がスタートしたのは、J2EE(Java 2 SDK Enterprise Edition)が出始めた時期で、J2EEの中でも特にEJB(Enterprise JavaBeans)の生産性やパフォーマンスがどれほどのものなのか、興味を持ったのだという。当時リリースされていたアプリケーションサーバの中で、EJBまでをサポートした製品はまだ種類も少なく、WebLogic Serverともう1つの競合製品でベンチマークテストを行った結果やビジネス展開などを考慮して、WebLogic Serverを採用することになった。Linuxのディストリビューションは、WebLogic Serverが米国で実績を持っていた関係で、Red Hat Linuxになった。
Linuxの採用に関しては、「オープンソースに対して、NTTコムウェアは積極的に取り組もうという姿勢を持っていましたし、“LinuxならNTTコムウェア”というブランドイメージを獲得したいというもくろみもありました」(山本氏)という理由で、すんなりと決まった。また、Javaで作るので、ダメなら別のOSに変えればいいという気持ちもあったようだ。ただ、LinuxはOSレベルまではダウンしないという評判に、信頼性が求められる人事管理システムで使用するOSとして大いに期待したそうだ。
コスト面についてはどうだろうか。「コストは、明らかに違います。Linuxを採用すれば、ハードウェアだけでも投資額を抑えることができます。Windows NTと比較すれば大きな差はないかもしれませんが、UNIXと比較するとかなり違ってきます」(山本氏)ということだ。ただ、最終的なOSの選択などは導入する企業に委ねられているため、スケールや予算がLinuxにピッタリでも、内部稟議が通らないという理由でWindows系になることもある。しかし、日本はもちろん世界各国の政府機関でLinuxが採用される事例も出てきているし、Linux自体も成熟してきているので、今後はこのようなことは少なくなる可能性が高いだろう。
開発の苦労
|
2000年当時は、製品間のバージョンの組み合わせが確立していなかったため、手探りの開発が続いた。例えば、glibcのバージョンによってOSとJDKが不整合を起こしたり、Javaが動かなかったりと、いろいろと苦労があったようだ。この点に関しては、動く組み合わせを見付ける試行錯誤が繰り返され、最終的に安定した組み合わせを発見することができた。「もしいま同じシステムを開発するとしたら、当時よりも楽に開発できるでしょう」というのが、開発の現場で苦労したシステム本部人事情報管理プロジェクト 山内孝彦氏の感想だ。
例えば、現在はWebLogic ServerにせよOracleにせよ、情報も開発ツールも充実している。WebLogic Serverには、コンフィグレーションをWebブラウザで行うツールやEJBを生成するツールが付属している。しかし、当時はそのような便利なものはなく、EJBの生成ツールを自作したり、設定ファイルを手で変更したりした。JVMにしても、現在はベンダ独自のものが付属する(編注)など、Linuxを取り巻く環境は格段に良くなっているのだ。
編注:WebLogic Server 8.1Jの場合、JVMとしてJRockit 8.1が付属する。 |
開発プロジェクトは、2000年2月にNTTコムウェアで使用するシステムからスタートし、2000年10月にカットオーバーした。それからNTTグループへの導入が始まり、こちらは2001年10月から稼働を開始した。
稼働後もシステムの改良は続いている。人事考課は人前ではやりにくいため、自宅で作業したり、会議室にこもって行いたいという要望も出てきた。それに対応するために、オフラインで作業できる仕組みが作られた。「Tomcatをカスタマイズして使っています。クライアントレベルでWebサーバを動かせば、オフラインでもオンライン時と同じユーザーインターフェイス(Webブラウザ)で作業ができますから」(山内氏)というように、ここでもオープンソースが活用されている。
Linuxビジネスへの取り組み
業務システムにLinuxを採用する際によくいわれるサポート期間の問題や技術的な支援について、心配はなかったのだろうか。この点に関しては、NTTコムウェアにはLinuxビジネスを展開する専門部隊「Linuxセンタ」があったため、問題はなかったという。
同社のLinuxセンタは、1999年に世界で初めて組織化されたLinux専門の開発部隊で、さまざまなテストやメンテナンス、サポートなどをビジネスとして行っている(NTTコムウェアのLinuxエンジニアがすべてこの部隊に集約されているわけではない)。
NTTコムウェア社内で運用されているPiaWebのOSは、Red Hat Linux 6.2というかなり古いバージョンで、当然レッドハットによるサポートはすでに終了している。しかし、これまでセキュリティホールなどで問題が発生したことも、メンテナンスで苦労した経験もないそうだ。顧客にも、「ディストリビュータによるサポート期間が終了しても、NTTコムウェアが責任を持ってサポートを行うので心配ない」と説明している。ユーザー企業に対して、そこまで明言できるSIerは少ないのではないだろうか。それを支えるのが、約300人いるNTTコムウェアのLinux開発経験者だ。また、同社には「UNIXシステム管理」レベルA以上の技能を持つエンジニアが約3000人いる。レベルA以上であれば、容易にLinuxに対応可能だそうだ。
取材を終えて
恥ずかしながら、この取材をするまで、NTTの通信情報処理部門が分社してできたITソリューション企業であるNTTコムウェアが、ここまでLinuxにコミットしていることを知らなかった。この点については、NTTコムウェアも「Linuxに対する技術力では自信を持っているのだが、それを外部にアピールし切れていないことを意識している」とのことだ。
NTTコムウェアでは、PiaWeb以外にも多くのLinux関連プロジェクトが稼働もしくは開発中だ。稼働しているものとしては、北海道立の学校、研究所、図書館をネットワーク化した「ほっかいどうスクールネット」(VoIPをLinuxベースで構築)や、伊勢丹のオンラインショップ(Linuxクラスタを構築)などがある。また、早稲田大学とLinuxをベースの「私立大学向け大学事務システム」を構築中で、構築後にほかの私立大学にソースを公開する予定だ。Linux導入事例は、静かだが、確実に広がっている。
Linux Square全記事インデックス |
Linux Squareフォーラム Linux導入事例関連記事 |
オープンソースで情報システムを刷新した嘉悦大学 嘉悦大学は情報システムのインフラを、CentOSやOpenLDAP、Sambaといったオープンソースソフトウェアで刷新した |
|
日米大手銀行がLinuxを採用したそれぞれのワケ バンク・オブ・アメリカと三菱東京UFJという日米を代表する大手銀行は、なぜLinuxとその上で動作するオープンソースソフトウェアを導入したのか |
|
特集:謎のOracleトラブルに挑む(前編) わずかな手掛かりから障害を解決した事例をとおして、トラブルシューティングのあり方や技法、困難さが見えてくる |
|
特集:謎のOracleトラブルに挑む(後編) 編で障害再現に成功したが、原因が特定されたわけではない。彼らはどのようにして問題を切り分けていったのだろうか? |
|
3年間無停止でNTTグループを支えるLinux 国内で最初期にLinuxで業務システムを構築したNTTコムウェア。このシステムはNTTグループ全体にも導入され、3年間無停止で稼働し続けている |
|
Linux Squareフォーラム全記事インデックス |
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|