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
How to develop LayerX INVOICE efficiently
Search
shnjtk
April 27, 2021
Technology
3.9k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to develop LayerX INVOICE efficiently
shnjtk
April 27, 2021
More Decks by shnjtk
See All by shnjtk
EMになってもProduct Engineerであり続けるには
shnjtk
0
480
バクラクビジネスカード 運用業務に対する技術的な取り組み
shnjtk
0
180
20250707-AI活用の個人差を埋めるチームづくり
shnjtk
6
5.3k
プロダクト開発におけるAI時代の開発生産性
shnjtk
2
580
爆速開発文化を支えるProduct Engineerの 開発生産性向上の取り組み
shnjtk
16
14k
layerx-0-to-1-product-development-in-compound-startups
shnjtk
1
2.2k
layerx-bakuraku-how-to-handle-incoming-webhooks-with-difference-specifications-in-unified-way
shnjtk
1
3.9k
layerx-bakuraku-how-to-achieve-agility-and-security
shnjtk
1
630
layerx-invoice-practical-devops-20211029
shnjtk
6
17k
Other Decks in Technology
See All in Technology
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
7k
Goでデータパイプラインを作ろう
sansantech
PRO
1
390
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
180
Forza Horizon 6 のテレメトリ機能で 自動運転に使えそうな学習データを集める話
henjin0
0
160
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
690
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
190
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
20分でわかるセキュアAPI
nwiizo
2
230
Redmine 7.0 新機能・機能強化解説(OSC2026京都ダイジェスト版)
vividtone
1
240
LLM・AIエージェントシステムベストプラクティス
shibuiwilliam
5
940
ラジオの科学
frievea
0
290
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.4k
Featured
See All Featured
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
610
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
A Tale of Four Properties
chriscoyier
163
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Leo the Paperboy
mayatellez
8
2.1k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
GitHub's CSS Performance
jonrohan
1033
470k
Site-Speed That Sticks
csswizardry
13
1.4k
Skip the Path - Find Your Career Trail
mkilby
1
180
The Limits of Empathy - UXLibs8
cassininazir
1
600
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Docker and Python
trallard
47
4.1k
Transcript
© LayerX Inc. LayerX インボイス 効率的な開発を目指して AWS Startup Tech Meetup
Online #4
© LayerX Inc. 自己紹介 高江 信次 株式会社LayerX CTO室 リードエンジニア 経歴:
ソニー株式会社 技術開発部門 → EdTech系新規事業 フリーランス 2019年12月より現職 (主にインフラ担当) 2
© LayerX Inc. 今日話すこと LayerX インボイスを短期間で開発し早期リリースするために プロジェクトの初期段階からリリースを経て現在までの各フェーズで どのように取り組んだかについてご紹介 3
© LayerX Inc. LayerX インボイスとは 4 https://www.layerx.jp/invoice 『請求書処理を、手入力ゼロに』
© LayerX Inc. プロジェクトタイムライン 5 2020年8月 2020年10月 2020年11月 2020年12月 2021年1月
2021年4月 プロジェクト開始 『バックオフィスのDX』 クローズドαリリース LayerX インボイス 開発開始 『請求書AIクラウド』 クローズドβリリース 正式リリース ワークフロー機能 リリース
© LayerX Inc. 技術スタック • フロントエンド : Nuxt + TypeScript
• バックエンド : Go • データベース : MySQL • インフラ : AWS 6
© LayerX Inc. プロジェクト開始時点のアーキテクチャ構成 7 Amazon CloudFront • 最低限のリソースのみを使用したシンプルな構成 •
アプリもモノリス • 非同期処理や自動バッチ処理はなし ◦ バッチは必要に応じて local環境から実施 • マネージドサービスを活用して運用コストを下げる ◦ バックアップやスケーリングなど • 一方で、セキュリティは最初からきちんと設計する ◦ security group、IAM、KMS、etc. ◦ これらは後からやろうとするとコストが かかるので、最初から構成に組み込んでおく ◦ 「明日から本番運用開始」となっても 大幅な変更なくすぐに対応できるように Amazon S3 Elastic Load Balancing AWS Fargate Amazon Aurora Amazon S3
© LayerX Inc. クローズドαリリース時点の構成 8 • UX向上のためバックエンド処理の一部を非同期化 • APIサーバとは別に非同期ジョブ処理用の コンテナを立ち上げ、ジョブキューを介して
メッセージをやり取り • ジョブの進捗管理やエラー時のリトライ処理、 重複制御や冪等性の担保などをケアする必要あり Amazon S3 Amazon CloudFront Elastic Load Balancing AWS Fargate Amazon Aurora Amazon S3 Amazon SQS AWS Fargate
© LayerX Inc. クローズドβ〜正式リリース時点の構成 9 • 今後のサービス展開を見据え、 ユーザー情報&セッション管理機能を切り出して ID管理基盤として独立したサービスに •
それまでの構成を流用することで立ち上げの 期間を短縮 • βリリースから正式リリースまでの間にも細かな改善を 実施 • 正式リリースのための特別な作業はなく、 早期リリースを実現 Amazon CloudFront Elastic Load Balancing AWS Fargate Amazon S3 Amazon Aurora Amazon CloudFront Elastic Load Balancing Amazon S3 AWS Fargate Amazon SQS Amazon S3 AWS Fargate ID管理基盤 LayerX インボイス
© LayerX Inc. ワークフロー機能リリース時点の構成 10 • LayerX インボイス、ID管理基盤で基本的な『型』がで きていたので、アプリもインフラも 既存資産の大部分を流用
• 結果、ワークフロー機能としてのアプリ開発以外の部 分については所要期間をさらに大幅に短縮 Amazon CloudFront Elastic Load Balancing AWS Fargate Amazon S3 Amazon Aurora Amazon CloudFront Elastic Load Balancing Amazon S3 AWS Fargate Amazon SQS Amazon S3 AWS Fargate ワークフロー LayerX インボイス Amazon CloudFront Elastic Load Balancing AWS Fargate Amazon S3 ID管理基盤 Amazon SQS Amazon S3 AWS Fargate
© LayerX Inc. インフラ開発に要した期間 • LayerX インボイス : 2週間〜1ヶ月 •
ID管理基盤 : 1週間 • ワークフロー機能 : 2日 11
© LayerX Inc. SaaSの活用 vs 自社開発 • メール送受信機能 : SendGrid
◦ Inbound Parse Webhookという受信したメールを HTTPで転送してくれる機能が非常に便利 • ユーザー認証機能 : 自社開発 ◦ Amazon CognitoやAuth0などを検証したが結局自社開発することに 12
© LayerX Inc. まとめ • コンセプト検証段階(PMF以前)は作り込みすぎない ◦ 作るものが大きく変わったり捨てる可能性もあるので、捨てても惜しくないように • マネージドサービスやSaaSを積極的に活用する
◦ 自分たちが本来やるべきことに集中する ◦ これらでは要件を満たせなくなったら自社での開発・運用を考える • 横展開しやすいように、プロジェクトとして「型」を持っておく ◦ 流用できるように資産としてストックする ◦ 開発が進めば進むほどレバレッジを効かせることができる 13
© LayerX Inc. AWS Summit Online 2021 14 2021/5/12 (水)
17:00 - 17:30 CI/CDパイプライン、TerraformによるIaC、AWSマルチアカウント管理など 今日話してない内容盛り沢山です!是非ご覧ください!
© LayerX Inc. エンジニア募集中!! • 「ブロックチェーン詳しくないけど大丈夫?」とよく聞かれますが 全く問題ありません! Web開発もやってます! • 最近はGraphQLも始めました
• まずはカジュアルに話を聞いてみたいというレベルでも全然OKですので お気軽にご連絡ください! • Tech Blog 『LayerX ENGINEERS’』 ◦ https://tech.layerx.co.jp/ • Podcast 『LayerX NOW!』 ◦ https://anchor.fm/layerx 15 https://herp.careers/v1/layerx