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
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
5.2k
RAGの簡易評価によるフィードバックサイクル実践 / Feedback cycle practice through simplified assessment of RAGs
chaspy
2
4.6k
定量データと定性評価を用いた技術戦略の組織的実践 / 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.7k
開発者とともに作る Site Reliability Engineering / SREing with Developers
chaspy
10
7.7k
『スタディサプリ 中学講座』における E2E Test の運用と計測による改善 / Improved E2E testing through measurement
chaspy
0
4.2k
『スタディサプリ』における SLI/SLO の継続的改善 / Continuous improvement of SLI/SLO at StudySapuri
chaspy
1
3k
ポストモーテム運用を支える文化と技術 / Culture and Technology Supporting Postmortem Operations
chaspy
2
2.2k
Other Decks in Technology
See All in Technology
3年でバックエンドエンジニアが5倍に増えても破綻しなかったアーキテクチャ そして、これから / Software architecture that scales even with a 5x increase in backend engineers in 3 years
euglena1215
9
3.5k
TypeScript開発にモジュラーモノリスを持ち込む
sansantech
PRO
2
630
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
200
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
320
Wantedly での Datadog 活用事例
bgpat
2
670
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
280
Storage Browser for Amazon S3
miu_crescent
1
290
[JAWS-UG新潟#20] re:Invent2024 -CloudOperationsアップデートについて-
shintaro_fukatsu
0
120
クレカ・銀行連携機能における “状態”との向き合い方 / SmartBank Engineer LT Event
smartbank
2
100
Google Cloud で始める Cloud Run 〜AWSとの比較と実例デモで解説〜
risatube
PRO
0
120
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
380
怖くない!ゼロから始めるPHPソースコードコンパイル入門
colopl
0
160
Featured
See All Featured
Done Done
chrislema
182
16k
Facilitating Awesome Meetings
lara
50
6.1k
Optimising Largest Contentful Paint
csswizardry
33
3k
Embracing the Ebb and Flow
colly
84
4.5k
GitHub's CSS Performance
jonrohan
1031
460k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Why Our Code Smells
bkeepers
PRO
335
57k
GraphQLとの向き合い方2022年版
quramy
44
13k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
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