※写真:左から海鋒氏、綱氏、浪崎氏、蛸井氏、高橋氏
- 導入ハイライト
-
- ネットワーク運用管理に最適なグラフDBとしてNeo4jを採用
- 2年間障害ゼロの安定性に加え、高速検索、迅速な開発、容易な運用管理に貢献
- クリエーションラインのサポート対応についても高く評価
国内初の本格的商用インターネット接続事業者(ISP)として 1992 年 12 月に創業以降、日本のインターネットのパイオニアとしてイニシアティブをとり続けてきた株式会社インターネットイニシアティブ(以下、IIJ)。現在では、法人顧客向けインターネット接続、クラウド、セキュリティ等の各種ネットワーク・IT サービスから、システム構築や運用管理などのシステムインテグレーションに至るまで、幅広いネットワーク・ソリューションを提供している。直近の業績でも、大口サービスインテグレーション需要増勢、超大型案件の獲得、モバイル案件の増大などを背景に、売上で+5.1%、売上総利益で+10.2%の対前年同期比を実現するなど*1、良好な展開を見せている。同社のサービスシステムを支えるネットワークシステム開発 2 課では、ネットワークの運用管理を支援するグラフ DB として、クリエーションラインが提供する Neo4j を採用。安定運用に加え、高速検索、迅速な開発、さらに容易な運用管理など各種の導入効果を得た。
*1: 2024 年 3 月期上半期(1H23)連結業績説明資料による
Omnibus サービス運用のための情報管理に向けた仕組みを模索
「私達が所属するネットワークサービス 1 部は、インターネット接続サービスの企画や提供を行っています。複数のネットワーク系サービスがありますが、それらのシステムを横断的に開発するのがネットワークシステム開発 2 課の役割です」-ネットワーク本部 ネットワークサービス 1 部 ネットワークシステム開発2課長の海鋒(かいほこ)俊雄氏は、自らの部門の役割についてこう話す。幅広いネットワークサービスを提供する IIJ において、同課はビジネスの根幹を支えるシステムを具現化するという重要な役割を担っている。
同課の開発対象となるシステムは多岐にわたるが、2015 年 9 月に提供を開始した IIJ Omnibus(オムニバス)サービスもこのようなシステムの1つだ。
ネットワーク本部
ネットワークサービス1部
ネットワークシステム開発2課長
海鋒 俊雄 氏
Omnibus では、IIJ が独自開発した NPS(Network Processing System)をゲートウェイとして、インターネット、セキュリティ、WAN など、ネットワーク構成に必要な機能をサービスモジュールとして提供。お客様側は、専用のネットワーク機器を自社で所有することなく、必要なときに必要な機能をアセットレスで利用でき、複雑化するセキュリティ対策やネットワーク運用の負荷とコストを大幅に削減することが可能となる。
一方、Omnibus を含む各種ネットワークのサービスの運用管理については、ネットワークシステム開発課とは別にネットワーク運用を専門とする課が存在する。こちらの課のミッションは、円滑かつ効率的なネットワークサービスの運用管理だが、2020 年には、膨大な量におよぶネットワーク情報の管理を支援するためのデータベースについて検討を行っていた。
ネットワークの情報管理に最適なデータベース基盤としてグラフ DB に着目
ネットワーク本部 ネットワークサービス部 ネットワークシステム開発 2 課 リードエンジニアの髙橋輝(あきら)氏は、当時の状況について「ネットワークの設定や管理を担当するその課では、構成管理や各機器のコンフィグレーションなどを含め、ネットワークのモデル化や情報管理を行う必要がありました。RDB を使うことも可能でしたが、ネットワーク情報をより自然な形で扱うことのできる仕組みを模索する中で浮上してきたのが、点と線によってネットワークをモデル化しそのまま格納することができる“グラフ DB”でした」と話す。グラフ DB は、グラフ理論に基づき構築されたデータベースで、「ノード」「リレーションシップ」「プロパティ」の3要素によって、ノード間の関係性を表現する。ネットワーク状の関係性を持つデータに関する高速な検索や格納を可能にする仕組みであり、まさに “ネットワーク機器やそれらの属性、さらに繋がりを管理する”という用途に合致した仕組みだった。
ネットワーク本部
ネットワークサービス1部
ネットワークシステム開発2課
リードエンジニア
髙橋 輝 氏
「2020 年当時のネットワークシステム開発課の課長もまた、ネットワークの構成情報の管理という用途でグラフ DBを検討していました。情報収集を進める中、具体的なグラフ DB 製品として注目したのが Neo4j(ネオフォージェイ)でした」(海鋒氏)。
圧倒的な実績や豊富な機能を評価し Neo4j の導入を決定
Neo4j は、2000 年設立の Neo4j Inc によって開発された、データプラットフォームとしての世界初のグラフ DB で、2020 年時点でグラフ DB における世界シェア No1 となっており、Fortune 100 企業の中 75%が本製品を導入するなど圧倒的な実績を持つ。性能面では、データベースの規模に関わりなく、1 秒間に数百万単位のコネクションの検索をリアルタイムに実現できる高い処理性能や、ACID 属性を保証によるデータベースとしての保全性の確保、グラフパターンの表記を簡単かつ効率的にするクエリー言語である Cypher の採用、さらに稼働状態のまま、指定時間にデータベースのバックアップを取得できるホットバックアップや高速キャッシュ処理などの機能が搭載されている
(この 2 機能はエンタープライズ版、Neo4j Enterprise Edition で対応)。
これらを評価したネットワークシステム開発課では、まず 2020 年 12 月に Neo4j Community Edition を導入する。「その後、当時のネットワークシステム開発課課長が、Neo4j のユーザー会等で情報取集をする中、クリエーションライン株式会社 代表取締役社長の安田氏と知り合い、Neo4j を取り扱う会社としての存在を知りました。ユーザー会での同社の発表内容や技術面での優位性も評価できたため、リモートでの打ち合わせを経て、2021 年 11 月にはクリエーションラインから Neo4j Enterprise Edition のライセンスを購入し、Omnibus サービスの中の WAN システムでの実運用を開始しました」(海鋒氏)。
システム概要:WAN システムでのネットワーク設定の機器反映や情報検索に活用
Omnibus サービスの利用者であるお客様企業のネットワーク管理者が Web ベースのポータル画面上でネットワークの設定を行い、一連の設定作業を完了後、これらの内容を実際のネットワーク機器に反映するための操作を行うと、フロントエンドのシステムから非同期の形でお客様側の実際の機器にその内容が反映される。Neo4j が搭載されたWAN システムは、これら一連の流れを司るコアシステムの DB 基盤として機能する。「コンフィグレーション情報の作成/登録から、実際の機器への設定内容の流し込みといった処理は、お客様側の担当者が意識することなく、バックエンドで非同期に実施される形になります」(海鋒氏)。
現在、Omnibus サービスにはルータなどのネットワーク機器に関連した数万台のサービスアダプタが存在するが、IIJ のネットワーク運用担当もまた、ネットワークトポロジーの管理等に際し、各種の情報の検索/確認といった用途でNeo4j を活用している。
導入効果:2年間障害ゼロの安定運用に加え、高速検索、迅速な開発、容易な運用管理にも貢献
2021 年の 11 月の導入から約 2 年が経過した Neo4j だが、実運用を通じて各種の導入効果が明らかになっている。
海鋒氏は、最初に安定運用について言及し「導入以降、データが壊れてしまうといったトラブルは一切発生しておらず、非常に安定した稼動状況となっている点は、Neo4j の大きな導入効果だと感じています」と強調する。ネットワーク本部 ネットワークサービス 1 部 ネットワークシステム開発 2 課 エンジニアの綱(つな)健太氏も「自分が参画してから、Neo4j 自体で障害が起き、バックアップからデータを復帰させる必要があるような事象は発生していません」と話す。実際に使用されるケースは発生していないものの、安全対策に向けバックアップは重要な位置付けとなる。髙橋氏は、Neo4j Enterprise Edition への切り替えによる効果として「システムを稼動させたままでバックアップが取れるホットバックアップ機能は、運用面から考えても非常に有効だと感じています」と述べている。
ネットワーク本部
ネットワークサービス1部
ネットワークシステム開発2課
エンジニア
綱 健太 氏
利用者にとっては、超高速の検索処理を実現することで迅速な情報把握を可能にする Neo4j だが、開発者という視点から、髙橋氏は幅広い開発言語のカバーについて触れ「WAN システムを含め、アプリケーション開発では Python を使用するケースが少なくありません。Neo4j では多くの開発言語をサポートしており、Python の公式ドライバも提供されているため、開発者にとって非常に利用しやすいものとなっています」と話す。ネットワーク本部 ネットワークサービス 1 部 ネットワークシステム開発 2 課 エンジニアの蛸井(たこい)博氏は「Neo4jでは Cypher と呼ばれるクエリー言語を使用できます。ネットワーク構成を辿るような場合、RDB であれば JOIN の設定、加工の作業など複雑な対応が必要になりますが、Cypher ではシンプルに、どのノードからどのノードへ辿るというように直観的に指定することができため、シンプルかつ高い生産性で開発作業を進めることができます」と強調する。
ネットワーク本部
ネットワークサービス1部
ネットワークシステム開発2課
エンジニア
蛸井 博 氏
さらに開発時のデバック作業に関連して「Neo4j ブラウザの存在は大きいと思います。例えば、テスト中に問題が発生した場合に、どこのノードが原因かといった点を GUI で直観的に把握できるため、デバッグが非常に容易になったと感じています」(蛸井氏)と話す。まだ入社間もないと前置きしながらも、ネットワーク本部 ネットワークサービス 1 部 ネットワークシステム開発 2 課の浪崎(なみさき)誠也氏は「RDB しか経験がなかったため、グラフ DB の有効性を実感すると共に、Neo4j ブラウザの利便性についても体感することができました」と話す。さらに綱氏は「RDBの場合、どことどこが繋がっているかという全体像を把握していないと、情報を順々に辿っていくことが困難ですが、Neo4j の場合にはこれを実現する関数が用意されていて、一気に関連ノードを集めて参照するといった対応が可能となる点は、非常に便利だと思いました」と付け加えた。
ネットワーク本部
ネットワークサービス1部
ネットワークシステム開発2課
浪崎 誠也 氏
導入効果に関する話の最後に、髙橋氏は「開発の過程ではよくある話ですが、クエリーのスピードが落ちるといった問題が発生した際には、クリエーションラインのサポート窓口経由で適切な対応を頂き、素早く解決を図ることができました。このような迅速なサポート対応も、私達のような開発部署にとっては非常に有効なものでした」とその評価を述べた。
今後の展望:現状のサービスにおける継続利用と共に社内での横展開にも意欲
製品としての Neo4j の機能やクリエーションラインのサポートについても十分満足したネットワークシステム開発課では、この 11 月、既に Neo4j の 2 回目ライセンス更新を済ませ、その視線を未来に向けている。
今後の展望について海鋒氏は「Omnibus サービス自体が非常に好調な状況となっており、また WAN システムとしても安定稼働しているため、Neo4j の利用は今後も継続しようと考えています。また社内で IP アドレスをそれぞれ管理している部署やシステムが複数存在するため、これらを統合的に管理したいという要件もあります。今回の Omnibusサービスの WAN システムにおける Neo4j の利用、そして成功をきっかけに、社内でもグラフ DB 利用への認知が高まることを期待しています」と話す。さらに、まだ詳細な構想の確定に至ってはいないとしながらも、髙橋氏は「私達はネットワークに関わる部署ですが、社内には同じような立場でデータを取り扱っている部署が多数あります。それらの部署に対しても、Neo4j という有効なグラフ DB があるということを広めていくことができればと考えています」
とその意欲を語った。
国内インターネットのパイオニア ”IIJ” が、自らのサービスを支える DB 基盤として選択した Neo4j。ネットワークに関わるビジネスを展開し続ける同社において、Neo4j の位置付けはさらに高まり、その利用範囲も拡大することが予想される。
取材日:2023年11月9日