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
事業会社の未経験エンジニアチームが内製した2つのWebサービスのアーキテクチャを紹介します!
Search
Kazuki Miura
PRO
May 10, 2024
Technology
340
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
事業会社の未経験エンジニアチームが内製した2つのWebサービスのアーキテクチャを紹介します!
#jawsug
#jawsugtohoku
https://jaws-tohoku.doorkeeper.jp/events/170103
Kazuki Miura
PRO
May 10, 2024
More Decks by Kazuki Miura
See All by Kazuki Miura
地域のCCoEの拡大を目指す 企業間コミュニティ 「re:light local」について
miu_crescent
PRO
0
53
us-east-1 に障害が起きた時に、 ap-northeast-1 にどんな影響があるか 説明できるようになろう!
miu_crescent
PRO
13
5.2k
これだけはやっておいた方がよさそう?awsにおけるランサムウェア対策
miu_crescent
PRO
1
160
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
4
460
なぜ あなたはそんなに re:Invent に行くのか?
miu_crescent
PRO
0
430
エンタメ方向のTを広げよう!Werner先生の クロージングキーノートを 深掘りするための小ネタ10
miu_crescent
PRO
1
210
Amazon Bedrockを活用した 報道向け文字起こしシステムの開発
miu_crescent
PRO
1
200
us-east-1 の障害が 起きると なぜ ソワソワするのか
miu_crescent
PRO
0
95
us-east-1 の障害が 起きると なぜ ソワソワするのか
miu_crescent
PRO
3
1.2k
Other Decks in Technology
See All in Technology
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
800
Multicaで30個のミニプロジェクトをAIエージェント運用して見えてきたこと
eiei114
1
660
Devsumi 2026 Summer 人もAIも使える共通基盤を事業の加速装置にする~デザインシステム運用に学ぶ組織レバレッジ~ 渡辺 凌央
legalontechnologies
PRO
1
300
Webの技術とガジェットで子どもも大人も楽しめるワクワク体験を提供する / Qiita Tech Festa Day 2026
you
PRO
1
280
複数プロダクトで進めるAI機能実装 ── 実践から得たリアルな学びとロードマップ実現への挑戦 / AICon2026_yanari
rakus_dev
1
280
Power Automateアップデート情報
miyakemito
0
240
「顧客の声を聞かなければ何も始まらない」 ── 顧客の声から生まれた『AI返信補助機能』の開発プロセス / AICon2026_shikata_imai
rakus_dev
1
280
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
470
SoccerMaster: A Vision Foundation Model for Soccer Understanding
kzykmyzw
0
180
GoでCコンパイラを作った話
repunit
0
160
Claude Mythos、Fable...フロンティアAIの最新動向と企業のセキュリティ対策
flatt_security
0
130
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
480
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
360
Evolving SEO for Evolving Search Engines
ryanjones
0
250
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
It's Worth the Effort
3n
188
29k
RailsConf 2023
tenderlove
30
1.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Designing Experiences People Love
moore
143
24k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Making Projects Easy
brettharned
120
6.7k
Transcript
JAWS-UG 山形支部 May 05, 2024 事業会社の未経験エンジニアチームが 内製した2 つのWeb サービスの アーキテクチャを紹介します!
三浦一樹 #jawsug #jawsugtohoku
Part 1: 自己紹介 Part 2: サービス紹介 Part 3: アーキテクチャ紹介 Part
4: 今後の課題
自己紹介
三浦一樹(みうみう) AWS Community Hero AWS Samurai 2019 北海道テレビ放送 平社員総合職エンジニア 開発チーム
キャプテン @miu_crescent 金足出身
三浦一樹(みうみう) 運営 JAWS-UG 札幌支部 Media-JAWS JAWS-UG 事務局 #CNDS2024 明日朝イチ新幹線 実行委員
参加 趣味:コミュニティ
名古屋 千葉 CNDS 札幌 2024年6月 札幌
三浦一樹(みうみう) 趣味:サウナ 🇫🇮 Sompa Sauna ホームサウナ センチュリオン
サービス紹介
技術スタック Backend Frontend SaaS Communication
hod
hod htb オンライン
内製で開発運用 ゼロスタートで4年目 2サービスを5人で回す hod htb オンライン
0から1になれ
2020.10〜 有料ライブ配信 ライブコマース ライブコマース イベント 2019.10〜 2020.05〜 2020.07〜 2020.10〜 有料ライブ配信
Lift & Shift VODオフロード Nuxt.js JavaScript 期間限定サービスで新技術を覚える
2020.10〜 有料ライブ配信 ライブコマース ライブコマース イベント 2019.10〜 2020.05〜 2020.07〜 2020.10〜 有料ライブ配信
Lift & Shift VODオフロード Nuxt.js JavaScript 期間限定サービスで新技術を覚える 社内に聞ける人がいないので コミュニティで教えてもらったことを 素直にひとつひとつ実践していく
2020.10〜 有料ライブ配信 ライブコマース ライブコマース イベント 2019.10〜 2020.05〜 2020.07〜 2020.10〜 有料ライブ配信
Lift & Shift VODオフロード 完全リニューアル 2021.04〜 2021.08.29 〜 2021.10〜 リニューアル ちょっとだけ サーバーレス化 2022.04.28 〜 2022.03.01 〜 React GraphQL TypeScript Nuxt.js JavaScript 開発 完全リニューアル 完全リニューアル 共通基盤の開発と運用 期間限定サービスで新技術を覚える
None
None
サービス開始して 気がつけば2年 hod htb オンライン
アーキテクチャ
OIDC OIDC OIDC DynamoDB DynamoDB S3 MediaConvert S3 DynamoDB AppSync
Lambda API-GW Step Functions API-GW Amplify Amplify BFF Frontend Backend CloudFront Momento Cache アーキテクチャ
OIDC OIDC OIDC DynamoDB DynamoDB S3 MediaConvert S3 DynamoDB AppSync
Lambda API-GW Step Functions API-GW Amplify Amplify BFF Frontend Backend CloudFront Momento Cache アーキテクチャ
AWS Cloud AWS Amplify AWS AppSync AWS Lambda AWS AppSync
AWS AppSync Merged API Source API Source API Query Momento Cache Amazon DynamoDB Get/Set
OIDC OIDC OIDC DynamoDB DynamoDB S3 MediaConvert S3 DynamoDB AppSync
Lambda API-GW Step Functions API-GW Amplify Amplify BFF Frontend Backend CloudFront Momento Cache アーキテクチャ
OIDC OIDC OIDC DynamoDB DynamoDB S3 MediaConvert S3 DynamoDB AppSync
Lambda API-GW Step Functions API-GW Amplify Amplify BFF Frontend Backend CloudFront Momento Cache アーキテクチャ
Amazon DynamoDB AWS Lambda AWS Step Functions だいぶ省略してまして...
Amazon DynamoDB AWS Lambda AWS Step Functions 300+ 100+ 40+
Funcitons State Machines Tables
AWS Step Functions こんなのが たくさん
Amazon DynamoDB AWS Lambda AWS Step Functions 300+ 100+ 40+
Funcitons State Machines Tables 最初は半分くらいだったはず、 、 2年で実施した大小100以上の機能改善の結果
今後の課題
AppSync と DynamoDB がひどい EpisodeGroup 1対多 1対多 DynamoDB AppSync Program
Connection ConnectionEpisode Episode 1対多 1対1 1対1 初期ロード時に 全てのデータを Recoil に格納 DynamoDB User ユーザ系のデータ(ログイン時) 番組情報は 全部で10MB くらい amplify-cli で、どんどん増やしちゃった 番組系のデータ
Gen 2 と CDK で リファクタする DynamoDB AWS Amplify Gen
1 Gen 2 CDK と .ts amplify-cli と スキーマファイル
AWS Lambda 300+ Funcitons Lambda ランタイムのバージョンアップ nodejs16.x ->nodejs.18.x たのしくない!! node16
が200+ くらい SDK も上がるので大変 テスト書いてなかったのでJest の導入から... ついでにTS 化とCodeCatalyst でのCI/CD も 新しい技術たのしいをモチベーションに SDK v2 SDK v3
できれば、Lambda も減らしたい AWS Step Functions Lambda を使うのは SDK で表現できないとき 外のAPI
を叩く時 State Machine のリファクタも進める!
がんばります!
ありがとうございました!