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
Cookpad Lounge #4 SRE 座談会 コンテナ中心の構成からサーバーレスへの展望...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kohei Suzuki
June 16, 2021
Technology
760
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cookpad Lounge #4 SRE 座談会 コンテナ中心の構成からサーバーレスへの展望 / From containers to serverless
https://cookpad.connpass.com/event/215427/
Kohei Suzuki
June 16, 2021
More Decks by Kohei Suzuki
See All by Kohei Suzuki
東京Ruby会議12 Ruby と Rust と私 / Tokyo RubyKaigi 12 Ruby, Rust and me
eagletmt
3
5.5k
少人数でも運用できるインフラ作り / Operating infrastructure with less effort
eagletmt
1
3.2k
Cookpad Tech Kitchen #20 Amazon ECS の安定運用 / Building a steady ECS infrastructure
eagletmt
1
3.3k
クックパッドでの Webアプリケーション開発 2017 / Web application development in Cookpad 2017
eagletmt
20
11k
ECS を利用したデプロイ環境
eagletmt
12
7k
ActiveRecord 3.2 -> 4.1
eagletmt
3
2k
クックパッドにおける Rubyの活用
eagletmt
0
550
複数DBとRails
eagletmt
14
7.2k
R/W Splitting in Rails
eagletmt
2
1.5k
Other Decks in Technology
See All in Technology
Tab5をRubyで動くパソコンにする
kishima
1
180
AIに丸投げしないトイル削減 / Eliminating Toil Without Leaving It All to AI
kohbis
2
140
スクラムで身についていた動き方を、XPで捉え直してみた
codmoninc
PRO
1
200
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
230
enechainの内製セルフサービスプラットフォーム
hiyosi
0
110
プロダクト思考 × 基盤思考を AIで実現する Compound Engineering
tkc66buzz
1
260
KAEN Company Deck
kaen
PRO
0
320
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
2
2.2k
Bet AI Day 2026丨Production-Ready AI Agents — エンタープライズの実務を任せるための設計と運用
layerx
PRO
3
2.1k
いま、生成AIにKaggleをどこまで 任せられるか — ROGIIコンペでの進め方とTips
k951286
3
1.4k
Hub & Spoke 環境のネットワークルーティングを分解してみる
tsuyataku
1
530
DINO-EdgeQuery:Edge-First Polygon Decoding for Building Footprint Extraction from Satellite Imagery
lehupa
0
140
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.7k
New Earth Scene 8
popppiees
3
2.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.5k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
A designer walks into a library…
pauljervisheath
211
25k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
660
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
Typedesign – Prime Four
hannesfritz
42
3.2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
720
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
690
Transcript
Cookpad Lounge #4 コンテナ中心の構成からサーバーレスへの展望
アプリケーション実行基盤
アプリケーション実行基盤 - ほとんどが ECS - リバースプロキシ、Rails アプリ、Go・Java・Python アプリ、Chatbot、etc. - Kuroko2、Barbeque
を使ってオフラインジョブをスケジュールし ECS タスクを起動 - https://techlife.cookpad.com/entry/2016/09/09/235007 - 一部 Lambda - API Gateway + Lambda + DynamoDB のようないわゆるサーバレスアプリ - Alexa Skill のようなケースも - 海外のチームでは EKS の導入も進んでいる
ECS コンテナインスタンス - ほとんどが EC2 - ほとんどがスポットインスタンス、一部オンデマンドインスタンス - 一部 に
Fargate (Spot) - CPU やメモリを多く必要とするバッチジョブ - 機械学習系に多い - ファイルシステムの I/O が非常に激しいケースなど
EC2 インスタンス (月別)
課題感 - ほとんどのワークロードはコンテナに乗ったし、スポットインスタンスもかなり活 用できている - 本当にすべてのアプリがコンテナを使うことが最適なのか? - スタッフがたまに平日の昼間にアクセスするような社内アプリを 24時間365日動き続けるコンテ ナで捌く必要があるのか
? - バッチジョブのキャパシティ予測は非常に難しく、 EC2 インスタンスのオートスケールをがんばる より Lambda で実行したほうが安定する上に安価ではないか ?
コンテナ化、スポット化のその先
コンテナ化、スポット化のその先 - 改善したいこと: - (とくに小規模、スタッフ向けのサービスの ) コスト最適化 - 運用負荷の軽減 -
ECS から EKS に移行したい…… ではなく - サーバレスの技術を部分的に取り込んでいくことが重要なのではないか
サーバレスとは 自分の考え: - リソースではなく使用に対する料金体系であること - ELB、EC2、RDS、ElastiCache ではなく API Gateway、Lambda、DynamoDB、そして SQS
等 - 使われなければ料金がかからない - リソースのメンテナンスをせずに済むもの - EC2、RDS、ElastiCache は定期的にメンテナンスが発生するし、バージョンアップも必要 - メンテナンスタスクを言語のランタイムやライブラリの更新程度に抑えたい
サーバレスへの展望 - 部分的にサーバレスを導入したい - レシピサービス (cookpad.com) の全トラフィックをサーバレスで ! とかやっても大変なだけで旨 みは小さい
- バッチジョブを実行する基盤の運用負荷を減らしたい - EventBridge でスケジュールして SQS や SNS を通しつつ Lambda でバッチ処理できないか - Kuroko2、Barbeque の負担を減らせないか - オートスケールに悩まずに実行できないか
既存インフラとの連携 - サービスメッシュを活用できない - Lambda Extension でどうにかできる? - App Mesh
の Lambda 連携の話はどうなっているんだろう …… https://github.com/aws/aws-app-mesh-roadmap/issues/33 - gRPC サーバを作れない - API Gateway の機能追加か gRPC 向けの API Gateway っぽいサービスが欲しい
サーバレスアプリの運用 - デプロイはどうしよう - CDK に注目していて、CDK でデプロイするケースが増えてきている - モニタリングはどうしよう -
AWS が提供する building block を色々組み合わせたシステムになりがち (a.k.a. ピタゴラス イッチ) - CloudWatch Logs 見るの大変じゃない ? - 主要なメトリクスを一覧できるダッシュボードが自動でほしい - ECS 環境では hako-console で実現できている https://techlife.cookpad.com/entry/2019/07/24/113835
サーバレスアプリの開発 - 手元での開発どうしよう - コンテナサポートと Lambda Runtime Interface Emulator (RIE)
で楽になってきている - SAM CLI が CDK をサポートし始めて sam local invoke 等を使えるようになった - 本番デプロイ前の動作確認はどうしよう - つい先日の公式ブログ記事で sandbox developer account にデプロイする方法が紹介されて いる https://aws.amazon.com/blogs/compute/getting-started-with-serverless-for-developers-p art-5-sandbox-developer-account/ - クックパッドにも dev アカウントと呼ばれている開発者なら誰でも自由に使える AWS アカウント があり、そこにデプロイして動作確認することもある
We are hiring https://cookpad.jobs