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
Cloud Run CI/CD + QA @ KAUCHE
Search
Yuki Ito
February 11, 2023
Technology
670
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloud Run CI/CD + QA @ KAUCHE
Yuki Ito
February 11, 2023
More Decks by Yuki Ito
See All by Yuki Ito
newmo の創業を支える Software Architecture と Platform Engineering
110y
5
3.6k
Modular Monolith Go Server with GraphQL Federation + gRPC
110y
1
1.1k
Modular Monolith + Go @ newmo
110y
1
1.3k
Go + GraphQL @ newmo
110y
3
990
Architect / Platform Team at KAUCHE
110y
1
700
Cloud Run + Observability / Reliability @ KAUCHE
110y
0
670
Microservices on Cloud Run @ KAUCHE
110y
0
310
KAUCHE Loves Go
110y
0
540
Evolution of Architecture @ Kauche
110y
3
640
Other Decks in Technology
See All in Technology
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
570
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
4.4k
最適な自走を最小限の支援で — M&Aで拡大する組織で少人数SREが挑んだ1年 / SRE NEXT 2026
genda
0
790
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
1
150
オブザーバビリティ、本当に活用できてる? 〜API連携×生成AIで成熟度を自動評価〜
dmmsre
1
2.6k
AWS Summit の片隅で、体育座りしながらコミュニティがにぎわう理由を考えた
k_adachi_01
2
370
次世代ランサムウェア対策の考察 / 20260704 Mitsutoshi Matsuo
shift_evolve
PRO
5
1.7k
AI駆動開発におけるQAエンジニアの役割事例 〜AI駆動開発の現場から〜
kobayashiyorimitsu
0
430
AWS Blocks を触ってみた/first-tach-aws-blocks
fossamagna
2
150
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
2
150
Claude Codeとハーネスについて考えてみる
oikon48
18
9k
GuardrailからGovernanceへ~AIエージェント運用の次の課題~
sbspsy
1
250
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
210k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
63
55k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
450
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
350
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
220
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Everyday Curiosity
cassininazir
0
250
Agile that works and the tools we love
rasmusluckow
331
22k
Marketing to machines
jonoalderson
1
5.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
WCS-LA-2024
lcolladotor
0
680
Transcript
Cloud Run CI/CD + QA @ KAUCHE Yuki Ito (@mrno110)
Cloud Run Casual Talk #1
Kauche Architect / Platform Team Yuki Ito @mrno110
None
What is Cloud Run Cloud Run is a managed compute
platform that enables you to run containers that are invocable via requests or events. Cloud Run is serverless: it abstracts away all infrastructure management... https://cloud.google.com/run/docs
Agenda ɾCI / CD ɾQA
Agenda ɾCI / CD ɾQA
CI / CD Applications Deploy Manifests Cloud Build Cloud Run
Cloud Build Artifact Registry ᶃ Trigger ᶄ Push Image ᶅ Trigger ᶆ Fetch ᶇ Deploy ᶈ Pull Image
CI / CD Applications Deploy Manifests Cloud Build Cloud Run
Cloud Build Artifact Registry ᶃ Trigger ᶄ Push Image ᶅ Trigger ᶆ Fetch ᶇ Deploy ᶈ Pull Image
Workload Identity Federation https://cloud.google.com/blog/products/identity-security/enabling-keyless-authentication-from-github-actions
CI / CD Applications Deploy Manifests Cloud Build Cloud Run
Cloud Build Artifact Registry ᶃ Trigger ᶄ Push Image ᶅ Trigger ᶆ Fetch ᶇ Deploy ᶈ Pull Image
CI / CD Applications Deploy Manifests Cloud Build Cloud Run
Cloud Build Artifact Registry ᶃ Trigger ᶄ Push Image ᶅ Trigger ᶆ Fetch ᶇ Deploy ᶈ Pull Image
110y/cbtctl https://github.com/110y/cbtctl
110y/cbtctl https://github.com/110y/cbtctl
CI / CD Applications Deploy Manifests Cloud Build Cloud Run
Cloud Build Artifact Registry ᶃ Trigger ᶄ Push Image ᶅ Trigger ᶆ Fetch ᶇ Deploy ᶈ Pull Image
CI / CD Applications Deploy Manifests Cloud Build Cloud Run
Cloud Build Artifact Registry ᶃ Trigger ᶄ Push Image ᶅ Trigger ᶆ Fetch ᶇ Deploy ᶈ Pull Image
Declarative Manifest apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/ingress: internal
run.googleapis.com/launch-stage: BETA labels: cloud.googleapis.com/location: ... name: ... spec: template: metadata: annotations: run.googleapis.com/execution-environment: gen2 run.googleapis.com/startup-cpu-boost: "true" run.googleapis.com/vpc-access-connector: projects/.../locations/.../connectors/... run.googleapis.com/vpc-access-egress: all-traffic # ... spec: containers: # ... serviceAccountName: ...
kustomize . ├── base │ ├── kustomization.yaml │ └── service.yaml
├── dev │ ├── kustomization.yaml │ ├── resource.yaml │ └── service.yaml └── prod ├── kustomization.yaml ├── resource.yaml └── service.yaml
CI / CD Applications Deploy Manifests Cloud Build Cloud Run
Cloud Build Artifact Registry ᶃ Trigger ᶄ Push Image ᶅ Trigger ᶆ Fetch ᶇ Deploy ᶈ Pull Image
Agenda ɾCI / CD ɾQA
Agenda ɾCI / CD ɾQA
Deploy Service per Branch Applications Deploy Manifests Cloud Build Cloud
Run Cloud Build Artifact Registry ᶃ Trigger ᶄ Push Image ᶅ Trigger ᶆ Fetch ᶇ Deploy ᶈ Pull Image
Deploy Service per Branch 🧑💻 Cloud Run Services Service-1-Branch-A Service-1-Branch-B
Service-1 Service-2-Branch-X Service-2-Branch-Y Service-2 Gateway
Deploy Service per Branch 🧑💻 Cloud Run Services Service-1-Branch-A Service-1-Branch-B
Service-1 Service-2-Branch-X Service-2-Branch-Y Service-2 Gateway cloud-run-service-1: branch-b cloud-run-service-2: branch-x
Deploy Service per Branch 🧑💻 Cloud Run Services Service-1-Branch-A Service-1-Branch-B
Service-1 Service-2-Branch-X Service-2-Branch-Y Service-2 Gateway cloud-run-service-1: branch-b cloud-run-service-2: branch-x
xDS Control Plane for Cloud Run xDS Control Plane Service-1-Branch-A
Service-1-Branch-B Service-1 Service-X Service Routing Information [default] → Service-1 [cloud-run-service-1: branch-a] → Service-1-Branch-A [cloud-run-service-1: branch-b] → Service-1-Branch-B Service Discovery
What is xDS...? Listener Cluster Endpoint Endpoint Cluster Endpoint Endpoint
Route
What is xDS...? 0.0.0.0:5000 Service-1 10.28.1.11 10.28.1.12 Service-2 10.28.1.13 10.28.1.14
Route Path: /service-1 Path: /service-2
What is xDS...? Control Plane xDS API Cluster Route Listener
x Discovery Service API •Listener Discovery Service •Route Discovery Service
•Cluster Discovery Service •Endpoint Discovery Service
xDS Control Plane for Cloud Run xDS Control Plane Service-1-Branch-A
Service-1-Branch-B Service-1 Service-X Service Routing Information [default] → Service-1 [cloud-run-service-1: branch-a] → Service-1-Branch-A [cloud-run-service-1: branch-b] → Service-1-Branch-B Service Discovery
Deploy Service per Branch 🧑💻 Cloud Run Services Service-1-Branch-A Service-1-Branch-B
Service-1 Service-2-Branch-X Service-2-Branch-Y Service-2 Gateway cloud-run-service-1: branch-b cloud-run-service-2: branch-x
Agenda ɾCI / CD ɾQA