Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tech behind LayerX SaaS products

Tech behind LayerX SaaS products

SaaS on AWS 2022 基調講演

y_matsuwitter

October 28, 2022
Tweet

More Decks by y_matsuwitter

Other Decks in Programming

Transcript

  1. © 2022 LayerX Inc.
    SaaS+Fintechの爆速開発を支える技術
    LayerX @y_matsuwitter
    2022.10.26

    View Slide

  2. 自己紹介

    View Slide

  3. © 2022 LayerX Inc.
    3
    自己紹介
    松本 勇気 (@y_matsuwitter)
    株式会社LayerX 代表取締役CTO
    株式会社三井物産デジタル・アセットマネジメント 取締

    日本CTO協会 理事
    Fintech/PrivacyTechを主に管掌
    趣味は筋トレと料理

    View Slide

  4. 会社紹介

    View Slide

  5. © 2022 LayerX Inc.
    5
    会社名 株式会社LayerX(レイヤーエックス)
    代表取締役 福島 良典 / 松本 勇気
    創業 2018年 8月1日
    従業員数 101名(2022年6月時点)
    資本金 31億円
    事業概要 SaaS事業、Fintech事業、Privacy Tech事業
    関連会社 三井物産デジタル・アセットマネジメント (三井物産、LayerX、三井住友信託銀行、SMBC日興証券、JA三井リース、イデラキャピタルマネジメントに
    よる合弁会社)
    お取り組み実績
    取得認証 情報セキュリティマネジメントシステム、JIIMA認証
    一部抜粋
    * 資本準備金含む  ** 全事業含む
    IS 747702 / ISO 27001
    会社概要

    View Slide

  6. © 2022 LayerX Inc.
    6
    バクラク事業
    企業活動のインフラとなる法人支出管理
    (BSM)SaaSを開発・提供
    LayerXの提供プロダクト
    Fintech事業
    ソフトウェアを駆使したアセットマネ
    ジメント・証券事業を合弁会社にて
    展開
    PrivacyTech事業
    パーソナルデータの利活用とプライバシー保
    護を両立するソリューションの提供

    View Slide

  7. バクラクシリーズについて

    View Slide

  8. 圧倒的に使いやすいプロダクトで
    わくわくする働き方を。
    企業活動を支えるコーポレート業務は、ミスができない難しい業務。
    バクラクはそんな業務の負担を少しでも軽くし、日常の業務がわくわくするような体験を届けます。
    使いやすさへの圧倒的なこだわりと、深い顧客理解で業務効率化を実現。
    手作業、ハンコ、紙のやり取りから脱却し、事業と組織を支える本来の仕事に向き合えるようサポートします。

    View Slide

  9. © 2022 LayerX Inc.
    9
    法人の支出管理の流れとよくある課題
    請求書処理や経費精算は、「紙」が多く、「手作業」も多い、最もアナログな領域の一つ
    - 紙でのやりとりが中心で、手入力や目視でのチェックが多く、ミスも発生しやすい。
    - 複数のサービス間でデータが連携されずに、確認工数が増加しやすい。
    回収 稟議 承認
    データ
    入力
    仕訳/支払
    データ作成
    支払
    保管/税務・監査対応
    会計ソフト反映
    「手入力だ大変」
    「記入ミスで手戻り」
    「承認し忘れる」
    「承認が多く大変」
    「手入力が多い」
    「ミス・手戻りが多い」
    「仕訳作成/確認が大変」
    「支払データ作成が大変」
    「属人性が高い」
    「データ転記が発生」
    「同じ情報を何度も手入
    力目視チェックが大変」
    「紙で保管、共有が大変」
    「税務・監査対応。過去データを出すのが大変」
    現場・全社の課題 経理の課題 経理/総務の課題
    「請求書が来ない」
    「領収書がない」

    View Slide

  10. © 2022 LayerX Inc.
    10
    手作業が多くなりがちな支出管理業務のデジタル化を一気通貫でサポート
    管理部門だけでなく、現場社員からも喜ばれる圧倒的な使いやすさにこだわっているため、
    ITツールが苦手な方でも安心してご利用いただけます。
    現場・全社の課題を解決 経理の課題を解決 経理/総務の課題を解決
    回収 稟議 承認
    データ
    入力
    仕訳/支払
    データ作成
    支払
    保管/税務・監査対応
    会計ソフト反映
    デジタル受け取り 自動受け取り スマホ ・ Slack AI OCR 自動入力 API連携 ・ 自動出力 クラウド管理 ・ 電子帳簿保存

    View Slide

  11. © 2022 LayerX Inc.
    11
    バクラクシリーズラインナップ
    * 経費精算のSlack連携は申請内容の通知のみ
    稟議・支払申請・経費精算・ワークフロー
    ・AIが領収書を5秒でデータ化
    ・承認はチャットアプリから
    ・シームレスな内部統制構築
    仕訳・支払処理効率化
    ・AIが請求書を5秒でデータ化
    ・仕訳データを自動学習、 手入力ゼロへ
    ・改正電子帳簿保存法に対応
    ・利用料無料
    ・即時追加発行
    ・最大1億円決済可能
    法人向けクレジットカード
    ・無料で始められる
    ・手入力ゼロで証憑管理
    ・改正電子帳簿保存法に対応
    帳票保存・ストレージ

    View Slide

  12. 三井物産デジタル・アセッ
    トマネジメントについて

    View Slide

  13. View Slide

  14. © 2022 LayerX Inc.
    14
    MDMのプロダクト

    View Slide

  15. PrivacyTechについて

    View Slide

  16. © 2022 LayerX Inc.
    16
    取り組み

    View Slide

  17. 爆速開発文化

    View Slide

  18. © 2022 LayerX Inc.
    18
    爆速開発文化とは
    企画を待って、デザインを待って、と
    いう工程を飛ばし、一人ひとりが仕様
    策定〜開発まで一気通貫して責任を
    持ち即座に作っていく。
    作ったものをデモを通じて即座に試
    し、良し悪しを検証する。
    爆速にリリースすることで、Fail
    Fastを実現する。
    小さく、こまめにリリースすることで、
    Failの影響を小さく抑え、素早く品質
    を向上していく。
    ユーザーの使わないものを正確に正
    しく大きく作るリスクを避ける。
    ユーザーの使うものを実際の声から
    拾い上げ、裏の意図を汲み、そこから
    必要なものを最小限シンプルに試して
    いく。
    即座に作り、即座に試す
    デモ文化
    スピードが品質を作る 正しいものを作る
    LayerXでは開発組織全体で開発スピードに偏った意思決定を取ることを良しとしている。

    View Slide

  19. © 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

    View Slide

  20. 技術採用方針と主な構成

    View Slide

  21. © 2022 LayerX Inc.
    21
    基本的・シンプルなアーキテクチャを徹底
    ● AWSの基本に則ったシンプルな構成を徹底、どのプロダクトも同じような構成に。
    ● 可能な限りManaged Serviceに乗っかることで運用自体もシンプルに。
    ● CloudFront, ALB, ECS, S3など
    基本的な構成を踏襲
    ● DBはAuroraやDynamoDB、
    Elasticache、OpenSearchなど
    のManagedを活用
    ● ログなどもManagedなサービス中心
    で収集し、Datadogなどと連携

    View Slide

  22. © 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;
    興味ある方はこちらの資料へ
    「マルチテナントのアプリケーション実装〜実践編〜」

    View Slide

  23. © 2022 LayerX Inc.
    23
    プロダクトカットでシステム分割+横軸支援組織
    ● プロダクトごとにチームを組成、独立して走る体制で爆速さを確保。
    ● 横断的な物事はPdMの横連携でカバー、複雑化するプロダクト間連携は今後の課題。
    申請チーム
    バクラク請求書 認証認可
    バクラク申請
    請求書チーム
    共通管理系
    Enabling
    Team
    DevOps
    xOps
    基本は独立して企画・開発・リリース。
    PdMにてプロダクト横断連携。
    全体の生産性向上・技術的支援

    View Slide

  24. © 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

    View Slide

  25. 現状の課題

    View Slide

  26. © 2022 LayerX Inc.
    26
    ドメインの複雑化によるプロダクト連携の難しさ
    ● プロダクト数増加にあたり、プロダクト間でのドメイン境界の複雑化。
    ● どのデータが誰の責務か、プロダクトカットでは綺麗に切り分けられない状況に出くわすようになった。
    プロダクトA
    プロダクトB
    プロダクトB
    プロダクトD
    共通利用するドメイン
    重複するドメイン
    重複するドメイン

    View Slide

  27. 今後の方針

    View Slide

  28. © 2022 LayerX Inc.
    28
    AWS上でサービスを分割・追加しやすいMicroservicesへ
    ● プロダクトカットから、カジュアルにサービスを分割・追加することが自然に行えるプロダクト設計への移行検討。
    ● リアーキテクチャを日常とすることで、今後の爆速開発とドメインの複雑化の両立を狙う。
    プロダクトA
    プロダクトB
    プロダクトC gateway
    請求書サービス
    認証認可
    サービス
    申請サービス
    OCRサービス
    共有
    サービスA
    …etc
    新規
    サービスA
    サービスの
    分割・切り出し
    注)検証中の
    構成です
    既存のサービス群
    Microservices
    既存経路
    Proxy

    View Slide

  29. © 2022 LayerX Inc.
    29
    Monorepoによる型化
    ● 手段としてのMonorepoの採択、これによりサービス間依存をコードで表現しやすく。
    ● 新しいサービスを作成する部分をツール化し、同じ型で即座にベースを作成。
    Monorepo
    ServiceA
    ServiceB
    ServiceC
    API定義
    サービス間依存のコード化
    => CI時に変更の影響検証
    Generator tools
    ServiceX
    toolによる新たなサービス生成の
    自動化、効率化

    View Slide

  30. 最後に

    View Slide

  31. © 2022 LayerX Inc.
    31
    AWSを活用して定石どおり、シンプルな構成が爆速を生んできた
    ● 複雑なことをしない、定石を守ることが速度を生み出す。
    ● 爆速開発によって顧客の必要なものが最速で届く環境を今後も目指す。
    爆速開発
    素早く作り、素早く小さく失敗するこ
    とで、爆速で正しいプロダクトに近づ
    けていくことを基本原理とする。
    定石・Managed・型化
    爆速を達成するために、AWSの基本
    的な構成を踏襲し、マネージドサービ
    スの活用で運用負荷を減らす。
    また、terraformなどの型化でセキュ
    リティやガバナンスをスピードと両立
    させる。
    拡張可能性への挑戦
    複雑化するプロダクトとその間の連携
    に応えるべく、Monorepoと
    Microservicesをベースにした分割
    しやすいサービス設計に挑戦してい
    く。

    View Slide