そしてお菓子だけが残された……
何でも梅田さん、まだ課長になることも、EADsのプロジェクトに配属されることも知らされてなかった時期に、育児休暇を申請していたそうで。それがすんなり通った結果、EADsの開発がスタートしてすぐ、3カ月の育児休暇に突入してしまったのだ! 何というタイミング……現場はさぞや混乱したのでは?
「いやあ、大変でした……」(松本さん)
「関係者間の利害調整をしてくれる人が不在だったので、開発の方針がなかなか定まらなくて……」(杉本さん)
ありゃりゃ…、梅田さんの不在により資金の底が尽き、せっかく始めたおやつ会議も形骸化し、そしてお菓子箱だけが残されたのだった。しかし、お菓子だけは順調に消費されていったそうだ(笑)。
一方そのころ、育児休暇中の梅田さんは…
「公園デビューしてました(笑)」
公園デビューかいーーーー!!
いや、でもこうやって男性も積極的に育児休暇を取って、子育てに協力することもとても大事だよね(マジで)。でもって、ようやく3カ月の育児休暇期間が終わってプロジェクト現場に復帰した梅田さんを待っていたのは、まさに死屍累々!急いで顧客先や社内の各部門を飛び回って、調整作業に奔走。開発要件を思い切って絞り込んだ結果、ようやくプロジェクトは正常な状態に復帰したんだとか。
と、そんなこんなで難産の末に、ようやくリリースまでこぎ着けたEADsの初代バージョン。オープンソースの製品を参考にしながら、先に紹介した3つの条件のうちの「インメモリKVS」と「分散」がまずは実装された。そして次の「バージョン2」では、さらに「実行」の部分も追加実装され、晴れてすべての機能が完成!いやあ、いろいろあったけど、みんな良く頑張ったよねえ(涙)、そして感動のフィナーレへ……とはいかなかったそうで。
「初代バージョンを開発していたころから、『データの一貫性をいかに担保するか?』という大きな課題を抱えていました。分散KVSの仕組みはもともと、ノード障害やノード追加、ネットワーク障害などの際にデータの一貫性を保つのが難しいんです。現に、当時既に世に出回っていたオープンソースの製品は、どれも一貫性より可用性を重視したものばかりでした。でも日立が手掛けるシステムは、社会インフラを担うミッションクリティカルなシステムばかりですから、一貫性はどうしても譲れませんでした。例えば、携帯電話キャリアのメールや課金情報の一貫性が保証できないなんて、あり得ませんからね」(杉本さん)
おお、「信頼の日立」の面目躍如! そこで開発されたのが、EADsの「バージョン3だ」。データの一貫性を100%保証するために、分散合意アルゴリズムとして知られるPaxosを採用。それまでオープンソースベースで開発していた部分も、何とすべて一から組み直しという。こうして、晴れて「データ一貫性100%保証のインメモリデータグリッド」が完成! パチパチ! やっとこさフィナーレを迎えたぞ(ところで、お菓子箱はどこへ行った?)。
ちなみに梅田さん、EADsの今後の開発計画は?
「実行系の機能を徐々に充実させていくことになるかと思います。でも、基本的な部分はこれで一通り完成したので、ようやく僕もゆっくりできそうです」
えっ、ひょっとして二度目の育児休暇?