Link and Motivation Developers' Blog

リンクアンドモチベーションの開発者ブログです

挑戦が成果を生む!モチベーションクラウドシリーズ認証システムの統合に至るストーリー

こんにちは。リンクアンドモチベーションで、プラットフォームチームのマネージャーをしている江上です。 もう約半年前になりますが、モチベーションクラウドシリーズにおいて認証システムが統合されました!

その結果、モチベーションクラウド・コミュニケーションクラウド・ストレッチクラウドのログイン情報は統一され、サービス間のシームレスな移動が可能になりました。 この記事では、私たちが統合に至るまでの軌跡と、その結果得られた成果をご紹介します。 挑戦を乗り越え、新しい世界を手に入れたストーリーをお楽しみください。

挑戦の始まり

2019年の夏に、このプロジェクトはスタートしました。当時、まだコミュニケーションクラウドはリリースしたばかり。順調に伸びていましたが、伸びしろについては不透明でした。 そんな中、認証統合は大きな投資を必要とするためには、事業的なメリットが見い出す必要がありました。 開発者としては、マイクロサービス化されることで同じコードを書かなくて済むなどの技術面でのメリットが提示できましたが、事業面でのメリットをどう訴求するか?は大きな課題でした。

そこで、「サービスを跨いでユーザーのデータを蓄積することが、事業的にも大切である」ことを提案。 その後、経営会議での議論や、何度もの打ち合わせを経て、私たちの提案は「エンゲージメントチェーン」という事業方針として掲載され、挑戦はついに始まりました。

2年間に及ぶ実装の旅

その後、2020年1月~2022年11月の時間をかけて、認証が統合されていくことになります。 途中10ヶ月ほどは、ストレッチクラウドの立ち上げや組織データの統合といったプロジェクトも並行したため、実際開発していた時間は1年分くらいだったと思います。 予想以上に長くなってしまいましたが、その分、みんなでチャレンジングなプロジェクトを遂行し、成果を挙げることができました。

設計の1ヶ月

設計においては、フルスクラッチで認証機能を作るのか、それともAuth0やCognitoのようなサービスを利用するのか、議論が交わされました。 結果、私たちは、Auth0を選ぶことにしました。なぜなら、SAMLなど企業向けの認証機能が充実しており、かつ実績があったからです。また、AmazonGoogleに偏らず、中立な立ち位置にあることも重要な要素でした。

サービスを用いることで、認証のドメインを明確に区切ることができ、正しい判断を下すことができました。もしフルスクラッチで作っていたら、「認証とはどこまでを指すのか?」という疑問に苦しみ、時間を浪費してしまったかもしれません。Auth0を選んでよかったと感じています。

初期構築とコミュニケーションクラウドへの導入の4ヶ月

初めての導入ということで、多くの課題が山積みであった初期構築期間。Auth0の導入を決めたことは大きな一歩でしたが、実際の作業は思った以上に大変でした。

  • Auth0や認証という分野への理解
  • Auth0のラッパーである認証基盤システムの構築
  • ラッパーシステムとアプリケーション間のAWSアカウントを跨いだ通信基盤の構築
  • 既存データの移行 etc...

初めての導入ということで、多くの問題が発生したものの、無事リリースし、SAML連携など顧客の要望にも応えることができました。

ストレッチクラウドへの導入の1週間

次に、新規に立ち上げるストレッチクラウドを認証基盤システムとの接続を行いました。 新規立ち上げだったため、既存データがなかったこともあり、スムーズに進み、わずか1週間で完了しました。

自前で作る場合は、メール本文やデザイン調整など、細かい部分まで考慮する必要があり、時間と手間がかかることが多いです。それに対し、テストも完了しており、高い完成度を誇る認証基盤を利用したことで、早く、安定的にストレッチクラウドに認証機能を導入できたと感じています。

モチベーションクラウドへの導入6ヶ月

なにより大変だったのはモチベーションクラウドです。 基盤システムはできているとはいえ、追加で以下のようなことにも対応が必要でした。

SPA化

モチベーションクラウドでは、Vueを使っているにも関わらず、一部のページはRailsのerbでレンダリングされていたため、認証方式を統一するために手を加える必要がありました。

より高いセキュリティ要件

パスワード再設定期限の指定機能や、アカウントロック機能など、今までのサービスでは求められなかったセキュリティ要件に対して、対応する必要がありました。

大規模データの段階的移行

弊社のプロダクトの中で、一番ユーザー数も多いサービスです。ユーザーが使えない時間を短くするためにも、一気にドーンと移行するのではなく、段階的な移行を行う必要がありました。

上記のような困難に取り組みながらも、6ヶ月の長い導入期間を終えました。その結果、モチベーションクラウドも認証基盤システムに接続され、システム全体がより安定的かつ統一的なものになりました。

統合後のメリット

サービス間の自由な行き来が可能に

複数のサービスを契約している人は、自由に行き来することができます。これは、思ったよりも良いことに体験して初めて気がつきました。 組織IDはまだ共通化されていませんが、十分にサービス感のデータを見比べられる体験が提供できました。

その結果、モチベーションクラウドで得られた情報から、コミュニケーションクラウドでの改善までの思考の断絶が軽減され、より効果的な施策を実現することができました。

マイクロサービスの建設が容易に

認証を共通化することで、マイクロサービスの新規構築が簡単に行えるようになりました。たとえば、先日プレスリリースを発表したChatGPTを用いた「AI組織改善アドバイザー」については構想からわずか3週間でリリースすることができました。共通の認証基盤を使用することで、異なるドメインへのアクセスが容易になり、サービス提供のスピードが大幅に向上しました。

prtimes.jp

最後に

最初は事業方針の策定から始まったプロジェクトですが、進めていく中でさまざまな仕組みをアップデートすることができました。 先にあげた新規機能の迅速なリリースだけでなく、Vueに統一されたことで、フロントエンドのリアーキテクチャを始めるきっかけにもなれました。 「みんなやってるし、すぐできるだろ」ってほど簡単ではなかったですが、大きな一歩を踏み出すことができたと思います。

これからもモチベーションクラウドシリーズ開発チームの活躍をぜひご期待ください^^