Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Tech behind LayerX SaaS products
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
y_matsuwitter
October 28, 2022
Programming
3.8k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Tech behind LayerX SaaS products
SaaS on AWS 2022 基調講演
y_matsuwitter
October 28, 2022
More Decks by y_matsuwitter
See All by y_matsuwitter
LLMと共に進化するプロセスを目指して
ymatsuwitter
13
4.4k
Building Products in the LLM Era
ymatsuwitter
11
13k
Product Utilization of Large Language Models Starting Today
ymatsuwitter
3
3.4k
経営・意思・エンジニアリング
ymatsuwitter
23
22k
LLM in 2023 and 2024
ymatsuwitter
8
6.3k
Turbulent Technological Changes and Career Strategies
ymatsuwitter
2
3.2k
LLM in toB Service and Its UX
ymatsuwitter
7
12k
Agent and small LLM validation
ymatsuwitter
7
3.1k
Information management for a culture of speed: The story of Notion and LayerX
ymatsuwitter
4
11k
Other Decks in Programming
See All in Programming
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
260
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
140
net-httpのHTTP/2対応について
naruse
0
500
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
120
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
840
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
570
Webフレームワークの ベンチマークについて
yusukebe
0
170
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.2k
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.7k
Inside Stream API
skrb
1
740
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
260
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
340
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
320
Typedesign – Prime Four
hannesfritz
42
3.1k
Designing for Performance
lara
611
70k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
390
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Git: the NoSQL Database
bkeepers
PRO
432
67k
How to Ace a Technical Interview
jacobian
281
24k
From π to Pie charts
rasagy
0
210
Amusing Abliteration
ianozsvald
1
210
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Transcript
© 2022 LayerX Inc. SaaS+Fintechの爆速開発を支える技術 LayerX @y_matsuwitter 2022.10.26
自己紹介
© 2022 LayerX Inc. 3 自己紹介 松本 勇気 (@y_matsuwitter) 株式会社LayerX
代表取締役CTO 株式会社三井物産デジタル・アセットマネジメント 取締 役 日本CTO協会 理事 Fintech/PrivacyTechを主に管掌 趣味は筋トレと料理
会社紹介
© 2022 LayerX Inc. 5 会社名 株式会社LayerX(レイヤーエックス) 代表取締役 福島 良典
/ 松本 勇気 創業 2018年 8月1日 従業員数 101名(2022年6月時点) 資本金 31億円 事業概要 SaaS事業、Fintech事業、Privacy Tech事業 関連会社 三井物産デジタル・アセットマネジメント (三井物産、LayerX、三井住友信託銀行、SMBC日興証券、JA三井リース、イデラキャピタルマネジメントに よる合弁会社) お取り組み実績 取得認証 情報セキュリティマネジメントシステム、JIIMA認証 一部抜粋 * 資本準備金含む ** 全事業含む IS 747702 / ISO 27001 会社概要
© 2022 LayerX Inc. 6 バクラク事業 企業活動のインフラとなる法人支出管理 (BSM)SaaSを開発・提供 LayerXの提供プロダクト Fintech事業
ソフトウェアを駆使したアセットマネ ジメント・証券事業を合弁会社にて 展開 PrivacyTech事業 パーソナルデータの利活用とプライバシー保 護を両立するソリューションの提供
バクラクシリーズについて
圧倒的に使いやすいプロダクトで わくわくする働き方を。 企業活動を支えるコーポレート業務は、ミスができない難しい業務。 バクラクはそんな業務の負担を少しでも軽くし、日常の業務がわくわくするような体験を届けます。 使いやすさへの圧倒的なこだわりと、深い顧客理解で業務効率化を実現。 手作業、ハンコ、紙のやり取りから脱却し、事業と組織を支える本来の仕事に向き合えるようサポートします。
© 2022 LayerX Inc. 9 法人の支出管理の流れとよくある課題 請求書処理や経費精算は、「紙」が多く、「手作業」も多い、最もアナログな領域の一つ - 紙でのやりとりが中心で、手入力や目視でのチェックが多く、ミスも発生しやすい。 -
複数のサービス間でデータが連携されずに、確認工数が増加しやすい。 回収 稟議 承認 データ 入力 仕訳/支払 データ作成 支払 保管/税務・監査対応 会計ソフト反映 「手入力だ大変」 「記入ミスで手戻り」 「承認し忘れる」 「承認が多く大変」 「手入力が多い」 「ミス・手戻りが多い」 「仕訳作成/確認が大変」 「支払データ作成が大変」 「属人性が高い」 「データ転記が発生」 「同じ情報を何度も手入 力目視チェックが大変」 「紙で保管、共有が大変」 「税務・監査対応。過去データを出すのが大変」 現場・全社の課題 経理の課題 経理/総務の課題 「請求書が来ない」 「領収書がない」
© 2022 LayerX Inc. 10 手作業が多くなりがちな支出管理業務のデジタル化を一気通貫でサポート 管理部門だけでなく、現場社員からも喜ばれる圧倒的な使いやすさにこだわっているため、 ITツールが苦手な方でも安心してご利用いただけます。 現場・全社の課題を解決 経理の課題を解決
経理/総務の課題を解決 回収 稟議 承認 データ 入力 仕訳/支払 データ作成 支払 保管/税務・監査対応 会計ソフト反映 デジタル受け取り 自動受け取り スマホ ・ Slack AI OCR 自動入力 API連携 ・ 自動出力 クラウド管理 ・ 電子帳簿保存
© 2022 LayerX Inc. 11 バクラクシリーズラインナップ * 経費精算のSlack連携は申請内容の通知のみ 稟議・支払申請・経費精算・ワークフロー ・AIが領収書を5秒でデータ化
・承認はチャットアプリから ・シームレスな内部統制構築 仕訳・支払処理効率化 ・AIが請求書を5秒でデータ化 ・仕訳データを自動学習、 手入力ゼロへ ・改正電子帳簿保存法に対応 ・利用料無料 ・即時追加発行 ・最大1億円決済可能 法人向けクレジットカード ・無料で始められる ・手入力ゼロで証憑管理 ・改正電子帳簿保存法に対応 帳票保存・ストレージ
三井物産デジタル・アセッ トマネジメントについて
None
© 2022 LayerX Inc. 14 MDMのプロダクト
PrivacyTechについて
© 2022 LayerX Inc. 16 取り組み
爆速開発文化
© 2022 LayerX Inc. 18 爆速開発文化とは 企画を待って、デザインを待って、と いう工程を飛ばし、一人ひとりが仕様 策定〜開発まで一気通貫して責任を 持ち即座に作っていく。
作ったものをデモを通じて即座に試 し、良し悪しを検証する。 爆速にリリースすることで、Fail Fastを実現する。 小さく、こまめにリリースすることで、 Failの影響を小さく抑え、素早く品質 を向上していく。 ユーザーの使わないものを正確に正 しく大きく作るリスクを避ける。 ユーザーの使うものを実際の声から 拾い上げ、裏の意図を汲み、そこから 必要なものを最小限シンプルに試して いく。 即座に作り、即座に試す デモ文化 スピードが品質を作る 正しいものを作る LayerXでは開発組織全体で開発スピードに偏った意思決定を取ることを良しとしている。
© 2022 LayerX Inc. 19 プロダクトリリースの実際 およそ1年半で8個のプロダクトの公開・利用開始。 それ以外にもPrivacyTechではいくつかのPoCプロジェクトが進む。 DAM(Digital Asset
Management) 物件管理くん 2021年 2022年 2021/01 2021/04 2021/11 2022/05 2022/08 2022/08 2021/09 2021/11
技術採用方針と主な構成
© 2022 LayerX Inc. 21 基本的・シンプルなアーキテクチャを徹底 • AWSの基本に則ったシンプルな構成を徹底、どのプロダクトも同じような構成に。 • 可能な限りManaged
Serviceに乗っかることで運用自体もシンプルに。 • CloudFront, ALB, ECS, S3など 基本的な構成を踏襲 • DBはAuroraやDynamoDB、 Elasticache、OpenSearchなど のManagedを活用 • ログなどもManagedなサービス中心 で収集し、Datadogなどと連携
© 2022 LayerX Inc. 22 テナントの管理 • バクラクはマルチテナントSaaS、DBにおいて行単位で所有カラムを用意しAppで吸収。 • アーキテクチャはシンプルだが、Appロジックの重要性が高まるためDBアクセス周辺コードに工夫。
DB App ID 1 TenantID Name 123 aaaa DBとインスタンスは 全Tenant共通 SELECT * FROM hoge WHERE TenantID = 123; 興味ある方はこちらの資料へ 「マルチテナントのアプリケーション実装〜実践編〜」
© 2022 LayerX Inc. 23 プロダクトカットでシステム分割+横軸支援組織 • プロダクトごとにチームを組成、独立して走る体制で爆速さを確保。 • 横断的な物事はPdMの横連携でカバー、複雑化するプロダクト間連携は今後の課題。
申請チーム バクラク請求書 認証認可 バクラク申請 請求書チーム 共通管理系 Enabling Team DevOps xOps 基本は独立して企画・開発・リリース。 PdMにてプロダクト横断連携。 全体の生産性向上・技術的支援
© 2022 LayerX Inc. 24 IaCとガバナンス、その取組事例 • スピードを理由にセキュリティを諦めないため、セキュリティ・ガバナンス管理手段を初期から整備。 • IaCの徹底により、運用の安全性とスピードを両立する。
• AWS Account作成の自動化とルール適用。予算 アラート、不要な初期リソース削除、セキュリティ チェックの有効化。 • Service Control Policyによるセキュリティ チェックの強制。 • s3等にmodule定義による設定の共通化。 Terraformによる型作り 1 • AWS CloudTrailやSecurityHub、Config、 Guardduty等で標準的なポリシーに準拠してい るか検証。 AWSの基本に則った自動的セキュリティチェック 2 • terraformのplan結果に対してregoで定義した Policyやtfsecに準拠しているかCI時点で検証。 TerraformのPolicy Check 3 • AWS Step Functionベースで、入退社時の権限 付与・剥奪を自動化、抜け漏れない管理を実現。 入退社管理の自動化 4
現状の課題
© 2022 LayerX Inc. 26 ドメインの複雑化によるプロダクト連携の難しさ • プロダクト数増加にあたり、プロダクト間でのドメイン境界の複雑化。 • どのデータが誰の責務か、プロダクトカットでは綺麗に切り分けられない状況に出くわすようになった。
プロダクトA プロダクトB プロダクトB プロダクトD 共通利用するドメイン 重複するドメイン 重複するドメイン
今後の方針
© 2022 LayerX Inc. 28 AWS上でサービスを分割・追加しやすいMicroservicesへ • プロダクトカットから、カジュアルにサービスを分割・追加することが自然に行えるプロダクト設計への移行検討。 • リアーキテクチャを日常とすることで、今後の爆速開発とドメインの複雑化の両立を狙う。
プロダクトA プロダクトB プロダクトC gateway 請求書サービス 認証認可 サービス 申請サービス OCRサービス 共有 サービスA …etc 新規 サービスA サービスの 分割・切り出し 注)検証中の 構成です 既存のサービス群 Microservices 既存経路 Proxy
© 2022 LayerX Inc. 29 Monorepoによる型化 • 手段としてのMonorepoの採択、これによりサービス間依存をコードで表現しやすく。 • 新しいサービスを作成する部分をツール化し、同じ型で即座にベースを作成。
Monorepo ServiceA ServiceB ServiceC API定義 サービス間依存のコード化 => CI時に変更の影響検証 Generator tools ServiceX toolによる新たなサービス生成の 自動化、効率化
最後に
© 2022 LayerX Inc. 31 AWSを活用して定石どおり、シンプルな構成が爆速を生んできた • 複雑なことをしない、定石を守ることが速度を生み出す。 • 爆速開発によって顧客の必要なものが最速で届く環境を今後も目指す。
爆速開発 素早く作り、素早く小さく失敗するこ とで、爆速で正しいプロダクトに近づ けていくことを基本原理とする。 定石・Managed・型化 爆速を達成するために、AWSの基本 的な構成を踏襲し、マネージドサービ スの活用で運用負荷を減らす。 また、terraformなどの型化でセキュ リティやガバナンスをスピードと両立 させる。 拡張可能性への挑戦 複雑化するプロダクトとその間の連携 に応えるべく、Monorepoと Microservicesをベースにした分割 しやすいサービス設計に挑戦してい く。