$30 off During Our Annual Pro Sale. View Details »
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
1
4.5k
自己診断能力の獲得を目指して / 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
SRE の考えをマネジメントに活かす / applying SRE ideas to management
chaspy
7
4.9k
RAGの簡易評価によるフィードバックサイクル実践 / Feedback cycle practice through simplified assessment of RAGs
chaspy
2
4.4k
定量データと定性評価を用いた技術戦略の組織的実践 / Systematic implementation of technology strategies using quantitative data and qualitative evaluation
chaspy
9
1.5k
エンジニアブランディングチームの KPI / KPI's of engineer branding team
chaspy
2
1.8k
「SLO Review」今やるならこうする / If I had to do the "SLO Review" again
chaspy
3
1.6k
開発者とともに作る Site Reliability Engineering / SREing with Developers
chaspy
10
7.6k
『スタディサプリ 中学講座』における E2E Test の運用と計測による改善 / Improved E2E testing through measurement
chaspy
0
4.1k
『スタディサプリ』における SLI/SLO の継続的改善 / Continuous improvement of SLI/SLO at StudySapuri
chaspy
1
3k
ポストモーテム運用を支える文化と技術 / Culture and Technology Supporting Postmortem Operations
chaspy
2
2.1k
Other Decks in Technology
See All in Technology
PFN Company Deck
pfn
PRO
2
140
Amazon Forecast亡き今、我々がマネージドサービスに頼らず時系列予測を実行する方法
sadynitro
0
220
Will multimodal language processing change the world?
keio_smilab
PRO
2
250
エンジニアの草の根活動のその先へ LINEギフトのアクセシビリティにおける ネクストアクション
lycorptech_jp
PRO
0
110
GitHub Copilot全社導入のその後とGitHub×ZOZOTOWNコラボレーションの舞台裏 / GitHub ZOZOTOWN
ikkou
0
190
MediaPipe と ML Kit ってどう ちがうの? / What is the difference between MediaPipe and ML Kit?
yanzm
0
220
Kubernetes だけじゃない!Amazon ECS で実現するクラウドネイティブな GitHub Actions セルフホストランナー / CNDW2024
ponkio_o
PRO
6
420
乗っ取れKubernetes!!~リスクから学ぶKubernetesセキュリティの考え方~/k8s-risk-and-security
mochizuki875
3
430
ゆるSRE勉強会 #8 組織的にSREが始まる中で意識したこと
abnoumaru
2
840
140年の歴史あるエンタープライズ企業の内製化×マイクロサービス化への航海
yussugi
0
3.7k
B11-SharePoint サイトのストレージ管理を考えよう
maekawa123
0
120
累計2500万着電を支える大規模 電話自動応答サービスのアーキテクチャ / Architecture of a Large-Scale Automated Phone Response Service Supporting 25 Million Cumulative Calls
ymachida
8
4.3k
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Code Reviewing Like a Champion
maltzj
520
39k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Into the Great Unknown - MozCon
thekraken
33
1.5k
A Tale of Four Properties
chriscoyier
156
23k
Building Adaptive Systems
keathley
38
2.3k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
A Modern Web Designer's Workflow
chriscoyier
693
190k
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