Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

Before Circuit(2019 ~ 2021)

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

No content