$30 off During Our Annual Pro Sale. View Details »

アプリケーション基盤側から⾒たリードタイム2週間、年間100リリースへの挑戦 / Application infrastructure view of the challenge of 2-week lead time and 100 releases per year

Sansan R&D
November 10, 2023

アプリケーション基盤側から⾒たリードタイム2週間、年間100リリースへの挑戦 / Application infrastructure view of the challenge of 2-week lead time and 100 releases per year

■イベント:Sansan R&D TECH SHOWCASE -ビジネスをドライブするR&Dのウラガワ大公開-
https://sansan.connpass.com/event/299113/

■登壇概要
タイトル: アプリケーション基盤側から⾒たリードタイム2週間、年間100リリースへの挑戦
発表者: 技術本部 研究開発部 Architectグループ 新井 和弥

◉ 研究開発職 採用情報
https://media.sansan-engineering.com/randd

◉ Sansan Tech Blog
https://buildersbox.corp-sansan.com/

Sansan R&D

November 10, 2023
Tweet

More Decks by Sansan R&D

Other Decks in Technology

Transcript

  1. Sansan技術本部 研究開発部
    Architectグループ
    新井 和弥
    アプリケーション基盤側から⾒た
    リードタイム2週間、
    年間100リリースへの挑戦
    Sansan R&D TECH SHOWCASE

    View Slide

  2. 写真が入ります
    新井 和弥
    Sansan株式会社
    技術本部 研究開発部 Architectグループ
    ML Platformチーム エンジニア
    2022年Sansan株式会社⼊社。中部⽀社勤務。名古屋の⺠。
    研究員とともにDevOps/MLOpsに向き合う。
    チームの⽣産性を⼤事にしている。
    趣味は🧑💻💬、💪、💤。
    Please call me KAZY.

    View Slide

  3. 出会いから
    イノベーションを⽣み出す
    いつの時代も、世界を動かしてきたのは出会いです。
    ⼈と⼈、企業と企業、
    その出会いの連鎖が社会を前進させます。
    私たちは出会いが持つ可能性を再発⾒し、
    未来につなげることでビジネスを変えていきます。
    イノベーションにつながる新しい出会いを⽣み出す。
    出会いの⼒でビジネスの課題にイノベーションを起こす。
    そして、ビジネスの出会い、そのもののあり⽅を変えていきます。
    Mission

    View Slide

  4. 働き⽅を変えるDXサービス
    請求
    ⼈や企業との出会いをビジネスチャンスにつなげる「働き⽅を変えるDXサービス」を提供
    ビジネスフローにおけるさまざまな分野でサービスを展開
    名刺管理
    名刺DX
    営業
    営業DX
    契約
    法務DX 経理DX
    個⼈向けDX
    法⼈向けDX
    必要な情報を
    すぐに⾒つけられる
    情報の管理がしやすく
    すぐに共有できる
    情報を分析・活⽤しやすく
    データに基づいた判断ができる
    SansanのDXサービスの活⽤で変わる働き⽅

    View Slide

  5. ML Platform Teamとは
    研究員
    主に名刺や帳票の⾼精度なデータ化や蓄積さ
    れたデータからプロダクトの価値を⾼めるデ
    ータを活⽤した機能の研究開発に取り組む
    MLOps/DevOpsエンジニアと連携し、
    サービスリリースまで担う
    MLOps/DevOpsエンジニア
    機能やシステムの設計リードから実装を担当
    サービスの品質・可⽤性・セキュリティ・
    オブザーバビリティーを担保
    また研究員による試⾏錯誤を増やし、継続的に
    素早くリリースするためのML基盤を構築・推進
    データエンジニア
    研究開発部や全社で利⽤する分析基盤の設
    計・開発をリード
    ⾃社のプロダクトから⽣まれるさまざまなロ
    グや、データ連携パートナー企業などからの
    データを、活⽤しやすい形(Databilityと
    Usabilityが⾼い状態)で社内に提供
    研究開発部
    MLOps/DevOpsエンジニア
    機能やシステムの設計リードから実装を担当
    サービスの品質・可⽤性・セキュリティ・
    オブザーバビリティーを担保
    また研究員による試⾏錯誤を増やし、継続的
    に素早くリリースするためのML基盤を構築・
    推進

    View Slide

  6. ML Platform Teamとは
    研究員
    主に名刺や帳票の⾼精度なデータ化や蓄積さ
    れたデータからプロダクトの価値を⾼めるデ
    ータを活⽤した機能の研究開発に取り組む
    MLOps/DevOpsエンジニアと連携し、
    サービスリリースまで担う
    MLOps/DevOpsエンジニア
    機能やシステムの設計リードから実装を担当
    サービスの品質・可⽤性・セキュリティ・
    オブザーバビリティーを担保
    また研究員による試⾏錯誤を増やし、継続的に
    素早くリリースするためのML基盤を構築・推進
    データエンジニア
    研究開発部や全社で利⽤する分析基盤の設
    計・開発をリード
    ⾃社のプロダクトから⽣まれるさまざまなロ
    グや、データ連携パートナー企業などからの
    データを、活⽤しやすい形(Databilityと
    Usabilityが⾼い状態)で社内に提供
    研究開発部
    MLOps/DevOpsエンジニア
    機能やシステムの設計リードから実装を担当
    サービスの品質・可⽤性・セキュリティ・
    オブザーバビリティーを担保
    また研究員による試⾏錯誤を増やし、継続的
    に素早くリリースするためのML基盤を構築・
    推進
    Here!

    View Slide

  7. 研究員が⼤きな成果を出せる。
    研究員が⼤量・⾼速な試⾏錯誤ができる。
    研究員がこれらを継続的に⾏えるような仕組みを作る。
    それがML Platformの仕事。
    1つの⼿段として
    研究員が、セルフサービスで
    安全にリリースできる基盤 Circuit を構築・運⽤。
    ML Platform Team仕事
    https://speakerdeck.com/sansan_randd/about-circuit-r-and-ds-application-platform

    View Slide

  8. 「#営業戦略⽴案」などの活⽤シーンを選び、実験的な機能を利⽤できるサービス
    リードタイム2週間、年間100リリースを⽬指しています!
    Sansan Labs

    View Slide

  9. Sansan Labs
    研究員の⼤量・⾼速な試⾏錯誤が
    成果になる!
    「#営業戦略⽴案」などの活⽤シーンを選び、実験的な機能を利⽤できるサービス
    リードタイム2週間、年間100リリースを⽬指しています!

    View Slide

  10. - DevOps/MLOpsエンジニア
    - インフラ構築, フロント構築,モニタリング, CICD…をアプリごとに都度新規作成
    - Labs専任のエンジニアが付いてサポート
    - 研究員
    - Algorithm開発
    - ⼀部staging検証
    Before Circuit(2019 ~ 2021)
    9
    Algorithm開発 staging構築 staging検証 productionリリース
    研究員
    DevOps/MLOpsエンジニア
    Before production構築

    View Slide

  11. - 企画からリリースまで3ヶ⽉ほどの世界
    - DevOps/MLOpsエンジニアは研究員と⽐較して⼈数が少ないが、開発フロー上の負担が多い
    - DevOps/MLOpsエンジニア⇔研究員のやり取りが増えるほどリードタイムが伸びる
    - 例えば研究員がインフラ構築, フロント構築,モニタリングも全部やれば、⼈数とやりとりの問題が解消しリー
    ドタイムは下がる? → 認知負荷が⾼くなり過ぎて現実的ではない。
    Before Circuit(2019 ~ 2021)
    10
    リードタイム2週間は夢のまた夢..
    Algorithm開発 staging構築 staging検証 productionリリース
    Before production構築
    研究員
    DevOps/MLOpsエンジニア

    View Slide

  12. Before Circuit(2019 ~ 2021)

    View Slide

  13. リードタイムを縮めるため何をやった?

    View Slide

  14. 研究員がインフラを含めて
    セルフサービスで
    アプリケーション構築できる世界を作り始めた。
    リードタイムを縮めるため何をやった?
    13

    View Slide

  15. 現在 Sansan R&Dの研究員 が アイデアをできるだけ早く安全にリリースし
    て⾼速で改善していくこと を望むとき、彼・彼⼥らは サービスをリリース
    するときにインフラ構築をエンジニアに依頼し、機能ごとに毎回性能評価
    の仕組みを開発 しなければならない。この状況は 研究員の専⾨分野ではな
    い領域の作業待ちに伴う時間のロスや実装コストの増⼤ のため、受け⼊れ
    られない。我々は 研究成果を5⽇でプロダクトとしてリリースし、評価、改
    善のサイクルを⾼速に回すことでビジネス価値を⽣み出せる 世界を夢⾒て
    いる。我々は 研究員の開発におけるベストプラクティスを提供する基盤の
    継続的改善 を通じて、そのような世界を実現するつもりである。
    ラディカル・ビジョン・ステートメント(v1.0.0)
    ラディカル・プロダクト・シンキング イノベーティブなソフトウェア・サービスを⽣み出す5つのステップ

    View Slide

  16. 認知負荷の下げ⽅変えて開発リードタイム向上を狙う
    リードタイムを縮めるため何をやった?
    15
    インフラ
    頼む~
    あいよ〜
    認知負荷は下げられるが
    ⼈間のやり取りは時間がかかる
    優先度
    待ち時間
    なにしよ
    認知負荷は多少上がるが
    リードタイムがコントロールしやすくなる
    ふむふむ
    これなら
    出来そう
    「ポチポチで始めるかんたんデプロイガイド」
    難しかったら
    いつでも
    聞いてね〜
    アプリ実⾏基盤

    View Slide

  17. アプリケーション基盤Circuitを構築
    ⇒ YAML(マニフェスト)を書くだけで
    いい感じの計算リソースでコンテナが動くように
    ⇒ オートスケールも、負荷分散もYAMLで
    リードタイムを縮めるため何をやった?
    16

    View Slide

  18. CI/CDの共通化とフロー整備
    ⾃動マニフェストチェック
    PRをマージしたらデプロイ(GitOps)
    最新イメージをリポジトリにプッシュすると⾃動でPR作成
    ⇒アプリごとにCI/CDの整備が不要
    ⇒コードレビューからリリースまでの時間が短縮
    リードタイムを縮めるため何をやった?
    17

    View Slide

  19. テンプレートからマニフェストを作成する
    Action構築
    YAMLといえど覚えるのは⾯倒くさい
    ⇒ ボタン⼀つでマニフェストと
    PRが作成されるように
    リードタイムを縮めるため何をやった?
    18

    View Slide

  20. バッチを⼿動で実⾏できるActions構築
    ⇒ 定期実⾏バッチの検証や再実⾏がボタン⼀つで
    可能に
    リードタイムを縮めるため何をやった?
    19

    View Slide

  21. モニタリングの⾃動設定
    ⇒ 4XX, 5XX等の基本的なアラートは⾃動で捕捉されるように
    リードタイムを縮めるため何をやった?
    20

    View Slide

  22. After Circuit (2022 ~)
    Algorithm開発 staging構築 staging検証 productionリリース
    After production構築
    - DevOps/MLOpsエンジニア
    - DevOps/MLOpsエンジニアは基盤の構築と運⽤等に集中できる
    - 研究員
    - アプリケーション開発の殆どを⾃分たちで⾏える
    研究員
    DevOps/MLOpsエンジニア

    View Slide

  23. 開発プロセスの変化
    Algorithm開発 staging構築 staging検証 productionリリース
    Algorithm開発 staging構築 staging検証 productionリリース
    Before
    After
    production構築
    production構築
    研究員が⾃⾝が
    アプリケーション構築できる世界に
    研究員
    DevOps/MLOpsエンジニア

    View Slide

  24. リードタイム1ヶ⽉が⾒えてきた
    23

    View Slide

  25. リリース数の増加
    Circuit導⼊後

    View Slide

  26. 🈂
    実験的な機能を利⽤できるサービスSansan Labs
    は研究員の⼤量で⾼速な試⾏錯誤が成果のキモで
    ある。。。。
    Sansan Labsが掲げるリードタイム2週間、年間
    100リリースのため、研究員が低い認知負荷で、
    インフラを含めてセルフサービスでアプリケー
    ション構築できる基盤Circuitと、その開発プロ
    セスの紹介をした。
    Circuit導⼊後当初3ヶ⽉ほどだった開発リードタ
    イムが概ね1ヶ⽉程度にまで短縮された。
    まとめ
    今後、Preview機能やモニタリング強化など
    さらなる施策を検討している。
    Circuitのロゴがほしいこの頃

    View Slide

  27. Sansan 研究開発部
    募集ポジション紹介
    https://media.sansan-engineering.com/randd

    View Slide

  28. View Slide