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
Cookpad Lounge #4 SRE 座談会 コンテナ中心の構成からサーバーレスへの展望...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kohei Suzuki
June 16, 2021
Technology
770
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.6k
少人数でも運用できるインフラ作り / 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
OpenSharing について熱く語る〜AI アセットの共有について〜
kameitomohiro
0
240
自主式軟體工廠
philipz
0
240
React Nativeでの OTA Updateって、 どう説明する?
ichiki1023
0
150
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
10
3.2k
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
2
870
自律型 AI をセキュアに実装!Gemini と MIG で作る動的コード実行環境
recruitengineers
PRO
1
220
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
320
[AWS 秋のクラウドオペレーション祭り 2026]AWS DevOps Agentで変わるリリースと運用対応 ~リリース管理機能と Directed actions のご紹介~
furuton
4
1.1k
[2026-09-30]ロックンロールは鳴り止まないっ - 信頼性かまってちゃん - 「データ駆動を投げ捨ててまで。」追いかける信頼性改善に向けた取り組みの話
tosite
0
210
データ品質を壊しながらSnowflakeのAIに分析させてみた
kawanago
0
530
SREでアラート疲れを 解決しよう!
kairim0
1
210
freeeらしさをAIとともに作る / Creating the freee Experience with AI
ymrl
0
210
Featured
See All Featured
Chasing Engaging Ingredients in Design
codingconduct
0
340
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
540
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
320
Skip the Path - Find Your Career Trail
mkilby
1
240
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Automating Front-end Workflow
addyosmani
1369
210k
A better future with KSS
kneath
240
18k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
970
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
840
Mobile First: as difficult as doing things right
swwweet
225
10k
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