giftee Tech Blog

ギフティの開発を支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信しています。

基盤チーム Platform Unit のご紹介

こんにちは。忘年会の二次会で突然開催された社内でスト2対戦会では無敗だったギフティ CTO 柳瀬です。

さて、今回のブログでは、ギフティの開発組織内で2021年に発足した Platform Unit についてご紹介したいと思います。このチームは、ギフティのプロダクト全体を横断する基盤の設計や、技術的共通課題の解決を担う存在であり、現在CTOである自分が率いています。その役割や、取り組んでいるプロダクトについて、少しでもイメージをお伝えできればと思います。

Platform Unit 設立の背景と責務

ギフティのプロダクトは、個人向けサービス「giftee」や法人向けの「giftee for Business」など、多岐にわたります。これらはそれぞれ独立した開発チームによって運用されていますが、プロダクトをまたいで価値提供を行うプロダクトの開発や運用が必要になる場面が増えてきました。

たとえば:

  • データ基盤の整備
    • 各プロダクトのデータを統合し、横断的に活用できる仕組みを構築する。
  • 認証機能の共通化
    • 複数のプロダクトで一貫したログイン体験を提供したい。車輪の再発明を避けたい。
  • 開発品質の標準化
    • 暗黙的に全チームで求められる非機能観点での要件が不明瞭。

こうした横断的な取り組みを推進するためには、各プロダクトチームが部分的に対応する形では限界があり、専任のチームが必要でした。しかしながら、設立当初のギフティにはそのような組織が存在していませんでした。そのため、2021年にPlatform Unitが設立されました。この記事では、Platform Unitが取り組んでいる事の大枠を共有できればと思っています。

全社データ基盤 Polaris

Polaris は、ギフティのデータ基盤として2021年にPlatform Unitで立ち上げられたプロダクトです。その目的は、プロダクトごとに分散していたデータを一元化し、横断的なデータ活用を可能にすることにありました。命名の由来は「北極星(ポラリス)」からです。DWH の役割は意思決定にあることと、昔の航海士は皆、北極星を目印に進むべき方向を決めており、それにちなみました。

たとえば、弊社が提供するgiftee for Businessのキャンペーンは複数のプロダクトを利用して提供されており、そのギフトの利用実績をまとめて分析するには、各プロダクトのデータを手動で収集・統合するのに多くの手間がかかるという課題がありました。

Polarisの立ち上げにより、データはすべて一元的に集約され、データ基盤上でスムーズに分析可能となりました。これにより、プロダクトを跨いだデータ利用が迅速化し、運用の効率化や提案の質の向上に繋がっています。各プロダクトは異なる AWS アカウント上で稼働しているので、クロスアカウントに動作すること・プロダクト側の実装負担が小さい仕組みであることを前提とした設計となっています。こうしたプロダクトは弊社的に珍しいものでしたが、立ち上げはスピーディーに実施でき現在も安定的に稼働しています。現在、新規プロダクトが立ち上がった際には当たり前のようにPolarisにデータの連携が行われるようになってます。

こうした仕組みにより、当初の課題感は解消され、プロダクトを跨いだデータ利用が迅速化し、運用の効率化や提案の質の向上に繋がっています。

共通認証基盤 WAYPoint

WAYPoint は、ギフティ内の認証処理を共通化すると共に、シングルサインオン(SSO)の実現を可能にする認証基盤として、Platform Unitが立ち上げたプロダクトです。その名前の由来は「Who Are You? Point」であり、ユーザが誰であるかを特定する場所であることを示しています。

Polaris立ち上げの背景と重なる部分もありますが、プロダクト数の拡大とそれに伴う連携が深まる中で、個別に認証処理を開発する事の非効率や、プロダクト間のSSOができない事に対する課題感が高まっていました。こうした課題を解決するため、WAYPointの立ち上げは2023年頃から本格的に始まりました。

技術的には Keycloak というOSSアプリケーションを用いて実現されており、現在既に複数のユーザプールでの利用が実現されています。汎用的な認証処理を安定的に提供できるプロダクトとして社内的にも認知されており、認証周りのトピックが発生した際にはPlatform Unitに相談がくる状況が作れています。WAYPointのように「特定処理に関しては別開発チームの力を借りる」という責任分解を行うのは今まであまり社内的に無かったので、こうした相談が来るような社内的な認知が取れる様社内向けの発信は注力して取り組んできました。

WAYPointは今後、多要素認証などの認証領域での機能的な拡張を計画している他、統合的にセキュリティを高める方向性での進化も進めて行きたいと思っています。

合わせて、認証に関する方向性が具体化できたことで、認可に関してもPlatform Unitで共通的な基盤提供を行う事の検討を現在開始しています。

プロダクトセキュリティ

Platform Unitでは、プロダクトセキュリティの向上に向けた各種取り組みを推進しています。 このプロダクトセキュリティ領域は、来年度の技術組織の注力テーマとしてより一層強化していく予定です。

以前の技術ブログで共有された プロダクトセキュリティの社内講義の資料 もPlatform Unitの取組として作成されています。この取組を通じて弊社におけるプロダクトセキュリティの考え方を定義するとともに、社内定着を図っています。

また150を超えるAWSアカウントをセキュアな形で使われるような仕組みの整備 を通じ、各チームがセキュリティの脅威に対して適切に対応できるような仕組みの整備と啓蒙活動を実施しています。AWS領域以外に関しても主にセキュリティ観点で各プロダクトが遵守すべき事項を取りまとめた開発のガイドライン策定を実施しました。もちろん、こうしたガイドラインは適切に更新していくことが大切であると考えており、社内からのフィードバックを取り入れつ、継続的に育てていく予定です。

最後に

Platform Unitは、ギフティのプロダクト開発をより強力に、より効率的に進めるための基盤や仕組みを提供するチームです。その活動を通じ、ギフティ全体の開発組織に広く大きなインパクトをもたらし続けています。ここまでご紹介したような取組によって、プロダクト間の連携を容易にし、技術組織内の課題解決を推進する力となっています。これにより、エンジニアリングチーム全体が本来注力すべきプロダクト開発によりリソースを集中できるようになっています。こうした取組を一緒に推進していく仲間はもちろん募集しておりますので、もしご興味がありましたら下記からカジュアルにお声がけ頂けると嬉しいです。

https://herp.careers/v1/giftee/VPbe1k8sU4_c