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
自己診断能力の獲得を目指して / Toward the acquisition of self...
Search
Takeshi Kondo
August 03, 2023
Technology
7.4k
1
Share
自己診断能力の獲得を目指して / Toward the acquisition of self-diagnostic skills
CNDF2023
https://event.cloudnativedays.jp/cndf2023
Takeshi Kondo
August 03, 2023
More Decks by Takeshi Kondo
See All by Takeshi Kondo
SREの知識地図 - 第2章の紹介 - / Knowledge Map of SRE – Introduction to Chapter 2 –
chaspy
0
83
SRE NEXT CfP チームが語る 聞きたくなるプロポーザルとは / Proposals by the SRE NEXT CfP Team that are sure to be accepted
chaspy
2
1.7k
Slack Platform(Deno) での RAG 実装 - LangChain(js) を使ってみた / rag-implementation-on-slack-platform-deno-experimenting-with-langchain-js
chaspy
0
290
SRE の考えをマネジメントに活かす / applying SRE ideas to management
chaspy
7
8.3k
RAGの簡易評価によるフィードバックサイクル実践 / Feedback cycle practice through simplified assessment of RAGs
chaspy
2
6k
定量データと定性評価を用いた技術戦略の組織的実践 / Systematic implementation of technology strategies using quantitative data and qualitative evaluation
chaspy
9
2.3k
エンジニアブランディングチームの KPI / KPI's of engineer branding team
chaspy
2
2.5k
「SLO Review」今やるならこうする / If I had to do the "SLO Review" again
chaspy
3
2.3k
開発者とともに作る Site Reliability Engineering / SREing with Developers
chaspy
10
9k
Other Decks in Technology
See All in Technology
「背中を見て育て」からの卒業 〜専門技術としてのテスト設計を軸に、品質保証のバトンを繋ぐ〜 #genda_tech_talk
nihonbuson
PRO
3
1.2k
(きっとたぶん)人材育成や教育のような何かの話
sejima
0
710
Shiny New Tools Won't Fix Your Problem
trishagee
1
120
自動テストだけで リリース判断できるチームへ - 鍵はテストの量ではなくリリース判断基準の再設計にあった / Redesigning Release Criteria for Lightweight Releases
ewa
7
3.6k
【関西製造業祭り2026春】現場を変える技術はここまで来た〜世界最大の製造業見本市から持って帰ってきたもの〜
tanakaseiya
0
130
ボトムアップ限界を越える - 20チームを束る "Drive Map" / Beyond Bottom-Up: A 'Drive Map' for 20 Teams
kaonavi
0
190
Oracle Cloud Infrastructure presents managed, serverless MCP Servers for Oracle AI Database
thatjeffsmith
0
230
AIの揺らぎに“コシ”を与える階層化品質設計
ickx
0
270
変化の激しい時代をゴキゲンに生き抜くために 〜ストレスマネジメントのススメ〜
kakehashi
PRO
5
1.3k
Every Conversation Counts
kawaguti
PRO
0
210
要件定義の精度を高めるための型と生成AIの活用 / Using Types and Generative AI to Improve the Accuracy of Requirements Definition
haru860
0
320
マンション備え付けのネットワークとLTE回線を組み合わせた ネットワークの安定化の考案
harutiro
1
120
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Bash Introduction
62gerente
615
210k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
160
Writing Fast Ruby
sferik
630
63k
The SEO Collaboration Effect
kristinabergwall1
1
440
BBQ
matthewcrist
89
10k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
400
Odyssey Design
rkendrick25
PRO
2
610
Evolving SEO for Evolving Search Engines
ryanjones
0
190
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Transcript
ࣗݾஅೳྗͷ֫ಘΛࢦͯ͠ Takeshi Kondo / @chaspy 2023/08/03 Cloud Native Days Fukuoka
2023
Who am I 2 chaspy chaspy_ Engineering Manager Site Reliability
and Web Application Development at Recruit Co., Ltd. Ԭग़ͳͷͰࠓ͓͠Ͱ͖ͯخ͍͠Ͱ͢😄 Takeshi Kondo https://chaspy.me
ʰελσΟαϓϦʱখதߴͷ։ൃΛ͍ͯ͠·͢ 3
Cloud Native…? 4
5 • Infra: AWS & EKS / GCP (Pub/Sub, BigQuery)
• CI: GitHub Actions & Self-Hosted runner • Ref: GitHub Actions Self-hosted Runner ͷಋೖͱ҆ఆӡ༻ʹ͚ͨي • CD: ArgoCD & ͷ deploy-action ʰελσΟαϓϦʱ Cloud Native
Cloud Native ʹΑͬͯ։ൃऀ͕ࣗݾ݁͢ΔੈքΛࢦ͢ • SRE νʔϜͷϛογϣϯ • “ࣗݾ݁νʔϜ͕ϓϩμΫτΛૉૣ҆͘શʹಧ͚ଓ͚ΔͨΊͷϓϥοτ ϑΥʔϜͱจԽΛ࡞Δ” •
ࣗݾ݁: ࣗͨͪͰඞཁͳͷΛࣗͨͪͰ༻ҙͰ͖Δ͜ͱ • ։ൃɺQAɺσϓϩΠɺࢹɺશͯҰ؏ͯ͠։ൃऀ͕ߦ͏ • QA ΤϯδχΞɺSRE ͦͷαϙʔτ • ։ൃऀ͕ Kubernetes yaml Terraform HCL ॻ͘͠ɺDatadog ͷ Dashboard ݟͯ Monitor ͷઃఆΛ͢ΔɻE2E ςετͷγφϦΦॻ͘ɻ ҙͷλΠϛϯάͰσϓϩΠ͢Δɻ 6
Cloud Native ͔ͩΒͦ͜Ͱ͖Δ”͋ͨΓ·͑” (1/3) • On-Demand & Scalable • Pull
Request ͝ͱͷ Preview ڥ • ಠཱͨ͠ෛՙࢼݧڥ (ref: GitHub Actions Self-hosted Runner ͱ Gatling ʹΑΔෛՙࢼݧ) • ؒɾٳͷ։ൃڥఀࢭ • ຊ൪σʔλϕʔεΛ։ൃڥ࣌ͰϦετΞ (ref: εϜʔζͳ։ൃମݧΛࢧ͑ΔσʔλϕʔεϦετΞͷΈ) 7
Cloud Native ͔ͩΒͦ͜Ͱ͖Δ”͋ͨΓ·͑” (2/3) • Declarative Con fi guration, Infrastructure
as Code • ίʔυ͔Β API ܦ༝ͰϦιʔεΛมߋՄೳ • ίʔυࣗಈੜʹΑΓೝෛՙΛݮ͢Δ • Ϙλϯ1ͭͰ Terraform ͷ৽ن state / directory ΛੜՄೳ • ϚΠΫϩαʔϏεΛ৽ن࡞͢Δࡍͷ Kubernetes yaml Λࣗಈੜ • Datadog SLO ͷ Terraform HCL ͷࣗಈੜ 8
Cloud Native ͔ͩΒͦ͜Ͱ͖Δ”͋ͨΓ·͑” (3/3) • Declarative Con fi guration, Infrastructure
as Code • Policy Check & CI ͰͷΨΠυʹΑΓೝෛՙΛݮ͢Δ 9 S3 όέοτআ࣌ɺforce_destroy ͕͍ͭͯͳ͍ͷͰܯࠂ PR ͝ͱͷ Preview ڥσϓϩΠޙʹ௨ ArgoCD ͷϦϯΫ͕͋ΔͷͰ Քಇঢ়ଶ͕Θ͔Γ͍͢
ࠓ͓͢͠Δ͜ͱ Cloud Native ͳϓϩμΫτ։ൃ৫ʹ͓͚Δ ࣗݾஅೳྗൃ۷ͷࣄྫ 10
ઌʹ4ߦ·ͱΊ Cloud Native ͳϓϩμΫτ։ൃ৫Ͱ ٕज़ઓུάϧʔϓΛ্ཱͪ͛ͯ ࣗݾஅೳྗͷൃ۷Λࢦͨ݁͠Ռ ʮܧଓੑͱଟ༷ੑʯʹΑͬͯ͏·͘ߦͬͨ 11
Key Messages ܧଓੑͱଟ༷ੑ 12
Outline • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ • ࣗݾஅೳྗͱԿ͔ /
ͳͥࣗݾஅೳྗ͕ॏཁͳͷ͔ • ͜Ε·ͰͷऔΓΈ • ߟ • ·ͱΊ 13
Outline • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ • ࣗݾஅೳྗͱԿ͔ /
ͳͥࣗݾஅೳྗ͕ॏཁͳͷ͔ • ͜Ε·ͰͷऔΓΈ • ߟ • ·ͱΊ 14
ٕज़ઓུͱ ϓϩμΫτ։ൃ৫ʹ͓͍ͯ ԿΛΔ͔ɺԿΛΒͳ͍͔ 15
ͳٕͥज़ઓུ͕ඞཁ͔ • Ϗδωεͷʹਵ͢ΔͨΊ • มߋΛ͍͢͠γεςϜɾίʔυɾ৫ʹ͢Δ • มߋΛ͛ΔཁҼઌճΓͯ͠ରॲ͢Δ(ٕज़తෛ࠴ͷฦࡁ) • ͦͷঢ়ଶΛظతʹҡ࣋Ͱ͖ΔೳྗΛಘΔ 16
ͳٕͥज़ઓུ”άϧʔϓ”͕ඞཁ͔ 17 • ٕज़ઓུͷܾΊํ৫ʹΑͬͯҟͳΔ • 1ਓͷ CTO ͕τοϓμϯͰܾΊ͍͍ͯ • ϘτϜΞοϓͰશһ߹ٞͰܾΊ͍͍ͯ
• ͦͷதؒͰ͍͍ • ʰελσΟαϓϦʱٕज़ઓུΛ1ਓʹґଘ͠ͳ͍ΈΛ࡞Δ͜ͱʹ ઓ͍ͯ͠Δ
ٕज़ઓུάϧʔϓͱ 18 • త • ϓϩμΫτ։ൃ৫ͱͦͷγεςϜΛΑΓมԽʹڧ͘͢Δ • ඪ • ٕज़తͳϏδϣϯͱํͷࡦఆ
• ٕज़త՝ɾෛ࠴ΛίϯτϩʔϧԼʹஔ͘ • վળαΠΫϧͷཱ֬ͱࣗݾஅೳྗͷ֫ಘ
׆ಈମ 19 • త • ϓϩμΫτ։ൃ৫ͱͦͷγεςϜΛΑΓมԽʹڧ͘͢Δ • ඪ • ٕज़తͳϏδϣϯͱํͷࡦఆ
• ٕज़త՝ɾෛ࠴ΛίϯτϩʔϧԼʹஔ͘ • վળαΠΫϧͷཱ֬ͱࣗݾஅೳྗͷ֫ಘ ԣஅG Ref: Who owns the Service Level? ٕज़ઓུԣஅϫʔΩϯάάϧʔϓͷ׆ಈใࠂ DevOps G
DevOps G ͷతͱ׆ಈ 20 • తɿʢ։ൃνʔϜͷʣࣗݾஅೳྗͷ֫ಘͷͨΊʹઃஔ • ϝϯόʔ ྖҬ͝ͱͷ WebDev
/ QA / SRE • ߹ܭ7໊ɺ༷ʑͳνʔϜ͔Βू·͍ͬͯΔ • શһ݉Ͱߏ • ׆ಈिʹ1࣌ؒͷϛʔςΟϯά͕ϕʔε • Leader ͕ςʔϚʹԊͬͯϑΝγϦςʔγϣϯΛ͢Δ • ͍ͨ͠τϐοΫ͕͋Ε୭Ͱ࣋ͪࠐΈok
͔Γ͍͢·ͱΊ 21 ελσΟαϓϦখதߴϓϩμΫτ։ൃ෦ Stream Aligned Teams BtoB BtoC ԣஅܥ 5FBN
5FBN 5FBN 5FBN 43& ج൫։ൃ 2" 5FBN 5FBN 5FBN 5FBN ԣஅ 'SPOUFOE %FW0QT ٕज़ઓུ ٕज़ઓུͷ͏ͪʮࣗݾஅೳྗͷ ֫ಘʯΛࢦ͢ ֤νʔϜ͔Βશһ݉ͰࢀՃ
Outline • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ • ࣗݾஅೳྗͱԿ͔ /
ͳͥࣗݾஅೳྗ͕ॏཁͳͷ͔ • ͜Ε·ͰͷऔΓΈ • ߟ • ·ͱΊ 22
ࣗݾஅೳྗͱ 23 அ͢ΔͨΊʹঢ়گΛ Ѳ͢Δඞཁ͕͋Δʢࢦඪ Ξηεϝϯτʣ அ͢Δʹ·ͣප Ӄʹߦ͘ඞཁ͕͋Δ ʢஅͷτϦΨʔʣ ͯ͠පؾ͔Ͳ͏͔ͷ ఆʢධՁʣɺ͋Δ͍
࣏ྍʢվળʣΛ͠ͳ͚Ε ͳΒͳ͍
ͳͥࣗݾஅೳྗ͕ॏཁ͔ 24 • ʮ՝ʯͷಛ • ৗʹݟ͍͑ͯΔͱݶΒͳ͍ • มΘΓଓ͚Δ • ࢦඪΞηεϝϯτΛ௨ͯࣗͨͪ͡ͷݱঢ়ΛఆྔతʹѲ͢
Δඞཁ͕͋Δ • oneshot Ͱͳ͘ɺܧଓੑॏཁ • ࣗͨͪͷߦಈʹΑͬͯԿ͕มΘͬͨͷ͔ɺ͋Δ͍มΘΒͳ͔ͬͨͷ͔ ΛධՁ͠ଓ͚Δඞཁ͕͋Δ
Outline • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ • ࣗݾஅೳྗͱԿ͔ /
ͳͥࣗݾஅೳྗ͕ॏཁͳͷ͔ • ͜Ε·ͰͷऔΓΈ • ߟ • ·ͱΊ 25
Timeline 26 2021 2022 2023 CloudNative Days Fukuoka 2023 όϦϡʔετϦʔϜ
Ϛοϐϯά σϓϩΠසͷܭଌ DX Criteria (2) DX Criteria (1) άϧʔϓͷϏδϣϯ ͱظඪͷઃఆ ։ൃνʔϜͰͷࢦඪΛ ༻͍ͨվળ͕ߦΘΕΔ DX Criteria (3) ͓͢͢ΊϝτϦΫεͷ ࡦఆ ܰྔ൛ͷࢹৼΓฦΓ ͷ࡞ͱݕূ νʔϜͷࢹशख़ ৼΓฦΓ࡞
Timeline 27 2021 2022 2023 CloudNative Days Fukuoka 2023 όϦϡʔετϦʔϜ
Ϛοϐϯά σϓϩΠසͷܭଌ DX Criteria (2) DX Criteria (1) άϧʔϓͷϏδϣϯ ͱظඪͷઃఆ ։ൃνʔϜͰͷࢦඪΛ ༻͍ͨվળ͕ߦΘΕΔ DX Criteria (3) ͓͢͢ΊϝτϦΫεͷ ࡦఆ ܰྔ൛ͷࢹৼΓฦΓ ͷ࡞ͱݕূ νʔϜͷࢹशख़ ৼΓฦΓ࡞
2021લ 28 • ·ͣόϦϡʔετϦʔϜϚοϐϯάͰݱঢ়ೝࣝΛ߹Θͤͨ • ީิͱͳΔ Metrics Λग़͢ • σϓϩΠճʢසʣͷϞχλϦϯά
• DX Criteria ʢΞηεϝϯτʣͷ࣮ࢪ
όϦϡʔετϦʔϜϚοϐϯά 29 Meta Issue (Epic) ࡞~ ։ൃ
όϦϡʔετϦʔϜϚοϐϯά 30 ։ൃྃ ~ εϓϦϯτϨϏϡʔ QA ~ ຊ൪ϦϦʔε
ީิͱͳΔ Metrics / Indicator ͷચ͍ग़͠ͱܭଌ 31 όϦϡʔετϦʔϜϚοϐ ϯάΛΠϯϓοτʹɺվ ળͨ͠߹ͷϝϦοτͷ ԾઆɺͦΕΛ્ͯ͠
͍ΔΛϐοΫΞοϓ
DX Criteria ͷ࣮ࢪ 32 • ຊ CTO ڠձ͕ࡦఆͨ͠ DX ʹؔ͢ΔΞηεϝϯτ
• https://dxcriteria.cto-a.org/ • DX = Digital Transformation & Developer Experience • 5ͭͷςʔϚ͕͋Δ • νʔϜ / γεςϜ / σʔλۦಈ / σβΠϯࢥߟ / ίʔϙϨʔτ • ։ൃ৫ͳΒνʔϜɺγεςϜ͔Β࢝ΊΔͷ͕͓͢͢Ί
DX Criteria ͷ࣮ࢪ 33 ref: ࣗͨͪͷγεςϜΛஅ͢ΔͨΊʹ DX Criteria"γεςϜ"ςʔϚΛ࣮ࢪ͠·ͨ͠
Timeline 34 2021 2022 2023 CloudNative Days Fukuoka 2023 όϦϡʔετϦʔϜ
Ϛοϐϯά σϓϩΠසͷܭଌ DX Criteria (2) DX Criteria (1) άϧʔϓͷϏδϣϯ ͱظඪͷઃఆ ։ൃνʔϜͰͷࢦඪΛ ༻͍ͨվળ͕ߦΘΕΔ DX Criteria (3) ͓͢͢ΊϝτϦΫεͷ ࡦఆ ܰྔ൛ͷࢹৼΓฦΓ ͷ࡞ͱݕূ νʔϜͷࢹशख़ ৼΓฦΓ࡞
2021ޙ 35 • औಘͨ͠ metrics ͕׆༻͞Ε͍ͯͳ͍͜ͱ͕՝ʹ্͕Δ • σϓϩΠΛऔ͕ͬͨੳ͞Ε͍ͯͳ͍ • Coverband
ʹΑΔίʔυΧόϨοδ͕ݟΒΕ͍ͯͳ͍ • DX Criteria 2ճ࣮ࢪ • ઃͷҙਤͷ֬ೝʹ͕͔͔࣌ؒΔ՝
2021ͷৼΓฦΓ 36 • 😄׆ಈΛܧଓͰ͖ͨ • 😄ࢦඪΛݕ౼͠ɺܭଌͨ͠ • 😄DX CriteriaʢΞηεϝϯτʣΛ2࣮ࢪͨ͠ •
🤔ࢦඪ͕վળͷʹཱ͍ͯͯͳ͍ • 🤔DX Criteria ࣮ࢪେมʢ͕͔͔࣌ؒΔɺղऍ͕͍͠ʣ
Timeline 37 2021 2022 2023 CloudNative Days Fukuoka 2023 όϦϡʔετϦʔϜ
Ϛοϐϯά σϓϩΠසͷܭଌ DX Criteria (2) DX Criteria (1) άϧʔϓͷϏδϣϯ ͱظඪͷઃఆ ։ൃνʔϜͰͷࢦඪΛ ༻͍ͨվળ͕ߦΘΕΔ DX Criteria (3) ͓͢͢ΊϝτϦΫεͷ ࡦఆ ܰྔ൛ͷࢹৼΓฦΓ ͷ࡞ͱݕূ νʔϜͷࢹशख़ ৼΓฦΓ࡞
2022લ 38 • άϧʔϓͷϏδϣϯΛࡦఆ • શͯͷ։ൃνʔϜ͕ΛࣗΒൃݟ͠վળ͠ଓ͚Δੈքͷ࣮ݱ • άϧʔϓͷ͝ͱͷඪΛఆΊͨ • DevOps
G Ͱൃ۷ͨ͠ࢦඪΛͬͯෳͷ։ൃνʔϜ͕վળαΠΫϧΛճͤͯ ͍Δ͜ͱ • DX Criteria 3ճͷ࣮ࢪ • அͱͯ͠༗ޮ͕ͩɺ࣮ࡍʹվળΛ͢Δ͕࣌ؒͳ͍ͱ͍͏՝ • ՝Λ࣋ͪࠐΜͰɺͦͷͰղܾ͢Δ͜ͱ͕૿͖͑ͯͨ • ྫ: ͜ͷΛධՁ͢Δ Metrics ͋Δʁ͜͏ͨ͠ΒͰ͖ΔΑ
2022લͷৼΓฦΓ 39 • 😄ඪΛୡͰ͖ͨ • DevOps G ࢀՃϝϯόʔ͕νʔϜʹ࣋ͪؼͬͯվળΛϦʔυ • DX
Criteria ΛνʔϜͰ࣮ࢪ • ςετΧόϨοδΛදࣔ͠ɺςετΛ૿͢ • 🤔DX Criteria ࣮ࢪେมʢ͕͔͔࣌ؒΔɺղऍ͕͍͠ʣ • લͷظ͔Βܧଓ
Timeline 40 2021 2022 2023 CloudNative Days Fukuoka 2023 όϦϡʔετϦʔϜ
Ϛοϐϯά σϓϩΠසͷܭଌ DX Criteria (2) DX Criteria (1) άϧʔϓͷϏδϣϯ ͱظඪͷઃఆ ։ൃνʔϜͰͷࢦඪΛ ༻͍ͨվળ͕ߦΘΕΔ DX Criteria (3) ͓͢͢ΊϝτϦΫεͷ ࡦఆ ܰྔ൛ͷࢹৼΓฦΓ ͷ࡞ͱݕূ νʔϜͷࢹशख़ ৼΓฦΓ࡞
2022ޙ 41 • άϧʔϓͷඪΛมߋ • Before: DevOps G Ͱൃ۷ͨ͠ࢦඪΛͬͯෳͷ։ൃνʔϜ͕վળαΠΫϧΛճ͍ͤͯ Δ͜ͱ
• After: ։ൃνʔϜ͕ࣗΒඞཁͳࢦඪΛൃݟ͠ɺվળαΠΫϧΛճ͢͜ͱ͕Ͱ͖͍ͯΔ͜ͱ • ʮ͓͢͢ΊϝτϦΫεʯͷࡦఆ • લʹચ͍ग़ͨ͠ࢦඪͱผ • औಘํ๏ޮՌޮೳΛهࡌ • ͓͢͢ΊϝτϦΫεಉ࢜ͷؔਤ࡞ • ಠࣗͷʮνʔϜͷࢹशख़ৼΓฦΓʯΛ࡞ɺ࣮ࢪ
͓͢͢ΊϝτϦΫε 42
͓͢͢ΊϝτϦΫεؔਤ 43
νʔϜͷࢹशख़ৼΓฦΓ - Google form Ͱ࣮ࢪ 44
νʔϜͷࢹशख़ৼΓฦΓ - Ϩϕϧ͝ͱͷΞΫγϣϯ(1/3) 45 ॳظঢ়ଶɻࢹ͓ͯ͠ΒͣྼԽΛͰ͖ͳ͍ɺΞΫγϣϯͷओମऀෆ໌ྎͰ͋Δɻ ࢹͷͨΊͷΈ Production Readiness Checklist ͳͲΛ௨ͯ͡ఆΊΒΕ͍ͯΔɻ
͔͠͠ྼԽʹର͢ΔΞΫγϣϯ͕ͳ͞Ε͍ͯͳ͍ɻ
νʔϜͷࢹशख़ৼΓฦΓ - Ϩϕϧ͝ͱͷΞΫγϣϯ(2/3) 46 ࢹͷͨΊͷϓϩηε͕श׳Խ͞Εɺͨ͠ྼԽʹ͍ͨͯ͠ΞΫγϣϯ͕औΒΕ͍ͯΔɻ
νʔϜͷࢹशख़ৼΓฦΓ - Ϩϕϧ͝ͱͷΞΫγϣϯ(3/3) 47 Level 2 ʹՃ͑ɺࢹख๏ϓϩηεܧଓతʹݟ͓ͯ͠Γɺվળ͠ଓ͚͍ͯΔɻ
νʔϜͷࢹशख़ৼΓฦΓΛͬͯΈͯ 48 • ΄ͱΜͲͷαʔϏε͕ Level 2 ͩͬͨ • Level2: ࢹͷͨΊͷϓϩηε͕श׳Խ͞Εɺͨ͠ྼԽʹରͯ͠ΞΫγϣϯ͕औΒΕ
͍ͯΔ • Production Readiness Checklist ͰࢹઃఆҰ௨Γ͢ΔͨΊ • Level 3 ͷαʔϏε΄΅ͳ͍ • Level3: Level 2 ʹՃ͑ɺࢹख๏ϓϩηεܧଓతʹݟ͓ͯ͠Γɺվળ͠ଓ͚͍ͯΔɻ • ϓϩηεͦͷͷͷఆظతͳݟ͠ = ࣗݾஅࣗମͷஅͰ͖͍ͯͳ͍ • ϚΠΫϩαʔϏε୯Ґɾػೳ୯ҐͰ࣮ࢪͨ͠ͷͰɺ1ͭͷνʔϜ͕ෳճ͠ ͳ͚ΕͳΒͣɺճࣗମ͕ॏ͔ͬͨ • ܧଓੑʹ՝͕͋Δ
2022ޙͷৼΓฦΓ 49 • 😄͓͢͢ΊϝτϦΫεͷ੍ఆͱͦͷؔਤͷ࡞Λͨ͠ • 😄ࢹʹؔ͢ΔಠࣗͷΞηεϝϯτΛ࡞ͨ͠ • 😄ίϥϘϨʔγϣϯ͕૿͑ͨ • quipper/google-cloud-pub-sub-operator
• SRE / WebDev Ͱ PR ڥͰڞ༗ͷ Cloud Pub/Sub ʹΑΓɺτϐοΫ ͕औΒΕͯ͠·͏՝Λղܾ͢ΔͨΊʹ࡞ͬͨ Kubernetes Operator • 🤔Ξηεϝϯτࣗମ͕ʮॏ͍ʯ͜ͱΓ՝ʹ
Timeline 50 2021 2022 2023 CloudNative Days Fukuoka 2023 όϦϡʔετϦʔϜ
Ϛοϐϯά σϓϩΠසͷܭଌ DX Criteria (2) DX Criteria (1) άϧʔϓͷϏδϣϯ ͱظඪͷઃఆ ։ൃνʔϜͰͷࢦඪΛ ༻͍ͨվળ͕ߦΘΕΔ DX Criteria (3) ͓͢͢ΊϝτϦΫεͷ ࡦఆ ܰྔ൛ͷࢹৼΓฦΓ ͷ࡞ͱݕূ νʔϜͷࢹशख़ ৼΓฦΓ࡞
2023લʢݱࡏʣ 51 • άϧʔϓͷඪҡ࣋ • ։ൃνʔϜ͕ࣗΒඞཁͳࢦඪΛൃݟ͠ɺվળαΠΫϧΛճ͢͜ͱ͕Ͱ͖͍ͯΔ͜ͱ • ༗ӹͳࢦඪͷൃ۷ͱվળ • monorepo
ͷ CI ܭଌπʔϧΛಈ͔͢ • ্ه GitHub Action Λ OSS ͱͯ͠Γग़ͨ͠ ref: quipper/send-ci-result-to-bigquery-action • ES2 Test(MagicPod) ͷ࣮ߦ݁Ռͷܭଌ ref: chaspy/magicpod-datadog-action / ʰελσΟαϓϦ தֶߨ࠲ʱʹ͓͚Δ E2E Test ͷӡ༻ͱܭଌʹΑΔվળ • ࢹͷৼΓฦΓΞηεϝϯτͷܰྔ൛Λ࡞ɺݕূத
༗ӹͳࢦඪͷൃ۷ͱվળ / DevOps G Ͱ࡞ͬͨ CI ܭଌ͔Βվળ 52
ࢹৼΓฦΓͷܰྔ൛ 53
ࢹৼΓฦΓͷܰྔ൛ 54
ࢹৼΓฦΓͷܰྔ൛ΛͬͯΈͯ 55 • ·ͣ DevOps WG Ͱෳճ࣮ࢪ͍ͯ͠Δ • 5ஈ֊ධՁ؆୯ •
அࣗମΛܰྔԽ͢Δ͜ͱʹΑͬͯश׳Խͤ͞ΒΕΔ • ओ؍ʹΑΓϒϨͯ͠·͏՝্͕͕ͬͨɺ͍ͭͨࣗମͲ͏Ͱ Α͘ɺνʔϜͰղऍΛձ͢Δ͜ͱ͕ॏཁ • ࢹπʔϧʹؔ͢Δ Tips ͕ू·Δͷఆ֎ʹ༗ӹͩͬͨ
Outline • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ • ࣗݾஅೳྗͱԿ͔ /
ͳͥࣗݾஅೳྗ͕ॏཁͳͷ͔ • ͜Ε·ͰͷऔΓΈ • ߟ • ·ͱΊ 56
͜ͷ׆ಈΛ௨ͯ͡զʑ͕ಘͨͷ 57 • ࢦඪΞηεϝϯτΛ࣮ӡ༻ʹܨ͛Δݟ • ࢦඪͷऔಘํ๏ͱޮՌޮೳ͕·ͱ·ͬͨද • զʑ͕࡞ͬͨɾධՁͨ͠Ξηεϝϯτπʔϧ • ࣗݾஅೳྗʹ͍ͭͯձ͠ଓ͚ΒΕΔॴ
• ͨ͘͞Μͷ՝ղܾ
͜ͷ׆ಈΛ௨ͯ͡զʑ͕ಘͨͷ 58 • ࢦඪΞηεϝϯτΛ࣮ӡ༻ʹܨ͛Δݟ • ࢦඪͷऔಘํ๏ͱޮՌޮೳ͕·ͱ·ͬͨද • զʑ͕࡞ͬͨɾධՁͨ͠Ξηεϝϯτπʔϧ • ࣗݾஅೳྗʹ͍ͭͯձ͠ଓ͚ΒΕΔॴ
• ͨ͘͞Μͷ՝ղܾ
ࢦඪΞηεϝϯτʹؔ͢Δߟ 59 • ࢦඪऔಘ͢Δ͚ͩͰҙຯ͕ͳ͍ʢͦΕͦ͏ʣ • ධՁͯ͠վળ͠ͳ͚Εҙຯ͕ͳ͍ => νʔϜʹ࣋ͪؼͬͯΒ͏ඞཁ͕͋Δ • ࢦඪ՝͕͋ͬͯॳΊͯʹͨͭ
=> ՝͕ू·Δ͕༗ޮ • ࢦඪͷऔಘࣗମٕज़ྗγεςϜͷཧղ͕ඞཁ • ΞηεϝϯτͷϙΠϯτ • ܧଓ͕ͦ͜࠷ॏཁ • ࣮ࢪࣗମ͕େมͩͱଓ͔ͳ͍ɺश׳ԽͱܰྔԽ͕ॏཁ • ΞΫγϣϯʹܨ͛ΔʹνʔϜͰճͷࠜڌΛ͢ͷ͕େࣄ
͜ͷ׆ಈΛ௨ͯ͡զʑ͕ಘͨͷ 60 • ࢦඪΞηεϝϯτΛ࣮ӡ༻ʹܨ͛Δݟ • ࢦඪͷऔಘํ๏ͱޮՌޮೳ͕·ͱ·ͬͨද • զʑ͕࡞ͬͨɾධՁͨ͠Ξηεϝϯτπʔϧ • ࣗݾஅೳྗʹ͍ͭͯձ͠ଓ͚ΒΕΔॴ
• ͨ͘͞Μͷ՝ղܾ
ࣗݾஅೳྗʹ͍ͭͯձ͠ଓ͚ΒΕΔॴ 61 • िʹ1ɺ1͚࣌ؒͩ͢ • 1ؒͰ52࣌ؒʢ࣮ࡍʹٳΈ͕͋ΔͷͰͬͱগͳ͍ʣ • ͍ͭͰΛ͛ࠐΊΔॴ͕͋Δ͜ͱʹΑΔར • ݱΕଓ͚Δ͠ɺܗΛม͑ଓ͚Δ
• ଟ༷ͳϝϯόʔͰղܾ͕Ͱ͖Δ • ͔ͩΒͦࣗ͜ݾஅೳྗ͕ॏཁͰ͋Γɺܧଓੑ͕େࣄ
͜ͷ׆ಈΛ௨ͯ͡զʑ͕ಘͨͷ 62 • ࢦඪΞηεϝϯτΛ࣮ӡ༻ʹܨ͛Δݟ • ࢦඪͷऔಘํ๏ͱޮՌޮೳ͕·ͱ·ͬͨද • զʑ͕࡞ͬͨɾධՁͨ͠Ξηεϝϯτπʔϧ • ࣗݾஅೳྗʹ͍ͭͯձ͠ଓ͚ΒΕΔॴ
• ͨ͘͞Μͷ՝ղܾ
͜ͷάϧʔϓΛىʹͨ͘͞Μͷ՝ղܾ͕Ͱ͖ͨ 63 • ՝ղܾओͳతͰͳ͔ͬͨͨΊɺ෭࣍తʹى͖ͨ • ՝Λ࣋ͪࠐΉͱʮͦΕ͙͢Ͱ͖ΔΑʯͱͳΔ • εϐϯΦϑతʹαϒϓϩδΣΫτ͍͔ͭ͘ੜ·Εͨ • ߏϝϯόʔͷଟ༷ੑͱٕज़ྗʹΑΓɺ୯ҰνʔϜͰಘΒΕͳ͍ྑ͍
՝ͷൃݟͱղܾ͕Ͱ͖͍ͯΔ • ৫ͷঢ়گʹ׆ಈ͕Ϛονͨ͠ • େن(80~)৫͔ͭɺCloud Native ʹΑΓ֤νʔϜ͕ࣗݾ݁తʹ։ൃΛਐΊΒΕ ΔΑ͏ʹͳͬͨ໘ɺνʔϜؒͷίϛϡχέʔγϣϯ࠷খԽ͞Ε͍ͯΔ͜ͱͰɺ՝ ൃݟݟͷڞ༗͕ͮ͠Β͘ͳ͍ͬͯͨ • ԣஅతɾଟ༷ͳϝϯόʔͰߏ͞Εͨάϧʔϓ͕ޮՌΛൃشͨ͠
࠷େͳ͜ͱ ܧଓੑͱଟ༷ੑ 64
ܧଓͰ͖͍ͯΔཧ༝: Ϛωδϝϯτͷ 65 • 2ɺԣஅɺશһ݉Ͱܧଓ͍ͯ͠Δͷ͍͢͝ • ʮ͍͠ͷͰ…ʯͱͳΓ͕ͪ • Lead /
Management ͷ(Ұൠ) • νʔϜʹඞཁͳεΩϧΛௐୡͨ͠ΓɺํੑΛܾΊΔ Management • ඪʹ͔ͬͯνʔϜΛલʹਐΊΔ Lead • ͜ΕΛ1ਓ͕ΔͱർΕͯ͠·͏ • Ϗδϣϯɾϛογϣϯͷࡦఆ(Ұൠ) • νʔϜΛલʹਐΊΔͷʹ༗ޮ • ϝϯόʔͷɾଟ༷ੑҡ࣋ɾLeader ΞαΠϯ • ৬ɾ͜Ε·Ͱগͳ͔Βͣ͋ͬͨ • ͦͷࡍඞͣଟ༷ੑ͕୲อ͞ΕΔΑ͏ʹϝϯόʔͷΞαΠϯΛ৺͕͚ͨ
ܧଓͰ͖͍ͯΔཧ༝: ৫ߏ 66 • ֤νʔϜ͔Βଟ༷ͳϝϯόʔ͕બΕͯɺνʔϜʹ࣋ͪؼΔ͜ͱͷྑ͞ • ࢦඪΞηεϝϯτΛݕূͯ͠ɺ࣮ࡍʹվળʹ׆͔͢ɺͱ͍͏άϧʔϓͷඪʹϚονͨ͠ • ͜ͷߏҎԼͷར͕͋Δ •
։ൃνʔϜͷ Ownership ΛߴΊΒΕɺࣗݾ݁νʔϜΛࢧ͑ΒΕΔ • DevOps νʔϜ vs ։ൃνʔϜͷΑ͏ʹରཱߏʹͳΒͳ͍ɾݖҖతʹͳΒͳ͍ • ՝͕ू·ΔॴʹͳΔ • நతɾ൚༻తͳιϦϡʔγϣϯΛੜΈग़͘͢͠ͳΔ • ͜ΕҰछͷσβΠϯύλʔϯʢ໊લΛ͚͍ͭͨ…ʣ • ֤νʔϜ͔Β݉Ͱू߹ͯٞ͠ˍνʔϜʹ࣋ͪؼ࣮ͬͯફΛϑΝγϦςʔγϣϯ • QA จ຺Ͱಉ༷ͷޭମݧΛಘΒΕͨͷͰ࠶ݱੑ͕͋Δ Ref: ʰελσΟαϓϦ தֶߨ࠲ʱʹ͓͚Δ E2E Test ͷӡ༻ͱܭଌʹΑΔվળ
֤νʔϜ͔Β݉Ͱू߹ͯٞ͠ˍνʔϜʹ࣋ͪؼ࣮ͬͯફΛϑΝγϦςʔγϣϯύλʔϯ 67 ελσΟαϓϦখதߴϓϩμΫτ։ൃ෦ Stream Aligned Teams BtoB BtoC ԣஅܥ 5FBN
5FBN 5FBN 5FBN 43& ج൫։ൃ 2" 5FBN 5FBN 5FBN 5FBN ԣஅ 'SPOUFOE %FW0QT ٕज़ઓུ 1. ू߹ͯٞ͠ 2. ࣋ͪؼ࣮ͬͯફ
ܧଓͰ͖͍ͯΔཧ༝: ৫จԽ 68 • ձࣾ౷߹લ(Quipper࣌)͔Β͋ΔόϦϡʔͱϚονͨ͠ • Fact-Based • Ownership ref:
ձࣾհࢿྉ • Fact-Based ʹٞ͢ΔͨΊʹࢦඪΛ୳ڀ͢Δ • Cloud Native ʹΑͬͯ։ൃऀ͕ Ownership Λ࣋ͬͯϑϧα ΠΫϧͰ໘ΛݟΔ
Outline • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ • ࣗݾஅೳྗͱԿ͔ /
ͳͥࣗݾஅೳྗ͕ॏཁͳͷ͔ • ͜Ε·ͰͷऔΓΈ • ߟ • ·ͱΊ 69
·ͱΊ Cloud Native ͳϓϩμΫτ։ൃ৫Ͱ ٕज़ઓུάϧʔϓΛ্ཱͪ͛ͯ ࣗݾஅೳྗͷൃ۷Λࢦͨ݁͠Ռ ʮܧଓੑͱଟ༷ੑʯʹΑͬͯ͏·͘ߦͬͨ 70
·ͱΊ 71 • ࣗݾஅೳྗͷπʔϧͰ͋ΔࢦඪΞηεϝϯτͦΕࣗମΛݕ ূɺධՁ͠ɺࣗ৫ʹϑΟοτ͢Δ͔Λ֬ೝ͢Δඞཁ͕͋Δ • ࣗݾஅܧଓੑ͕࠷ॏཁͰ͋ΓɺͦͷͨΊʹஅࣗମΛܰ ͘͢Δ͜ͱɺஅΛਪ͠ਐΊΔϫʔΩϯάάϧʔϓࣗମ͕ܧଓ ͍ͯ͠Δ͜ͱ͕ॏཁͰ͋Δ •
ࣗݾஅೳྗͷ࣮Λ୲͏ԣஅάϧʔϓΛଟ༷ͳϩʔϧɾνʔϜ ͔Βߏ͢Δ͜ͱʹΑΓɺଟ༷ͳϢʔεέʔε͕ू·Δ͜ͱʹͳ Γɺ՝ൃݟͱվળαΠΫϧ͕Ճ͞ΕΔ • ݁Ռɺ෭࣍తʹ࣮ࡍͷ՝ղܾଅਐ͞Εͨ
࠷େͳ͜ͱ ܧଓੑͱଟ༷ੑ 72
հ࣮ͨ͠ྫϚωδϝϯτͷ͔Β ώϯτΛಘͯΒ͑Δͱخ͍͠Ͱ͢ 73
Thank you! 74 chaspy chaspy_ Engineering Manager Site Reliability and
Web Application Development at Recruit Co., Ltd. Ԭָ͠ΜͰ͍ͬͯͶ😄 ࠙ձͰ͠·͠ΐ͏ʂ👋 Takeshi Kondo https://chaspy.me