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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kohei Suzuki
June 16, 2021
Technology
750
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.4k
少人数でも運用できるインフラ作り / 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
540
複数DBとRails
eagletmt
14
7.2k
R/W Splitting in Rails
eagletmt
2
1.5k
Other Decks in Technology
See All in Technology
キャリアLT会#3
beli68
2
270
Jitera Company Deck
jitera
0
570
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
AI時代におけるテストの基礎の再定義 / Rethinking the Fundamentals of Testing in the AI Era
mineo_matsuya
14
5.7k
歴史から理解するクラウドインフラのしくみ
kizawa2020
0
160
AI時代こそ、スケールしないことをしよう -「作る人」から「なぜ作るか」を考える人へ / Do Things That Don't Scale in the AI Era — From How to Why
kaminashi
1
150
プロダクト開発組織の現在地(Ver.2026/07) / product-organization
kaonavi
0
520
AI_Dev_Day_製造業領域でのAI活用から見た活用の罠と成功に導く実践知.pdf
kintotechdev
0
220
システム監視入門
grimoh
2
570
GoでCコンパイラを作った話
repunit
0
160
設計レビューとAIハーネスで向き合う AIが生み出した新しいボトルネックの対処法 / Design Reviews and AI Harnesses Against New Bottlenecks Created by AI
nstock
5
500
AI Agent を本番環境へ―― Microsoft Foundry × Azure Serverless で作る Enterprise-Ready な基盤
shibayan
PRO
1
500
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.5k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
510
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Color Theory Basics | Prateek | Gurzu
gurzu
0
400
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
Producing Creativity
orderedlist
PRO
348
40k
Automating Front-end Workflow
addyosmani
1370
210k
Chasing Engaging Ingredients in Design
codingconduct
0
240
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
45k
Amusing Abliteration
ianozsvald
1
240
GraphQLとの向き合い方2022年版
quramy
50
15k
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