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
170
今後のビジネスを支える技術と考え方
2020/5/3にGBS様の社内勉強会に乱入させていただき、
発表した資料です。
TomoyaKitaura
May 03, 2020
Tweet
Share
More Decks by TomoyaKitaura
See All by TomoyaKitaura
これからの設計で変わること pre:invent2024アップデート速報 / pre:invent2024 network update
tomoyakitaura
1
150
セキュリティ活動をちょっとずつやる戦略を実行した気づき / Incremental Security Initiatives
tomoyakitaura
0
120
社内共通コンテナレジストリを設立して、開発者体験向上を狙ってみた /Establishing container registry to improve DX
tomoyakitaura
2
180
LTワークショップ3日目 / LT Workshop Day 3
tomoyakitaura
0
150
LTワークショップ2日目 / LT Workshop Day 2
tomoyakitaura
0
140
LTワークショップ(1日目) / LT workshop day 1
tomoyakitaura
1
150
これまでの監視とクラウド時代の監視 / Monitoring the Past and the Cloud
tomoyakitaura
1
240
エンタープライズにおけるSRE立ち上げとNew Relic選定に至った背景とは / SRE Startup and New Relic in the Enterprise
tomoyakitaura
2
760
AWSとNew Relicのデータ連携を超高速で実装した話 / The story of a super-fast implementation of data integration between AWS and New Relic
tomoyakitaura
0
1.5k
Other Decks in Technology
See All in Technology
OpenID BizDay#17 KYC WG活動報告(法人) / 20250219-BizDay17-KYC-legalidentity
oidfj
0
240
PL900試験から学ぶ Power Platform 基礎知識講座
kumikeyy
0
130
第13回 Data-Centric AI勉強会, 画像認識におけるData-centric AI
ksaito_osx
0
370
プロダクトエンジニア構想を立ち上げ、プロダクト志向な組織への成長を続けている話 / grow into a product-oriented organization
hiro_torii
0
120
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
240
明日からできる!技術的負債の返済を加速するための実践ガイド~『ホットペッパービューティー』の事例をもとに~
recruitengineers
PRO
3
390
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
190
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
3
1.3k
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
1.4k
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
2
2.9k
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
2
2k
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
A Tale of Four Properties
chriscoyier
158
23k
Agile that works and the tools we love
rasmusluckow
328
21k
The Pragmatic Product Professional
lauravandoore
32
6.4k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
Code Review Best Practice
trishagee
67
18k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Adopting Sorbet at Scale
ufuk
74
9.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
How GitHub (no longer) Works
holman
314
140k
Building Adaptive Systems
keathley
40
2.4k
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 ͝੩ௌ͋Γ͕ͱ͏ޚ࠲͍·ͨ͠