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
May 10, 2024
Technology
2
160
事業会社の未経験エンジニアチームが内製した2つのWebサービスのアーキテクチャを紹介します!
#jawsug
#jawsugtohoku
https://jaws-tohoku.doorkeeper.jp/events/170103
Kazuki Miura
May 10, 2024
Tweet
Share
More Decks by Kazuki Miura
See All by Kazuki Miura
パブリッククラウドもSaaSもいいとこどり!実際に使ってみた全貌と 推しポイントを紹介します!
miu_crescent
1
120
完全未経験から民放連盟賞を受賞したシステムを開発するまで
miu_crescent
1
11
地方でこそ、AWS公式コミュニティ 「JAWS-UG」を通じてクラウドを学ぼう!
miu_crescent
0
82
Media-JAWS x JAWS-UG 千葉支部 合同会オープニング
miu_crescent
1
21
Momento 実際組み込んでみた
miu_crescent
1
22
本番環境で Cloudflareを 使ってみた話
miu_crescent
2
270
サウナ
miu_crescent
1
48
メールセキュリティの DMARC周りの設定を少しずつ設定してみたお話
miu_crescent
1
340
#jawsdays を含む #jawsug 全体の活動について
miu_crescent
1
110
Other Decks in Technology
See All in Technology
GoとアクターモデルでES+CQRSを実践! / proto_actor_es_cqrs
ytake
1
150
20240725 LLMによるDXのビジョンと、今何からやるべきか @Azure OpenAI Service Dev Day
nrryuya
3
1.2k
簡単に始めるSnowflakeの機械学習
nayuts
1
190
ギークの理想が7つ集まるエムスリーで夢を叶えよう - エムスリー株式会社
m3_engineering
1
260
データベース研修 分析向けSQL入門【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
110
スタートアップにおける組織設計とスクラムの長期戦略 / Scrum Fest Kanazawa 2024
yoshikiiida
13
3.6k
Classmethod Odyssey 登壇資料
yamahiro
0
390
技術負債による事業の失敗はなぜ起こるのか / Why do business failures due to technical debt occur?
i35_267
0
190
CTOから見た事業開発とプロダクト開発 / My Perspective on Business and Product Development as CTO
keisuke69
4
960
AutomatedLabを使って内部ペンテストを勉強しよう! -やられ社内ネットワークの自動構築-
n_etupirka
1
610
年間一億円削減した時系列データベースのアーキテクチャ改善~不確実性の高いプロジェクトへの挑戦~
lycorptech_jp
PRO
3
2.9k
LLMアプリケーションの評価の実践と課題 ~PharmaXにおける今後の展望~
pharma_x_tech
2
160
Featured
See All Featured
How to Ace a Technical Interview
jacobian
274
23k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
A Modern Web Designer's Workflow
chriscoyier
689
190k
Embracing the Ebb and Flow
colly
81
4.3k
Code Reviewing Like a Champion
maltzj
517
39k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
Debugging Ruby Performance
tmm1
71
11k
The MySQL Ecosystem @ GitHub 2015
samlambert
248
12k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
23
1.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
28
2.2k
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 のリファクタも進める!
がんばります!
ありがとうございました!