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
Datadog Agent を入れて Cloud Run でサイドカーを利用する ユースケース...
Search
Kento Kimura
PRO
December 13, 2023
Technology
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Datadog Agent を入れて Cloud Run でサイドカーを利用する ユースケースを考える
Kento Kimura
PRO
December 13, 2023
More Decks by Kento Kimura
See All by Kento Kimura
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
330
Compose Spec の変遷と Cloud Run のイマ / The History of Compose Spec and Cloud Run Support
aoto
PRO
0
160
頼れる Agentic AI を支える Datadog のオブザーバビリティ / Powering Reliable Agentic AI with Datadog Observability
aoto
PRO
0
600
作りっぱなしで終わらせない! 価値を出し続ける AI エージェントのための「信頼性」設計 / Designing Reliability for AI Agents that Deliver Continuous Value
aoto
PRO
2
500
Google に学ぶ、安全性を高める信頼性設計 / Reliability Design for Enhanced Safety: Lessons from Google SRE
aoto
PRO
0
130
AI エージェントで AI エージェントを作る!Google Cloudが実現するフルスタックな AI 開発エコシステム / Building AI Agents with AI Agents! Full-Stack AI Development Ecosystem on Google Cloud
aoto
PRO
0
490
Jagu'e'r Advent Calendar でコミュニティを盛り上げよう / Join us the community with Jagu'e'r Advent Calendar
aoto
PRO
0
110
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
1.7k
「最速」で Gemini CLI を使いこなそう! 〜Cloud Shell/Cloud Run の活用〜 / The Fastest Way to Master the Gemini CLI — with Cloud Shell and Cloud Run
aoto
PRO
1
530
Other Decks in Technology
See All in Technology
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.3k
ai_cording_with_k8s_knowledge.pdf
mochizuki875
1
330
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
590
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
400
夫婦で子育てするための育児標準化
codmoninc
PRO
0
110
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
5
1.2k
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
6
5.7k
予測不能な実行エージェントを安全にサクッと試せるサンドボックス環境の話
sansantech
PRO
1
140
生成AIで高い生産性を求められて、 悩み、乗り越えた話
mot_techtalk
2
150
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
6
4.4k
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
1
770
自分で立ててみるLLMサービス
y_sera15
0
160
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Evolving SEO for Evolving Search Engines
ryanjones
0
310
Un-Boring Meetings
codingconduct
0
450
Ethics towards AI in product and experience design
skipperchong
2
420
Utilizing Notion as your number one productivity tool
mfonobong
4
610
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
A Soul's Torment
seathinner
8
3.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Automating Front-end Workflow
addyosmani
1369
210k
Rails Girls Zürich Keynote
gr2m
96
14k
The Invisible Side of Design
smashingmag
301
52k
WCS-LA-2024
lcolladotor
0
870
Transcript
Datadog Agent を入れて Cloud Run でサイドカーを利用する ユースケースを考える 13th Dec, Jagu'e'r
Cloud Native Subcommittee #12 Kento Kimura
Self-Introduction • 所属:Technical Solutions / Sales Engineer • 担当:パブリッククラウドのアーキテクト知識を活かした Datadog
のプリセールス技術支援 • 資格:Google Cloud 全 11 資格、AWS 全 12 資格、Azure 13 資格 • 表彰:Google Cloud Partner Top Engineer 2023-24 2022-23 APN All AWS Certifications Engineer 2023 Japan AWS Jr.Champion Jagu'e'r Award 2023 優秀賞 木村 健人 (Kento Kimura) Datadog Japan GK Technical Solutions Sales Engineering History データセンター運用保守 → パブリッククラウド技術支援 → プリセールス技術支援 Community Jagu’e’r デジクラ人材育成分科会 運営リード o11y-SRE 分科会 運営メンバー TechWriters 分科会 運営メンバー Partner Top Engineer 2023 Partner Top Engineer 2024
アジェンダ 1 概要 2 ユースケース 3 メリット 4 まとめ
4 概要
Cloud Run のサイドカー機能 2023年5月12日にパブリックプレビューが発表 2023年11月13日に GAが発表 機能:1つのCloud Run インスタンスに対し、 複数のコンテナを実行できる。
それぞれのコンテナは互いに 同一の namespace を共有するため、 localhost で疎通できる。 共有インメモリボリュームでコンテナ間の ファイル共有も可能で 5 引用:「Cloud Run でサイドカーのデプロイが可能に」 https://cloud.google.com/blog/ja/products/serverless/cloud-run-now-supports-multi-container-deployments
Cloud Run のサイドカー機能 「Cloud Run で Datadog Agent をサイドカーとして動かす」2023/5/22 サイドカーに監視エージェントを配置する
ユースケースについて、技術検証結果と 推奨設定をわかりやすくまとめました。 • Cpu-throttling で各コンテナに CPU が常に割り当てられる • container-dependencies でDatadog Agent の起動後に アプリケーションとトレーサーが起動する 6 Cloud Run Instance Python App Datadog Agent :8080 :8126 :443 引用:「Cloud Run で Datadog Agent をサイドカーとして動かす」 https://qiita.com/AoTo0330/items/35a840462f219596e39d
7 ユースケース
監視エージェント アプリケーションの モニタリング・ロギング・トレーシング OpenTelemetry Collector, Datadog Agent などを追加 して、メトリクス・ログ・トレースを任意のバックエンドにエ クスポートできます。
注意点 • 監視エージェントが常に起動しているか • 監視エージェントに常にリソースが割り当てられて いるか 8 引用:「Cloud Run でサイドカーのデプロイが可能に」 https://cloud.google.com/blog/ja/products/serverless/cloud-run-now-supports-multi-container-deployments
プロキシ アプリケーションの通信をプロキシ Nginx, Apache などのプロキシコンテナを用意すること で、リクエストを適切なエンドポイントへ転送し、負荷分散 やレスポンスの高速化、セキュリティの向上を実現できま す。 注意点 •
アプリケーションへ直接外部から通信できないか • プロキシとアプリケーション間の疎通ポート 9 引用:「Cloud Run でサイドカーのデプロイが可能に」 https://cloud.google.com/blog/ja/products/serverless/cloud-run-now-supports-multi-container-deployments
ネットワークとセキュリティ プロキシ・サービスメッシュ Envoy, Istio, Linkerd などのプロキシ・サービスメッシュを 利用して、高度なトラフィックルーティングやフィルタリング を行うことで、アプリケーションの通信を分離することがで きます。 注意点
• アプリケーションへ直接外部から通信できないか • レイテンシーの増加を考慮する • リソース使用量の増加を考慮する 10 引用:「Cloud Run でサイドカーのデプロイが可能に」 https://cloud.google.com/blog/ja/products/serverless/cloud-run-now-supports-multi-container-deployments
データベース接続用プロキシ クライアントプロキシ CloudSQL, AlloyDB などのデータベース接続用プロキ シを実行し、安全性の高い接続や IAM ベースの認証を 導入し、接続をセキュアに安定させることができます。 注意点
• プロキシとアプリケーション間の疎通ポート • DB プロキシに直接外部から疎通できないか 11 引用:「Cloud Run でサイドカーのデプロイが可能に」 https://cloud.google.com/blog/ja/products/serverless/cloud-run-now-supports-multi-container-deployments
+1 アプリケーションの分離 対外的実装アプリケーション マイクロサービスの設計原則に基づいて、アプリケー ションの実装をコンテナの単位に分離することができま す。 従来は k8s を前提としていた実装が、Cloud Run
でも 実現可能になりました。 注意点 • スケールアウトが同時に行われる • 10コンテナ制限(Ingress コンテナを含む) 12 Application
13 メリット
一般的なサイドカーのメリット “Design patterns for container-based distributed systems” • 優先的なリソース(CPU, メモリ)の割り当てによる、低レイテンシの応答と最適化の実現
• コンテナの単位で責任範囲や所有を分離し、独立したテストをお粉あえる • 複数メインコンテナとサイドカーコンテナの組み合わせによる、機能の再利用 • コンテナの単位で依存関係を分離し、障害による影響を最小限に止める • コンテナの単位でデプロイを分離し、アップグレードやロールバックを独立して行える コンテナの単位に機能や役割を分離することで、 より効率的にアプリケーションの開発・デプロイ・運用・保守・障害対応を行うことができる。 14
Cloud Run のサイドカーのメリット Google Cloud 上のマネージドコンテナであること • GKE Autopilot 以上に利用者の管理範囲を削減し、開発に注力できる
• k8s の機能や知見を学習する必要が(あまり)なく、自動的スケーリングを Google Cloud に委任できる • GKE, Kubernetes のテスト環境として、Knative を利用した環境を簡単に利用できる 15
GKE からの yaml ファイルの変更 apiVersion: apps/v1 kind: Deployment metadata: name:
k8s-to-run namespace: default labels: app: k8s-to-run spec: template: metadata: labels: app: k8s-to-run spec: containers: - image: gcr.io/cloudrun/hello env: - name: HELLO value: world - image: gcr.io/cloudrun/sidecar env: - name: HELLO value: sidecar volumes: - name: VOLUME_NAME emptyDir: sizeLimit: SIZE_LIMIT medium: Memory apiVersion: serving.knative.dev/v1 kind: Service metadata: name: k8s-to-run namespace: ‘PROJECT_NUMBER’ labels: app: k8s-to-run spec: template: metadata: labels: app: k8s-to-run spec: containers: - image: gcr.io/cloudrun/hello env: - name: HELLO value: world - image: gcr.io/cloudrun/sidecar env: - name: HELLO value: sidecar volumes: - name: VOLUME_NAME emptyDir: sizeLimit: SIZE_LIMIT medium: Memory 16
17 まとめ
まとめ • Cloud Run のマルチコンテナ機能=サイドカー機能は、パブリックプレビューの段階から 注目されてきた有用な機能 • Kubernetes の学習・管理コストから解放されて、サービスのテストから始まり 詳細な要件がないアプリケーションの柔軟なスケーリングを
Google Cloud に委任できる • 現在のマルチコンテナの制限数は Ingress コンテナを含めて10個 • ちなみに Datadog の公式の対応はまだです…🐶
宣伝 個人アドカレやってます🐶🐶 Google Cloud に関連する内容もあるの で、覗いてみてください。 (本日のアウトプットも「Cloud Run で Datadog
Agent をサイドカーで動かして、どう なったか【裏側】」で執筆中) 「AoTo Advent Calendar 2023」 https://qiita.com/advent-calendar/2023/aoto Qiita@AoTo0330 X@AoToLog_
Thank you