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. 3 自己紹介 松本 勇気 (@y_matsuwitter) 株式会社LayerX

    代表取締役CTO 株式会社三井物産デジタル・アセットマネジメント 取締 役 日本CTO協会 理事 Fintech/PrivacyTechを主に管掌 趣味は筋トレと料理
  2. © 2022 LayerX Inc. 5 会社名 株式会社LayerX(レイヤーエックス) 代表取締役 福島 良典

    / 松本 勇気 創業 2018年 8月1日 従業員数 101名(2022年6月時点) 資本金 31億円 事業概要 SaaS事業、Fintech事業、Privacy Tech事業 関連会社 三井物産デジタル・アセットマネジメント (三井物産、LayerX、三井住友信託銀行、SMBC日興証券、JA三井リース、イデラキャピタルマネジメントに よる合弁会社) お取り組み実績 取得認証 情報セキュリティマネジメントシステム、JIIMA認証 一部抜粋 * 資本準備金含む  ** 全事業含む IS 747702 / ISO 27001 会社概要
  3. © 2022 LayerX Inc. 6 バクラク事業 企業活動のインフラとなる法人支出管理 (BSM)SaaSを開発・提供 LayerXの提供プロダクト Fintech事業

    ソフトウェアを駆使したアセットマネ ジメント・証券事業を合弁会社にて 展開 PrivacyTech事業 パーソナルデータの利活用とプライバシー保 護を両立するソリューションの提供
  4. © 2022 LayerX Inc. 9 法人の支出管理の流れとよくある課題 請求書処理や経費精算は、「紙」が多く、「手作業」も多い、最もアナログな領域の一つ - 紙でのやりとりが中心で、手入力や目視でのチェックが多く、ミスも発生しやすい。 -

    複数のサービス間でデータが連携されずに、確認工数が増加しやすい。 回収 稟議 承認 データ 入力 仕訳/支払 データ作成 支払 保管/税務・監査対応 会計ソフト反映 「手入力だ大変」 「記入ミスで手戻り」 「承認し忘れる」 「承認が多く大変」 「手入力が多い」 「ミス・手戻りが多い」 「仕訳作成/確認が大変」 「支払データ作成が大変」 「属人性が高い」 「データ転記が発生」 「同じ情報を何度も手入 力目視チェックが大変」 「紙で保管、共有が大変」 「税務・監査対応。過去データを出すのが大変」 現場・全社の課題 経理の課題 経理/総務の課題 「請求書が来ない」 「領収書がない」
  5. © 2022 LayerX Inc. 10 手作業が多くなりがちな支出管理業務のデジタル化を一気通貫でサポート 管理部門だけでなく、現場社員からも喜ばれる圧倒的な使いやすさにこだわっているため、 ITツールが苦手な方でも安心してご利用いただけます。 現場・全社の課題を解決 経理の課題を解決

    経理/総務の課題を解決 回収 稟議 承認 データ 入力 仕訳/支払 データ作成 支払 保管/税務・監査対応 会計ソフト反映 デジタル受け取り 自動受け取り スマホ ・ Slack AI OCR 自動入力 API連携 ・ 自動出力 クラウド管理 ・ 電子帳簿保存
  6. © 2022 LayerX Inc. 11 バクラクシリーズラインナップ * 経費精算のSlack連携は申請内容の通知のみ 稟議・支払申請・経費精算・ワークフロー ・AIが領収書を5秒でデータ化

    ・承認はチャットアプリから ・シームレスな内部統制構築 仕訳・支払処理効率化 ・AIが請求書を5秒でデータ化 ・仕訳データを自動学習、 手入力ゼロへ ・改正電子帳簿保存法に対応 ・利用料無料 ・即時追加発行 ・最大1億円決済可能 法人向けクレジットカード ・無料で始められる ・手入力ゼロで証憑管理 ・改正電子帳簿保存法に対応 帳票保存・ストレージ
  7. © 2022 LayerX Inc. 18 爆速開発文化とは 企画を待って、デザインを待って、と いう工程を飛ばし、一人ひとりが仕様 策定〜開発まで一気通貫して責任を 持ち即座に作っていく。

    作ったものをデモを通じて即座に試 し、良し悪しを検証する。 爆速にリリースすることで、Fail Fastを実現する。 小さく、こまめにリリースすることで、 Failの影響を小さく抑え、素早く品質 を向上していく。 ユーザーの使わないものを正確に正 しく大きく作るリスクを避ける。 ユーザーの使うものを実際の声から 拾い上げ、裏の意図を汲み、そこから 必要なものを最小限シンプルに試して いく。 即座に作り、即座に試す デモ文化 スピードが品質を作る 正しいものを作る LayerXでは開発組織全体で開発スピードに偏った意思決定を取ることを良しとしている。
  8. © 2022 LayerX Inc. 21 基本的・シンプルなアーキテクチャを徹底 • AWSの基本に則ったシンプルな構成を徹底、どのプロダクトも同じような構成に。 • 可能な限りManaged

    Serviceに乗っかることで運用自体もシンプルに。 • CloudFront, ALB, ECS, S3など 基本的な構成を踏襲 • DBはAuroraやDynamoDB、 Elasticache、OpenSearchなど のManagedを活用 • ログなどもManagedなサービス中心 で収集し、Datadogなどと連携
  9. © 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; 興味ある方はこちらの資料へ 「マルチテナントのアプリケーション実装〜実践編〜」
  10. © 2022 LayerX Inc. 23 プロダクトカットでシステム分割+横軸支援組織 • プロダクトごとにチームを組成、独立して走る体制で爆速さを確保。 • 横断的な物事はPdMの横連携でカバー、複雑化するプロダクト間連携は今後の課題。

    申請チーム バクラク請求書 認証認可 バクラク申請 請求書チーム 共通管理系 Enabling Team DevOps xOps 基本は独立して企画・開発・リリース。 PdMにてプロダクト横断連携。 全体の生産性向上・技術的支援
  11. © 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
  12. © 2022 LayerX Inc. 28 AWS上でサービスを分割・追加しやすいMicroservicesへ • プロダクトカットから、カジュアルにサービスを分割・追加することが自然に行えるプロダクト設計への移行検討。 • リアーキテクチャを日常とすることで、今後の爆速開発とドメインの複雑化の両立を狙う。

    プロダクトA プロダクトB プロダクトC gateway 請求書サービス 認証認可 サービス 申請サービス OCRサービス 共有 サービスA …etc 新規 サービスA サービスの 分割・切り出し 注)検証中の 構成です 既存のサービス群 Microservices 既存経路 Proxy
  13. © 2022 LayerX Inc. 29 Monorepoによる型化 • 手段としてのMonorepoの採択、これによりサービス間依存をコードで表現しやすく。 • 新しいサービスを作成する部分をツール化し、同じ型で即座にベースを作成。

    Monorepo ServiceA ServiceB ServiceC API定義 サービス間依存のコード化 => CI時に変更の影響検証 Generator tools ServiceX toolによる新たなサービス生成の 自動化、効率化
  14. © 2022 LayerX Inc. 31 AWSを活用して定石どおり、シンプルな構成が爆速を生んできた • 複雑なことをしない、定石を守ることが速度を生み出す。 • 爆速開発によって顧客の必要なものが最速で届く環境を今後も目指す。

    爆速開発 素早く作り、素早く小さく失敗するこ とで、爆速で正しいプロダクトに近づ けていくことを基本原理とする。 定石・Managed・型化 爆速を達成するために、AWSの基本 的な構成を踏襲し、マネージドサービ スの活用で運用負荷を減らす。 また、terraformなどの型化でセキュ リティやガバナンスをスピードと両立 させる。 拡張可能性への挑戦 複雑化するプロダクトとその間の連携 に応えるべく、Monorepoと Microservicesをベースにした分割 しやすいサービス設計に挑戦してい く。