見出し画像

ナビタイムジャパンの開発環境とクラウド化決定までの道のり

こんにちは。おリボンちゃんです。
ナビタイムジャパンで情シスの開発サポートチームとして、社内の開発環境に関わるアプリケーションの運用を行っています。

弊社ではコラボレーションツールとして Atlassian 社の製品を導入しており、ソースコードのバージョン管理に Bitbucket、課題管理に Jira、ナレッジ共有に Confluence を利用しています。

今年度は開発環境の大幅アップデートを図り、これらのクラウド化を進めています。本記事では弊社の開発環境や運用体制についてご紹介しつつ、今回なぜクラウド化を行うことにしたのかについて記載します。

Atlassian 製品の提供形態(Server版 と Cloud版)と社内での稼働方法

Atlassian 製品には Server 版(自社管理)と Cloud 版(SaaS)があり、これまで弊社では Server 版を自社のAWS環境で稼働させていました。アップデートやサーバーの監視などは自社で行っています。
今回はこちらのクラウド化(= SaaS 版利用への移行)を進めていくお話です。


ナビタイムジャパンのこれまでの開発環境と運用体制

弊社では情シスの組織の1つとして開発サポートというチームがあり、主に開発に関わるコラボレーションツールの導入や運用、活用推進を担当しています。
最近では Slack やソースコードの静的解析ツールの Sonar、オンラインサポートツール miro の導入・サポートなども行っています。

Atlassian 製品は2014年から導入しており、当時利用していた SVN から Git に移行する際に私たち開発サポートチームの前身となる組織がワーキンググループとして発足しました。
社内の開発環境をより良くしたい!というメンバーが、全員プロジェクト兼任という形で所属し活動しています。(私も普段は別のプロジェクトに所属しており、法人向け店舗検索パッケージの開発・マーケティングを担当しています。)

Git 移行当時、Git のホスティングサービスは、GitHub/Bitbucket/GitLab/GitBucket など複数候補に挙がりましたが、金額面・サポート面・機能面の折り合いから弊社では Atlassian の製品である Bitbucket が採用されました。
またBitbucket の導入にあたり、より開発体験を上げたい...という想いが生まれ、同じく Atlassian 製品である課題管理ツールの Jira、ナレッジ共有ツールの Confluence も一緒に使われるようになりました。

弊社は社員約500名が所属しており、それぞれ担当プロダクトごとにプロジェクトとしてチームになり日々開発を行っています。
プロジェクトごとに Jira や Bitbucket のプロジェクトがあり、例えば Jira においては150程プロジェクトが作成されています。運用改善のため独自の通知の仕組みなどが開発がされているところもあり、作りが違う Cloud 版への移行を踏み切る際には勇気が入りました。
しかし、全社員のうちエンジニアが8割という構成ということも相まって、積極的に新しいツールを用いて開発環境をよくしていこうという文化が自然とできており、反対意見もなく全社的に協力をしてもらいながら進めています。

クラウド化の話があがる

各ツールについては1年単位でライセンスを購入し更新を行っておりますが、2019年の秋頃に、次の更新のタイミングではクラウド化の検討をしてみてもよいのではないかとチームで意見があがりました。
これまでも Cloud 版への移行の話はあがりつつ、費用や移行の工数、セキュリティ上の懸念から Server 版の運用を続けていました。しかし、Atlassian 製品は近年 Cloud 版での機能アップデートが特に進んでいることもあり、開発効率の向上も見込むとそろそろ Cloud 版へのを移行を検討してもよいのではないかとチーム内でも意見がまとまり、本格的に調査をはじめました。

社内からも Cloud 版に搭載されている機能を利用したいという意見がしばしばあがることもありました。
また、バージョンアップの対応は開発サポートチームで行っており、休日や夜間に作業をすることや、バージョンアップ時に対応されなくなったプラグインの対応に追われることもありました。
こういった工数もクラウド化することでなくなり、その分よりよい活用方法に向けての活動ができるという希望もありました。

調査してわかったポイント

Atlassian の方や代理店の方にお話をうかがいながら自分たちでも調査し、メリット・デメリットがある程度クリアになってきました。

😁 Good
● Slack - Jira のチケット作成連携など要望があった機能が多数利用でき、開発効率があがりそう
● Bitrise など CI ツールや、他クラウド製品との連携がより柔軟にできそう
● 開発サポートチームとしてもメンテナンスコストが軽減され、製品活用のサポートに工数をかけられそう
😢 Bad
● 移行コスト(費用、工数)は大きくかかる
● 移行にあたって利用できなくなる項目はありそう


→ ...コストもかかるけど、今後の Atlassian のアップデートの対応も踏まえ
開発効率の向上を考えるとやっぱりクラウド化はした方がいいよねという結論になりました💪

ちなみにこのタイミングで他のバージョン管理ツールの導入についても調査を行いましたが、導入時と同じく金額面/サポート面/機能面、現状との親和性も考慮し Atlassian 製品の継続利用という判断になりました。

実際何をしているか

ということで、今年度開発サポートチームは総力をあげてクラウド化に取り組むことになりました。
※  Server 版から Cloud 版への移行には専門のベンダーに依頼することもできますが、ナビタイムジャパンでは検討の結果、社内の開発サポートチームで移行を行うことにしました
4月から本格的に Jira、Bitbucket、Confluence の3チームにわかれてそれぞれアプリケーションの移行を進めています。

実際に何をしているかというと、専用の移行ツールを使ってクラウド環境にテストプロジェクトを作成し、各アプリケーションの構成を確認しながら移行できる項目、移行できない項目、変更されたポイントを愚直に洗い出しています。(ちなみにこうした懸念点の確認やタスク整理に miro が活躍しております)
並行して、社内のセキュリティチームと協力したセキュリティ上のリスク回避についての対応も進めています。


Atlassian 製品の Server 版と Cloud 版は製品名は同じであるものの、作りが違い、移行に際しては他ツールへ移行するように確認するポイントが多くあります。2014年に導入してから社内での運用改善として結構カスタマイズしており、開発サポートチーム独自で作ったプラグインや API なども含め、一つ一つ確認を行っています。

データを一気に移行、ということができず1プロジェクトずつ作業を行っており、設定についてもある程度トリアージが必要となりそうです。
現在開発サポートのプロジェクトの運用を先行してクラウド版に移行しており、今後全社のプロジェクトを1つずつ、プロジェクトメンバーと協力しながら移行していく予定です。

そんなこんなで何度も戦略を練り直し、安全に全社移行&移行作業のサポートができるよう準備を整えています!!

ちなみに Cloud 版の Jira はこんな感じです。雰囲気は見覚えある感じかなと思います。機能的に大きくは変わっていませんが若干UIが違うなどあります。

画像2

移行これから

このような道のりを経て今移行のテストも佳境に入っていまして、2020年内に全プロジェクトの移行を進める計画でいます。まだ運用は始まったばかりですが、機能面やUIでのアップデートがかかっておりわくわくしています。

一例ですが、形式的になりがちな Jira のコメントに Slack のような絵文字リアクションが使えるようになっていて高まりました〜🌷✨
こうした一見些細なアップデートも利用体験が向上しますよね。

画像1


最後までご覧いただきありがとうございました!みなさまの会社の開発環境も知りたいです!!
気になることなどありましたらこの記事へのコメント大歓迎です🌸