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-diagnostic skills
Search
Takeshi Kondo
August 03, 2023
Technology
1
2.9k
自己診断能力の獲得を目指して / Toward the acquisition of self-diagnostic skills
CNDF2023
https://event.cloudnativedays.jp/cndf2023
Takeshi Kondo
August 03, 2023
Tweet
Share
More Decks by Takeshi Kondo
See All by Takeshi Kondo
エンジニアブランディングチームの KPI / KPI's of engineer branding team
chaspy
2
760
「SLO Review」今やるならこうする / If I had to do the "SLO Review" again
chaspy
3
760
開発者とともに作る Site Reliability Engineering / SREing with Developers
chaspy
10
6.2k
『スタディサプリ 中学講座』における E2E Test の運用と計測による改善 / Improved E2E testing through measurement
chaspy
0
2.9k
『スタディサプリ』における SLI/SLO の継続的改善 / Continuous improvement of SLI/SLO at StudySapuri
chaspy
1
2k
ポストモーテム運用を支える文化と技術 / Culture and Technology Supporting Postmortem Operations
chaspy
2
1.2k
Who owns the Service Level?
chaspy
5
9.8k
多様な働き方を支える Working Agreements / Working agreements that support diverse work styles
chaspy
1
1.9k
SRE を実現するための組織マネジメント / Management to achieve SRE
chaspy
3
5.2k
Other Decks in Technology
See All in Technology
「知的単純作業」を自動化する、地に足の着いた大規模言語モデル (LLM) の活用
nrryuya
8
5.8k
止まらないLinuxシステムを構築する_高信頼性クラスタ入門
koedoyoshida
3
2.3k
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
15
35k
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.4k
2024春 注目のWeb系 OSS & SaaS 3選
makies
0
200
20分で完全に理解するGrafanaダッシュボード
hamadakoji
5
980
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
160
[2024/04/23]tbls活用事例 〜 ビューポイントから データベースを整理してみた話 〜
tosite
0
120
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
1
1.8k
Cypress or Playwright?
rainerhahnekamp
0
180
チームでロジカルシンキングに改めて向き合っている話 〜学習環境と実践⽅法〜
sansantech
PRO
3
3.3k
MixIT 2024 - Pulumi : Gérer son infra avec son langage de programmation préféré
ju_hnny5
1
120
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
Clear Off the Table
cherdarchuk
85
310k
Testing 201, or: Great Expectations
jmmastey
30
6.4k
What's new in Ruby 2.0
geeforr
337
31k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
Stop Working from a Prison Cell
hatefulcrawdad
267
19k
Building Flexible Design Systems
yeseniaperezcruz
320
37k
KATA
mclloyd
16
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Code Review Best Practice
trishagee
56
15k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
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