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
今後のビジネスを支える技術と考え方
Search
TomoyaKitaura
May 03, 2020
Technology
0
180
今後のビジネスを支える技術と考え方
2020/5/3にGBS様の社内勉強会に乱入させていただき、
発表した資料です。
TomoyaKitaura
May 03, 2020
Tweet
Share
More Decks by TomoyaKitaura
See All by TomoyaKitaura
New Relicの推せるところ・推せないところ / newrelic good and bad
tomoyakitaura
0
76
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
240
「頑張る」を「楽しむ」に変換する技術
tomoyakitaura
17
10k
これからの設計で変わること pre:invent2024アップデート速報 / pre:invent2024 network update
tomoyakitaura
1
220
セキュリティ活動をちょっとずつやる戦略を実行した気づき / Incremental Security Initiatives
tomoyakitaura
0
180
社内共通コンテナレジストリを設立して、開発者体験向上を狙ってみた /Establishing container registry to improve DX
tomoyakitaura
2
200
LTワークショップ3日目 / LT Workshop Day 3
tomoyakitaura
0
180
LTワークショップ2日目 / LT Workshop Day 2
tomoyakitaura
0
160
LTワークショップ(1日目) / LT workshop day 1
tomoyakitaura
1
190
Other Decks in Technology
See All in Technology
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
7.8k
AIの全社活用を推進するための安全なレールを敷いた話
shoheimitani
2
540
KubeCon + CloudNativeCon Japan 2025 Recap Opening & Choose Your Own Adventureシリーズまとめ
mmmatsuda
0
280
Tokyo_reInforce_2025_recap_iam_access_analyzer
hiashisan
0
190
Sansanのデータプロダクトマネジメントのアプローチ
sansantech
PRO
0
160
American airlines ®️ USA Contact Numbers: Complete 2025 Support Guide
airhelpsupport
0
390
20250705 Headlamp: 專注可擴展性的 Kubernetes 用戶界面
pichuang
0
270
MUITにおける開発プロセスモダナイズの取り組みと開発生産性可視化の取り組みについて / Modernize the Development Process and Visualize Development Productivity at MUIT
muit
2
17k
SmartNewsにおける 1000+ノード規模 K8s基盤 でのコスト最適化 – Spot・Gravitonの大規模導入への挑戦
vsanna2
0
140
american airlines®️ USA Contact Numbers: Complete 2025 Support Guide
supportflight
1
110
AI エージェントと考え直すデータ基盤
na0
1
160
AIは精算業務をどう変える? 自律型エージェントが実現する未来のワークフロー / RAKUS AI Meetup-1
rakus_dev
0
120
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
690
Six Lessons from altMBA
skipperchong
28
3.9k
Building Applications with DynamoDB
mza
95
6.5k
Agile that works and the tools we love
rasmusluckow
329
21k
Unsuck your backbone
ammeep
671
58k
How STYLIGHT went responsive
nonsquared
100
5.6k
Designing Experiences People Love
moore
142
24k
KATA
mclloyd
30
14k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Thoughts on Productivity
jonyablonski
69
4.7k
How to train your dragon (web standard)
notwaldorf
95
6.1k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Transcript
ࠓޙͷϏδωεΛࢧ͑Δ ٕज़ͱߟ͑ํ 2020/05/03 άϩʔόϧϏδωειϦϡʔγϣϯגࣜձ༷ࣾ ࣾษڧձཚೖฤ
ࣗݾհ 2 Tomoya Kitaura ʢ32ࡀࣇʣ @kitta0108 ▪৬ྺ - σʔληϯλʔӡ༻ 7
- ωοτϫʔΫΤϯδχΞ 3 - Web։ൃ 2 ▪ษڧձӡӦ - TechOn - AWS JAWS ίϯςφࢧ෦
ΞδΣϯμ 3 1.SREͱ 2.ιϑτΣΞͷ։ൃαΠΫϧ 3.ӡ༻ͱ։ൃͷ՝ 4.৴པੑͱ 5.DevOpsղܾͷ5ͭͷKey 6.IaCͱ 7.IaCͷྺ࢙ 8.ݱࡏͷIaC
9.·ͱΊ 10.͓קΊͷΞΫγϣϯϓϥϯ
1-1.SREͱ 4 Site Reliability Engineeringͷུ Google͕ࣾఏএɺ࣮ફ͍ͯ͠ΔγεςϜཧͱαʔϏεӡ༻ͷํ๏ͷ͜ͱɻ 201511݄ʹϝϧΧϦͰSREνʔϜΛൃ͢ΔͳͲɺ ࠓɺ͞Ε͍ͯΔߟ͑ํͷҰͭɻ
1-2.SREͱ 5 Site Reliability Engineerͱ͍͍·͢ɻ ͍͜͠ Site Reliability EngineeringΛ࣮ફ͢ΔׂͷਓΛࢦ͢ɻ ιϑτΣΞ։ൃͷଞʹΠϯϑϥωοτϫʔΫͳͲͷ
෯͍εΩϧʹΑͬͯ৴པੑʹؔ࿈͢Δ՝Λղܾ͢Δɻ
2-1.ιϑτΣΞͷ։ൃαΠΫϧ 6 Ϗδωε ։ൃ ӡ༻
2-2.ιϑτΣΞͷ։ൃαΠΫϧ 7 Ϗδωε ։ൃ ӡ༻ Ϗδωεͷޭʹ։ൃαΠΫϧͷՃ͕ٸɻ Amazonؒ5000ສճ 1࣌ؒʹ1000ճ σϓϩΠ͍ͯ͠Δͱ͍͏ᷚ
2-3.։ൃαΠΫϧΛૣΊΔऔΓΈ 8 Ϗδωε ։ൃ ӡ༻ ΞδϟΠϧ։ൃͳͲͷख๏औΓೖΕΒΕ͖ͯͨɻ
2-4.։ൃαΠΫϧΛૣΊΔऔΓΈ 9 Ϗδωε ։ൃ ӡ༻ DevOpsΛಋೖɻ SREDevOpsͷՃʹߩݙͯ͘͠ΕΔׂ
3-1.։ൃͱӡ༻ͷ՝ 10 ։ൃ ӡ༻ ։ൃͨ͠γεςϜΛ ͍ͪૣ͘Ϣʔβʔʹಧ͚͍ͨʂ γεςϜͷ৴པੑΛߴΊ͍ͨʂ
3-2.ӡ༻ཧͷϨϏϡʔ(ຖिਫ༵) 11 ։ൃ ӡ༻ ͦΕ͚ͩͰ͔͔Δͳ͊ Ҿ͖ܧ͗ظؒͱ ͯ͠ ӡ༻։࢝5Ӧۀ։͚͍ͯͩ͘͞ɻ OJTΛઃ͚͍ͯͩ͘͞ɻ
3-3.ྫ͑ӡ༻ͷҾܧ 12 ։ൃ ӡ༻ ͏ʔΜɺमਖ਼͢Δ͚Ͳ ఆͰࠓͷखॱͰӡ༻։࢝ͯ͘͠Ε ͳ͍͔ͳ͊ ͏ʔΜ Ҿ͖ܧ͍ͩखॱ͕ෳࡶͩ͠ ϛε͕ى͖ͦ͏ͩͳɻ
λΠτͩͳ͊
3-4.ྫ͑ো࣌ͷΤεΧϨʔγϣϯ 13 ։ൃ ӡ༻ ࣮ߦ࣌ʹग़Δϝοηʔδ͔ͩΒ ͳ͍Μ͚ͩͲͳ͊ɾɾɾ Ҿ͖ܧ͍ͩखॱॻͰ࣮ߦͨ͠Β XXXͬͯग़ͨΜͰ͕͢ɾɾɾ ͙͢ʹखॱॻमਖ਼ͯ͠Β͑·͔͢
3-5.։ൃͱӡ༻ͷ՝ 14 ։ൃ ӡ༻ ։ൃͨ͠γεςϜΛ ͍ͪૣ͘Ϣʔβʔʹಧ͚͍ͨʂ γεςϜͷ৴པੑΛߴΊ͍ͨʂ ͲͪΒ͕༏ઌ͢Δࣄ߲Ϗδωε্Ͱඞਢɻ Ͱͪΐͬͱߟ͑ํʹۃײ͕͋ͬͨɻ ࣌ͱͯ͠ϝʔϧͰઓ૪͕࢝·ͬͨΓɾɾɾ
3-6.Google͕ग़ͨ͠Ұͭͷબ 15 ։ൃ ӡ༻ ӡ༻ͷઃܭΓ·͢ɻ
3-7.Google͕ग़ͨ͠Ұͭͷબ 16 ։ൃ SRE ։ൃʹઐ೦ ӡ༻Λઃܭɻ ιϑτΣΞ։ൃͰ՝Λղܾ γεςϜͷ৴པੑ͕อͨΕ͍ͯΔ߹ɺ ։ൃߦ͏ɻ
3-8.Google͕ग़ͨ͠Ұͭͷબ 17 ։ൃ SRE ։ൃεϐʔυ͋͛Δʹɺ ӡ༻͕ΜΒͳ͖Ό ৴པੑΛߴΊͯɺ ։ൃਐΊΑ͏ʂ
4-1.৴པੑͱ 18 ৴པੑΛఆٛ͢Δ3ͭͷཁૉ αʔϏε ϨϕϧࢦඪʢSLIʣ ྫ͑ϦΫΤετͷޭϨΠςϯγ γεςϜͷαʔϏε ϨϕϧඪʢSLOʣ ྫ͑ϦΫΤετͷޭ99.9% αʔϏε
ϨϕϧܖʢSLAʣ ྫ͑ϦΫΤετͷޭ99.5%ΛԼճͬͨ࣌ʹฦۚ
4-2.ΤϥʔόδΣοτͷಋೖ 19 ͨͱ͑ 99.9 % ͷSLOΛઃఆͨ͠߹ɺ Ұϲ݄Λ30 ؒͱ͢Δͱͦͷ͏ͪͷ0.1%ͳͷͰɺ ڐ༰μϯλΠϜ 43
Ͱ͢ɻ ٯʹߟ͑Δͱ݄ʹ43ো͕͓͖ͯɺ ͱΈͳ͞ͳ͍ͱ͍͏ߟ͑ํɻ
4-3.ϢʔβʔͲͪΒ͕خ͍͔͠ 20 99.5ˋΛ0.4%্͛Δͷʹඞཁͳ࿑ྗͱɺ ৽͍͠ػೳͷ։ൃΛϦϦʔε͢Δ͜ͱΛൺֱͯ͠ͲͪΒ͕ Α͍ͷ͔ɻαʔϏεʹΑͬͯݟఆΊΔඞཁ͕͋Δɻ Google Ͱͷಉ྅Ͱ͋Δ Perry Lorier ܾ·ͬͯ͜͏ݴ͍·͢ɻ
ʮSLO ͕ͳ͚Εɺ܅ͨͪͷࣄͱͯେมͩʯͱɻ https://cloud.google.com/blog/ja/products/gcp/availability-part-deux-cre-life-lessons
5-1.SREΛࢧ͑Δٕज़ 21 - ϚΠΫϩαʔϏεΞʔΩςΫνϟ - ίϯςφͱΦʔέετϨʔγϣϯ - CI/CD - ߴͳࢹ
22 Α͏͘ ͋ͱԿʁ
6-1.IaCͱ 23 Infrastructer as Codeͷུ ༁͢Δͱʮίʔυͱͯ͠ͷΠϯϑϥʯ ΠϯϑϥΛίʔυͰهड़͢Δͱ͍͏͜ͱɻ
7-1.IaCͷྺ࢙ 24 ᴈ໌ظ ࢝·ΓߏཧͷࣗಈԽ Automated InfrasctureͱݺΕ͍ͯͨɻ
7-2.IaCద༻લͷߏཧ 25 ߏஙखॱॻ.xlsx ύϥϝʔλʔγʔτ.xlsx
7-3.ߏஙखॱॻͷྫ 26 ### ύοέʔδཧγεςϜΛ࠷৽ʹߋ৽ ### $ sudo apt update ###
nginxΛΠϯετʔϧ ### $ sudo apt install nginx ### OSىಈ࣌ͷࣗಈىಈʹnginxΛొ ### $ sudo systemctl enable nginx
7-4.ߏஙखॱॻӡ༻࣌ͷਏΈ 27 खॱͷ్தͰࣦഊͨ͠ΒͲ͏͢Δʁ োͳͲͰྫ֎తʹߏΛมߋͯͨ͠ΒཧͲ͏ͳΔʁ ਓ͕࣮ؒߦ͢Δͱͯ͠ɺίϚϯυؒҧͬͨΒͲ͏͢Δʁ ৽͍͠ύοέʔδͷΠϯετʔϧΛՃͨ͘͠ͳͬͨΒͲ͏͢Δʁ
7-5.IaCԽͯ͠ΈΔɻ 28 ߏஙखॱॻ.xlsx ύϥϝʔλʔγʔτ.xlsx ansible_playbook.yml
7-6.ྫ͑AnsibleΛͬͯIaCԽͨ͠ྫ 29 Playbook.yml - name: install nginx Apt: name=nginx -
name: start nginx apt: name=nginx enabled=yes state=started
7-7.;;ΜɺͦΕ͕Ͳ͏͍ͨͬͯ͠͏ͷʁ खॱͷ్தͰࣦഊͨ͠ΒͲ͏͢Δʁ োͳͲͰྫ֎తʹߏΛมߋͯͨ͠ΒཧͲ͏ͳΔʁ ਓ͕࣮ؒߦ͢Δͱͯ͠ɺίϚϯυؒҧͬͨΒͲ͏͢Δʁ ৽͍͠ύοέʔδͷΠϯετʔϧΛՃͨ͘͠ͳͬͨΒͲ͏͢Δʁ 30
7-8.ͳɺͳΜͩͬͯ खॱͷ్தͰࣦഊͨ͠ΒͲ͏͢Δʁ ->్தͰࣦഊͨ͠ΒymlΛॻ͖ͯ͠࠶࣮ߦɻ োͳͲͰྫ֎తʹߏΛมߋͯͨ͠ΒཧͲ͏ͳΔʁ ->োͳͲͰߏΛมߋ͢Δ߹ymlΛॻ͖ͯ͠ ద༻Λపఈ͢Δ͜ͱͰဃͷ͓͖ͳ͍ߏཧ͕࣮ݱɻ ਓ͕࣮ؒߦ͢Δͱͯ͠ɺίϚϯυؒҧͬͨΒͲ͏͢Δʁ ->ίϚϯυରͷαʔόʔͱద༻͢ΔymlΛબ͢Δ͚ͩ ɹ ػցʹΒͤΔͱ͍͏ํ๏ɻ
৽͍͠ύοέʔδͷΠϯετʔϧΛՃͨ͘͠ͳͬͨΒͲ͏͢Δʁ ->৽͍͠ύοέʔδͷΠϯετʔϧymlʹه 31
8-1.ݱࡏͷIaC ͜Ε·Ͱɺ͋͘·Ͱͻͱͭͷαʔόʔʹରͯ͠ͷઃఆΛఆٛͰ͖ͯ ͍ͨʹ͗͢ͳ͔ͬͨɻ IaaSͷൃలʹͬͯɺIaCΠϯϑϥશମΛఆٛͰ͖ΔΑ͏ʹͳͬ ͨɻ 32
8-2.ྫ͑ίʔϙϨʔταΠτͷߏྫ 33 https://ent-rance.com/ ඇެ։ ඇެ։
8-3.ͬͱ͍͢͝IaC 34 kubernetes(k8s) ͕࣌ؒͳ͍ͷͰհ͚ͩɻ IaCͱ͍͏ͷͷͰͳ͘ɺͱ͍ͯΖΜͳ͜ͱ͕Ͱ͖Δɻ IaCͷ؍ʹϑΥʔΧεͯ͠දݱ͢Δͱɺ αʔόʔ͕མͪͯ͠·ͬͨ࣌ͷڍಈͳͲཧͰ͖Δɻ Πϯϑϥͱͯ͋͠Δ͖࢟Λҡ࣋͢Δ͜ͱ͕Մೳʹɻ
9.·ͱΊ 35 ɾࠓɺΠϯϑϥدΓͷࣄΛ͍ͯ͠Δਓɺ ɹιϑτΣΞ։ൃͷΩϟονΞοϓฒߦͯ͠ਐΊΔͱͤʹͳΕΔ͔ɻ ɾӡ༻دΓͷࣄΛ͍ͯ͠Δਓɺݱͷ՝ΛιϑτΣΞͰղܾ͢Δ͜ͱ͕Ͱ͖ͳ͍͔ɻ ɹͱ͍͏ࢹΛͬͯͯ͠ՄೳͳΒ࣮ߦͰ͖ΔͱΑ͍͔ɻ ɾӦۀɾܦӦऀͷํɺιϑτΣΞ։ൃΛ׆༻ͨ͠՝ղܾͱ͍͏ͷ͕ ɹͨΓલʹߦΘΕΔ࣌ʹ͍͖͍ۙͮͯͯΔɻ ɹຊۀͷΩϟονΞοϓඞཁͩͱࢥ͏͚Ͳɺ ɹͪΐͬͱͨ͠ίʔυͳΒ͔͚ͪΌ͏Έ͍ͨͳӦۀɾܦӦऀͷํͳΜ͍ͯͨΒ
ɹͱͬͯૉఢͩͱࢥ͍·͢ɻ
10-1.͓קΊͷΞΫγϣϯϓϥϯ 36 ֶͼͷ͋Δॆ࣮ͨ͠ΰʔϧσϯΟʔΫʹͳΔΑ͏ɺ ΞΫγϣϯϓϥϯߟ͖͑ͯ·ͨ͠ʂ
10-2.͓קΊͷΞΫγϣϯϓϥϯ 37 ɾProgate https://prog-8.com/ ։ൃڥͷߏஙඞཁແ͠ɺϒϥβ͑͞ىಈ͢Είʔυ͕͔͚Δɻ ࠲ֶͷ͋ͱʹ࣮ફͷαΠΫϧ͕܁Γฦ͞ΕΔͷͰʹ͖͍ͭ͢ɻ ແྉͰͨΊͤΔʂεϚϗͰͰ͖Δʂ ɾQiita https://qiita.com/ ։ൃؔ࿈ͷϒϩά͕ͨ͘͞Μܝࡌ͞Ε͍ͯΔɻ
τϨϯυใͳͲɺ͜͜ΛWatch͍ͯ͠Δ͚ͩͰ͋Δఔ௫ΊΔɻ ຖே15͘श׳Λʂ
10-3.͓קΊͷΞΫγϣϯϓϥϯ 38 ɾConnpass https://connpass.com/ ษڧձʹࢀՃ͠·͠ΐ͏ʂ ͕࣌ؒ߹Θͳͯ͘ࢀՃొ͓͚ͯ͠ɺ ͋ͱͰΞʔΧΠϒ͕ݟΕΔέʔεɾɾɾ ͦͯ͠ɺಘͨݟݴޠԽͯࣾ͠ʹڞ༗͠·͠ΐ͏ʂ ΞτϓοτΛݟਾ͑ͨΠϯϓοτͱͯେࣄɻ ɾFukabori.fm
https://fukabori.fm/ ITٕज़Λൃ৴͍ͯ͠ΔPodcast ࠷ߴʹΘ͔Γ͍͢ɻͦͯ͠ͱͯਂ͍༰Λѻͬͯ͘ΕΔɻ ࡏϫʔΫͰ͕ۭ͍ࣖͯΔͱ͖ͷ͓ڙʹͲ͏ͧ
39 ͝੩ௌ͋Γ͕ͱ͏ޚ࠲͍·ͨ͠