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
なんでもかんでもコンテナ化すればいいってもんでもないけど なんでもかんでもコンテナ化したらスッ...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
saramune
March 13, 2024
Technology
2
460
なんでもかんでもコンテナ化すればいいってもんでもないけど なんでもかんでもコンテナ化したらスッキリしました
saramune
March 13, 2024
Tweet
Share
More Decks by saramune
See All by saramune
EKS Auto Modeなにそれおいしいの?
saramune
0
180
self-hosted runnersでAWSコスト削減?
saramune
0
170
業務効率向上としての分割キーボード
saramune
0
210
インフラ観点で見るセキュリティ〜4Cモデルに倣って〜
saramune
0
140
適材適所
saramune
1
130
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
740
週刊AWSキャッチアップ(2024/03/25週)
saramune
0
160
ACKを活用して 使い捨てAWS検証環境を構築している話
saramune
0
1.4k
KubernetesとTerraformのセキュリティ/ガバナンス向上委員会 with OPA
saramune
2
1.7k
Other Decks in Technology
See All in Technology
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
370
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
220
AWS Network Firewall Proxyを触ってみた
nagisa53
1
250
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
210
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
0
350
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
250
Tebiki Engineering Team Deck
tebiki
0
24k
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
270
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
170
猫でもわかるKiro CLI(セキュリティ編)
kentapapa
0
130
GitHub Copilot CLI を使いやすくしよう
tsubakimoto_s
0
110
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
150
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
130
Speed Design
sergeychernyshev
33
1.5k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
120
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Unsuck your backbone
ammeep
671
58k
The Curse of the Amulet
leimatthew05
1
8.7k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
67
Discover your Explorer Soul
emna__ayadi
2
1.1k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.6k
Transcript
© Chatwork なんでもかんでもコンテナ化すればいいって もんでもないけど なんでもかんでもコンテナ化したらスッキリ しました Chatwork株式会社
自己紹介 2 • 古屋 啓介 ◦ Chatwork株式会社 SRE部 ◦ AWS
Community Builders (container) ◦ JAWS-UG SRE支部運営 ◦ ドラム叩きます 3/21(木) 春のAurora祭りやります!
(前提) 3 • Chatworkのインフラ構成 ◦ AWSを利用 ◦ 大部分のアプリがEKS上で稼働
こんなとき、どうしますか? 4 毎日1回、特定のURLを叩きたい
んー... 5 EventBridge発火のLambdaかなぁ
これでよさそう 6 • つくった!うごいた!解決! 毎日AM1:00に Lambdaを起動する URLアクセスする (Python / NodeJS)
これでよさそう 7 • つくった!うごいた!解決! 毎日AM1:00に Lambdaを起動する URLアクセスする (Python / NodeJS)
完
数年後... 8 バージョンアップしてや (Python / NodeJS)
あれ... 9 • ソースどこやったっけ... • デプロイって手動だった? • テストしたいんだけど...
なぜなのか 10 • ソースどこやったっけ... ◦ 普段触らないのでどこおいたか覚えてない • デプロイって手動だった? ◦ メインのワークロードとは異なるスタックなのでCI/CDが未整備
• テストしたいんだけど... ◦ 簡単1ショットの仕組みだったのでテストもなし
っていうのを何回かやった結果 11 これはもう全部コンテナにして EKSで動かしたほうがいいのでは?
つまり 12 • これを 毎日AM1:00に Lambdaを起動する URLアクセスする (Python / NodeJS)
つまり 13 • こうする 毎日AM1:00に jobを起動する URLアクセスする (Python / NodeJS)
なにがうれしいの? 14 • ソースどこやったっけ... ◦ 普段触らないのでどこおいたか覚えてない ◦ 普段触っているのと同じところに置くので迷わない • デプロイって手動だった?
◦ メインのワークロードとは異なるスタックなのでCI/CDが未整備 ◦ メインのワークロードと同じCI/CDの仕組みに乗れる • テストしたいんだけど... ◦ 簡単1ショットの仕組みだったのでテストもなし ◦ 上記が整うことでテスト環境も整えやすい
15 (参考)デプロイフロー 15 Manifest (helmfile) EKS Sync 1. Push 3.
kubectl apply helmfileから生成された Manifest 2. Sync helmfileのリポジトリに ソースコードとManifest を格納しておく
ちょっと本筋と逸れますが 16 • 移行にあたってPythonをshellにリライト ◦ そもそもPythonとかNodeJSとかのEOLつらい ◦ たまたま簡単なスクリプトが多かった • helmfile
+ shellはいいぞ ◦ ConfigMapと.shがあればOK ◦ ベースとなるコンテナはシンプルなものでよい ◦ shellの黒魔術化には注意... shellスクリプト マウントする
補足 17 • 大事なのは、メインのワークロードと諸々揃えること ◦ ECSをご利用の場合でも普段使うCI/CDの仕組みに乗れればOK ▪ CDKが最強だったりする...?(CDK詳しい人に教えてほしい) ◦ Lambdaが悪いわけではない
▪ し、メインがバリバリサーバレスだぜ!の場合はむしろLambdaが適任
実際やった事例 18 • helmfile + shellに書き直したもの ◦ Lambda + EventBridge
+ PythonでOpenSearchを諸々する処理 • そのままEKSに移したもの ◦ EC2 + cron + shellでRDSをデイリーでコピーする処理 ◦ EC2 + cron + shellでRDSにqueryする処理 ◦ EC2 + cron + shellでChatworkを諸々する処理 • その他新規で作ったもの ◦ 夜間休日に検証環境を落とす処理
課題と対処 19 • 多重起動 ◦ EKS更新(Blue/Greenでクラスタが2つある)タイミングで要考慮 多重起動で困るやつは排他処理を別途追加 管理用EKSクラスタ(更新がin-place)ができたので そちらに移行
まとめ 20 • (前提)そりゃなんでもかんでもコンテナ化したらいいわけではない • (前提)メインのワークロードがコンテナ基盤で動いている • スケジュール駆動の諸々をコンテナ化すると幸せになるかも? ◦ ちょっとした処理をやるLambdaっていっぱいありますよね
◦ Lambdaは簡単便利だけど、ちゃんとやろうとすると色々整える必要アリ ◦ いつも使うCDの仕組みに乗せることがダイジ
働くをもっと楽しく、創造的に