Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

各社がアーキテクチャを語る「Engineering Team Presentation」を開催しました

こんにちは、プロダクト戦略開発室の相場です。

今回は先日開催した「Engineering Team Presentation 〜各社の事業を支えるアーキテクチャ〜」のイベントレポートをお届けしたいと思います。
sansan.connpass.com


これまで開催したイベントのアンケートで「各社のアーキテクチャ」に関連するイベントに参加したいと多くの声をいただいており、弊社が運営する「Builders Box」のサポーター企業である日本経済新聞社さん、メルカリさんに加え、 DeNAさん、freeeさんにも協力をお願いし、今回の企画が実現しました。
最終的には700名以上の方にお申し込みいただき、「アーキテクチャ」は関心の高いトピックであると改めて感じるとともに、予想を超える申込者数に運営メンバーは少しドキドキしながら、当日を迎えました。

発表1:『日経電子版のキャッシュ戦略』

株式会社日本経済新聞社 デジタル事業デジタル編成ユニット Tech Lead 
梅崎 裕利氏


多くのサービスにおいて表示速度は離脱率に直結するため重要度は増しています。表示が3秒遅くなると約50%が離脱するとの調査結果もあり、日経電子版のキャッシュを活用した表示速度改善についてお話しいただきました。
日経電子版ではキャッシュ効率をいかにあげるかという点を考慮し開発を行っており、ブラウザ、CDN、Appバックエンドの各レイヤでキャッシュを用意して対応している。またログインユーザー(無料/有料会員)と非ログインユーザーの会員ステータスに応じて、キャッシュパターンを権限ごとに分けることで効率を高めている。データ分析基盤にはGoogleのWeb Vitalsを入れて計測を行い、表示速度の改善に活用していく。

発表2:『Mercari iOSクライアント Re-Architectureのその後』

株式会社メルカリ Personalization Team iOS Tech Lead 
芳賀 優樹氏


メルカリ iOSクライアントのRe-Architectureは2018年から始まり、商品詳細や出品画面などの主要画面はRe-Architectureがすでに完了していて、その変遷をご紹介いただきました。
メルカリはサービスの拡大とともにロジックが増大・複雑化しており、ロジックを分散させるため、メルカリ独自の"Micro View Controller"という設計を導入した。各VCのコード量の減少と表示速度の改善にも効果があったが、Stateの管理に課題があり、Micro View ControllerとFluxライクなアーキテクチャを併用している。
また組織の拡大とともに社内でアーキテクチャの議論がおき、現在は各View ControllerのInput、Output、Dependency Injectionに関するProtocolは統一されているが、内部のアーキテクチャはある程度各チームの裁量に任せられている。

発表3:『新規事業「Bill One」を加速させる技術選択』

Sansan株式会社 Bill One事業部 Product Development プロダクト開発責任者
大西 真央


「Bill One」はあらゆる請求書をオンラインで受け取るという、昨年5月にローンチしたプロダクトで、開発チームは6名で、1週間のスプリントで週2回リリースしています。そんな新規事業における技術選択について3つのポイントを紹介しました。
1「ビジネスの本質に向き合う」
DDDに基づき、プロダクトを通して解決したい課題を考慮し、設計の判断をしている。
2「ビジネスの本質に注力する」
新規事業においてはGCPのサーバーレスサービスを使うことでインフラにかかる人的コストを削減し、アプリ開発に注力。また認証はAuth0を採用し、ユーザーにとって価値が高い機能はSaaSサービスを利用している。
3「ビジネスを素早く安全に進化させる」
小さな機能でリリースを繰り返し、ユーザーの反応をみながら開発を進める。日々ゆとりのある状態で開発をすることが重要。

発表4:『クリーンアーキテクチャ脱却とSwiftUI導入までの道のり』

株式会社ディー・エヌ・エー DeSCヘルスケアシステム部システムソリューショングループ iOS Engineer 
野瀬田 裕樹氏


kencom×ほけんアプリは2019年6月に公開した若いプロダクトですが、前身のkencomから設計(と技術負債)を引き継いでおり、その設計を改善し、Swift UIを導入するまでの過程をお話しいただきました。
開発初期、kencomから引き継いだ設計ではMVP、MVVM、Clean Architectureなどが混在し、複雑化していたため、現状を把握した上で改善の方針を決め、プロセスの改善と設計の改善を行った。設計においてはSwift UIへの移行など今後の変化への対応を見越し、単純な画面はMVCを採用、複雑な画面はStoreパターンやFluxに近い設計を採用している。
3/3に開催される DeNA TechCon 2021ではKencom×ほけんチームのセッションもあるようなので、気になる方はこちらもチェックいただければと思います。

発表5:『会計 freee バックエンドの今後』

freee株式会社 プロダクトコア事業部会計グループ Tech Lead
高野 淳史氏


まもなくリリースから8年を迎える会計 freeeは巨大なアプリケーションとなり、影響範囲が読めず変更や削除が困難という状況から、Backend APIを導入したお話をしていただきました。
まずは基本方針を「開発者が見るべきスコープを狭める」として、各チームの責任範囲を決定する。Backend(内部の)APIの内側はモジュラモノリス化を進めることで、モバイルアプリやPublic APIを並行でつくれるようになるという元々の課題解決を図っている。しかしActive Record Modelに制約を設けたためRails Wayから大幅に外れることとなり、レールを自分たちで作る必要があるというデメリットもある。

さいごに

各社の発表の後には弊社CTO 藤倉をモデレーターとして、今回登壇いただいた皆さんとQ&A・Talk Sessionを行いました。アーキテクチャやドメインモデルの決定などについて、各社の規模やビジネス特性に応じて、回答も様々だったのが印象的でした。

本レポートではイベント全体を簡単にまとめましたが、詳しいレポートは Builders Box の会員専用サイトに3月初旬に公開予定です。ぜひ下記からご登録の上、ご覧いただければと思います。
buildersbox-online.com

ご参加いただいた皆様、ご協力いただいた企業の皆様、ありがとうございました。

© Sansan, Inc.