Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
サーバレスアーキテクチャを 用いたコスト重視AIサービス
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
junki_tamae
February 13, 2025
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サーバレスアーキテクチャを 用いたコスト重視AIサービス
junki_tamae
February 13, 2025
More Decks by junki_tamae
See All by junki_tamae
もっとAI開発を楽にするための_SageMaker_PipelineでAWS_AI理解と開発効率化.pdf
junki_tamae
0
27
Other Decks in Programming
See All in Programming
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.1k
パスワード再設定メールのURLについて知っておこう
uyuki234
0
160
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
気持ちぃ〜角丸 Squircle
ryu1013
0
310
すこし踏み込む CancellationToken
htkym
2
1.7k
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
JIS keyboard support in Omarchy
lef237
0
110
ジョジョの世界をXRで再現する
mofurune
0
160
Featured
See All Featured
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
480
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
A Modern Web Designer's Workflow
chriscoyier
699
190k
WCS-LA-2024
lcolladotor
0
890
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
640
Build your cross-platform service in a week with App Engine
jlugia
234
19k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
570
Designing for humans not robots
tammielis
254
26k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Transcript
サーバレスアーキテクチャを ⽤いたコスト重視AIサービス
スライド概要 AWSのサーバーレスアーキテクチャのベストプラクティスに 基づいて、 低コストで画像分析のサービス構築を⾏なった事例をご紹介 します。 インフラリソースのコスト削減の⼿法や、 お客様の要望に合わせたデプロイサイクルとFBへのアプロー チについても併せて紹介します。
⾃⼰紹介
⼰⼰紹介 たまえ じゅんき ⽟衛 淳輝 業務:Webアプリケーション開発 スクラムマスター 機械学習エンジニア …他 4 https://www.facebook.com/juk.tamm/
アジェンダ
アジェンダ • お悩み • AIを含んだサーバーレスアーキテクチャ🏗 • 低コストで画像分析のサービス構築💰 • コストとパフォーマンスの綱引き🍣 •
デプロイサイクル🚀 • ユーザーFBに対するサイクル🔍
よくあるお悩み
8 よくあるお悩み • AIを含んだクラウドアーキテクチャとはどんなもの? • AIを含んだクラウドアーキテクチャをより安く作るには • 開発と並⾏した良いFBを⽣み出すためには
最初にアプリケーションイメージ紹介
最初にアプリケーションイメージ紹介 ‧⼀例として、右の図のような物体検出AI ‧⼈、物などの範囲を異なる物体をAIで検出する ‧AWSではSage Maker Endpointというサービスが 画像を元に物体の範囲の矩形を推定する。 ‧AIの中⾝としてはyoloというAIモデルが有名
AIサービスを含むサーバーレスアーキテクチャ🏗
12 AIサービスを含むサーバーレスアーキテクチャ🏗 • データフロー解説
• AIアーキテクチャ図概要 AIサービスを含むサーバーレスアーキテクチャ🏗
低コストで画像分析のサービス構築 💰
低コストで画像分析のサービス構築 • コスト削減箇所⼀覧 ◦ 画像データなど⼤きなデータはS3に ◦ ⼀部の検索⽤データなど、サイズの⼩さなデータは DynamoDBへ ▪ DynamoDBを採⽤し、DBのメンテナンスコストを低減
◦ ユーザー体験を損なわない部分ではラムダを採⽤ ◦ SPA(single page application)をS3配置し、 フロントのサーバーとメンテナンスを最低限に
低コストで画像分析のサービス構築 • コスト削減箇所 ◦ 画像データなど⼤きなデータはS3に
17 低コストで画像分析のサービス構築 • コスト削減箇所 ◦ ⼀部のサイズの⼩さな検索⽤データなどはDynamoへ ▪ メンテナンスほぼ不要 ▪ 単純なデータに向いている
▪ S3も選択肢として有り
18 低コストで画像分析のサービス構築 • コスト削減箇所 ◦ ユーザー体験を損なわない部分でラムダを採⽤ ◦ フロントエンドのユーザー体験を重視するなら lambdaは慎重に採⽤する感覚も必要
19 低コストで画像分析のサービス構築 • コスト削減箇所 ◦ ReactのSPA(single page application)をS3配置し、 フロントのサーバーとメンテナンスを最低限に
20 低コストで画像分析のサービス構築 • コスト削減箇所:振り返り ◦ 画像データなど⼤きなデータはS3に ◦ ⼀部の検索⽤データなど、サイズの⼩さなデータは DynamoDBへ ▪
DynamoDBを採⽤し、DBのメンテナンスコストを低減 ◦ ユーザー体験を損なわない部分ではラムダを採⽤ ◦ SPA(single page application)をS3配置し、 フロントのサーバーとメンテナンスを最低限に
コストとパフォーマンスの綱引き 🍣
22 コストとパフォーマンスの綱引きを忘れない🍣 • 綱引きのイメージ図 レスポンス メンテナンス性 コスト ユーザー体験
23 コストとパフォーマンスの綱引きを忘れない🍣 • コストだけ⾒てしまうとユーザー体験を損なうので綱引きが⼤事 レスポンス メンテナンス性 コスト ユーザー体験
24 コストとパフォーマンスの綱引きを忘れない🍣 綱引き⼀覧 • コストだけ⾒てしまうとユーザー体験を損なうので綱引きが⼤事 • lambdaは最低限の使⽤とし慎重に採⽤ ◦ フロントでできる処理はフロントに ▪
その分フロントのコードは設計思想をもつ • エンドポイントは2種類のどちらかを検討しよう。 ◦ サーバーレスエンドポイント ◦ プロビジョンドエンドポイント それぞれ⼀⻑⼀短
コストとパフォーマンスの綱引きを忘れない🍣 • lambdaは不必要に使わないように採⽤ ◦ フロントでできる処理はフロントに ▪ その分フロントのコードは何らかの設計思想を持つ • ”無秩序”にしない 良いところ
・サーバーレスだから、運用、メンテナンスがほぼ不要 ・サービス単位でプログラムを整理できる高いメンテナンス性 ・必要十分な時にリソースを起動できる高い経済性とコスパ 悪いところ ・サーバーレスだからこそ、都度立ち上げの時間(数秒)がかかる (常時起動の案もなしではないが、サーバーレスの意味が薄れる)
26 コストとパフォーマンスの綱引きを忘れない🍣 /src | +-- app # ページ(現 `features/misc/routes`に相当) |
| | +-- routes # ページに関連するコンポーネント | | | | | | +-- router.tsx # ルーティングの設定 | +-- config # 設定ファイル | +-- features # 機能ごとの構成物 | | | +-- sample | | | | | +-- assets # 機能1用のアセット | | | | | +-- components # 機能1用コンポーネント | | | | | +-- hooks # 機能1用フック | | | | | +-- types # 機能1用型定義 | | | | | +-- utils # 機能1用ユーティリティ | +-- assets # 共通のアセット | +-- components # 共通コンポーネント | +-- hooks # 共通フック | +-- stores # 共通の状態管理 | +-- types # 共通の型定義 | +-- utils # 共通ユーティリティ | +-- api # 共通のAPI • ラムダをあまりつかわなくても崩壊しないためのフロントエンド ディレクトリ構造⼀例 (react)
27 コストとパフォーマンスの綱引きを忘れない🍣 • エンドポイントは2種類のどちらかを検討しよう。 ◦ サーバーレスエンドポイント ◦ プロビジョンドエンドポイント ◦ ⼀⻑⼀短
28 コストとパフォーマンスの綱引きを忘れない🍣 様々なインスタンスタイプとサイズでの検証結果: serverless起動 4xlarge 約10秒(完全にcoldスタートの場合は20秒ほど) 常時起動 4xlarge 約2.5秒 常時起動
xlarge 約5秒 常時起動 large 約10秒
29 コストとパフォーマンスの綱引きを忘れない🍣 綱引き:振り返り • コストだけ⾒てしまうとユーザー体験を損なうので綱引きが⼤事 • lambdaは最低限の使⽤とし慎重に採⽤ ◦ フロントでできる処理はフロントに ▪
その分フロントのコードは設計思想をもつ • エンドポイントは2種類のどちらかを検討しよう。 ◦ サーバーレスエンドポイント ◦ プロビジョンドエンドポイント それぞれ⼀⻑⼀短
デプロイサイクル🚀
31 デプロイサイクル🚀 • AWS cloud formation • AWS SAM •
複数環境(dev、stg、prd) • React(SPA) を使⽤。 週次、⽇次のデプロイ(環境への反映や機能追加)を可能に。
32 デプロイサイクル🚀 デプロイ作業が最低のコストで実行できるので デプロイの対応工数も最低限 💰 実質的にデプロイが多ければ多い プロジェクトほどお得 • AWS cloud
formation • AWS SAM • 複数環境(dev、stg、prd) • React(SPA) を使⽤。 週次、⽇次のデプロイ(環境への反映や機能追加)を可能に。
33 デプロイサイクル🚀 • AWS cloud formation(デプロイコマンド例) ◦ AWSリソースのパラメータ管理と変更を容易にし、各種環境への デプロイを実現
34 デプロイサイクル🚀 • AWS cloud formation(ソース例)
35 デプロイサイクル🚀 • AWS SAM(ソース例) ◦ バックエンドアプリケーションのデプロイを半⾃動化
36 デプロイサイクル🚀 • AWS SAM(デプロイコマンド例) ◦ バックエンドアプリケーションのデプロイを半⾃動化
37 デプロイサイクル🚀 • React(SPA) ◦ フロントエンドサーバーを不要にし、 メンテナンス性を⾼めて、サーバーリソース費⽤の削減
38 デプロイサイクル🚀 • React(SPA)
39 デプロイサイクル🚀 • ここで疑問 cloud formationもSAMも、 ポチポチ押せば作れる AWSサービスを作るために わざわざソースコードを書くのは むしろ手間が増えてない?
40 デプロイサイクル🚀 • ここで疑問 ⭕YES cloud formationもSAMも、 ポチポチ押せば作れる AWSサービスを作るために わざわざソースコードを書くのは
むしろ手間が増えてない?
41 デプロイサイクル🚀 • ここで疑問 それと引き換えに大きなメリット ・デプロイがコマンド一つで完了 なので検証環境など、複数環境への反映もワンコマンド ・ソースコード管理なのでおかしな作業ミスが発生しない なのでデプロイ事故も少なく、原因究明も迅速。 ・ソースコードがパラメータシートのような役割になる
なので人依存ではなく透明性の高い運用になる(秘匿情報は除く) cloud formationもSAMも、 ポチポチ押せば作れる AWSサービスを作るために わざわざソースコードを書くのは むしろ手間が増えてない? ただし ⬇
42 これまでの⼯夫を⾏った上で、以下FBサイクルを回しています🔍 • 週次でのデプロイ ↓ • 簡易な開発者テスト ↓ • ユーザーテスト
↓ • FB受け取り or バグ対応 ↓ • 急ぎ対応のものはデプロイ ↓ • 上記ループ🔁
全体振り返り
全体振り返り コスト重視で AIアーキテクチャを組むポイント振り返り • AIサービスを含むサーバーレスアーキテクチャ 🏗 • 低コストで画像分析のサービス構築 💰 •
コストとパフォーマンスの綱引き 🍣 • デプロイサイクル 🚀 • ユーザーFBに対するサイクル 🔍
AWSとAIを用いて、 コストパフォーマンスの高い AIサービスを作りましょう!