
DEVOPS KAIGI'22に弊社CTO菊池が登壇しました
はじめに
こんにちは、メタルは全てを解決するです。ナビタイムジャパンでVPoEと経路探索の研究開発部門責任者を担当しています。
JFrog様主催のDevOpsカンファレンスである「DevOps Kaigi」が今年も開催されました。弊社では研究開発部門を中心としてArtifactory/Conanを利用しており、昨年度のDevOps Kaigiにも何名か参加していました。
今回はCTO菊池が「NAVITIMEの経路探索の進化を支える自社開発とDevOps」と題して登壇させていただく機会がありました。本稿はそのレポートになります。
JFrog横田様が引き出した「NAVITIME JAPANとDevOps」
菊池が登壇したセッションでは、JFrog横田様(エンジニア界隈の皆様には「よこな」さんといったほうがおなじみかもしれません)との対談形式で開催されました。ふりかえってみると、横田様は「どのようにJFrog製品を活用しているか」よりも「どのようにDevOpsに取り組んでいったか」というより普遍的な問いに重きをおいて進行されていました。

セッションは会社紹介や近年新たに展開しているサービスの紹介から始まり、だんだんとDevOps/Agileの文脈へと近づいていきました。ここからは、ふたりの対談で語られたナビタイムジャパンとDevOpsの関係をダイジェストでお届けします。
ツールより先にあった組織の変革
ナビタイムジャパンは、もともとピラミッド型の組織構造でした。アプリ、サーバー、インフラといった機能型に分割された組織構造では壁を超えたやりとりがだんだんと難しくなっていき、2012年に徹底的なフラット化施策がとられ組織が大きく変化します。
今振り返ってみると、このフラット化によりチームのサイズが小さくなり機動性が増したことはDevOpsに取り組むにあたっては必要不可欠な変化だったと思います。
オンプレからクラウドへ
また、DevOpsへの変化とは別の文脈として「オンプレからクラウドへの転換」についても語られました。ゴールデンウィークのような季節需要、ゲリラ豪雨のような突発需要など弊社サービスは常に予期せぬリクエスト増と隣合わせです。
柔軟な需要の変化に対応するためのクラウドシフトは、技術的課題もさることながらエンジニアのマインドセット転換が鍵になっていました。
DevOpsにせよクラウドシフトにせよ、今自分たちがここに立ち続けるためにはアンラーニングと変化が求められることを思い出させるエピソードでした。
データの鮮度はサービスの生命線
2012年頃は、ナビタイムジャパンにとっては創業から10年ちょっとが経過した時期でした。この頃になると技術的負債が無視できない規模で顕在化し、このままだとサービスの生命線であるデータ鮮度が保てないのではないかという危機感がありました。
そういった流れの中からリファクタリングやリアーキテクチャ、CI/CDの導入といった動きが活発になっていきました。当時は「DevOpsに取り組む」ということを意識していたわけではありませんが、まさにDevOpsの考え方で開発・運用への向き合い方が変革しはじめたのが10年ほど前でした。
DevOps/Agileのマインドセットを自社向けにテーラリングして言語化
そして今年度からは、NTJ Team Guidesという全社ガイドラインの運用が始まりました。
このガイドラインはDevOps/Agileのマインドセットや品質に関するガイドライン、社内コミュニケーションに関するルールの規定などを取り扱ったものです。
これまでそういったガイドラインが全くなかった。それはボトムアップでのスピードを重視していたから。
だんだん開発が成熟してきて、いまは全体のベストプラクティスを共有するほうが効果的なフェーズに入った。(全社で進めている)ジョブローテとも相性がいい。
C++用のパッケージツールを求めて
弊社の研究開発部門では、高いパフォーマンス要求を満たすためにC++で研究開発を進めていることが少なからずあります。前述のように全社的にDevOps的な考え方が浸透していく中で、この開発言語が1つのボトルネックになりました。C++では、決定的なパッケージツールが不在だったのです。
なければ作ればいいよね、ということで弊社のエンジニアであるネコ派メタラーを中心に内製のパッケージツールが開発されました。なかなかによくできたツールだったのですが、研究開発を本分とする身としてはこのパッケージツールの保守運用に手が取られてしまうというのはあまり好ましい状況ではありませんでした。
その中で弊社エンジニアであるけんにぃを中心に調査し、導入が進められたのがArtifactory/Conanでした。
DevSecOpsに取り組むタイミングは早ければ早いほど良い
「DevSecOpsに挑戦する皆様にメッセージはありますか?」
そう問われ、菊池は「DevSecOpsに取り組むタイミングは早ければ早いほど良い」と答えました。
これは創業から10年程が経過した頃に自身が技術的負債で苦労したこと、創業の頃からそのように取り組んでおけばよりビジネスのグロースにフォーカスできるのではないか、という思いから出た言葉でした。
登壇を終えて
今回のセッションは事前収録の形式でしたが、JFrog横田様の素晴らしい進行のおかげでライブ感が生まれたのではないかと考えています。

また、弊社としてもあらためて自社の歩みとDevOpsについて考える良い機会となりました。これからビジネスをグロースさせていく皆様の何かの参考になれば望外の喜びです。