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
セキュリティ活動をちょっとずつやる戦略を実行した気づき / Incremental Security Initiatives
tomoyakitaura
0
85
社内共通コンテナレジストリを設立して、開発者体験向上を狙ってみた /Establishing container registry to improve DX
tomoyakitaura
2
170
LTワークショップ3日目 / LT Workshop Day 3
tomoyakitaura
0
140
LTワークショップ2日目 / LT Workshop Day 2
tomoyakitaura
0
130
LTワークショップ(1日目) / LT workshop day 1
tomoyakitaura
1
140
これまでの監視とクラウド時代の監視 / Monitoring the Past and the Cloud
tomoyakitaura
1
220
エンタープライズにおけるSRE立ち上げとNew Relic選定に至った背景とは / SRE Startup and New Relic in the Enterprise
tomoyakitaura
2
700
AWSとNew Relicのデータ連携を超高速で実装した話 / The story of a super-fast implementation of data integration between AWS and New Relic
tomoyakitaura
0
1.4k
Resilience Hubの登場が騒がれないなんておかしい!? / Resilience Hub is the best.
tomoyakitaura
0
210
Other Decks in Technology
See All in Technology
AWS re:Inventを徹底的に楽しむためのTips / Tips for thoroughly enjoying AWS re:Invent
yuj1osm
1
530
生成AIと知識グラフの相互利用に基づく文書解析
koujikozaki
1
130
Product Engineer Night #6プロダクトエンジニアを育む仕組み・施策
hacomono
PRO
1
440
2024-10-30-reInventStandby_StudyGroup_Intro
shinichirokawano
1
590
Commitment vs Harrisonism - Keynote for Scrum Niseko 2024
miholovesq
6
960
Vueで Webコンポーネントを作って Reactで使う / 20241030-cloudsign-vuefes_after_night
bengo4com
4
2.5k
とあるユーザー企業におけるリスクベースで考えるセキュリティ業務のお話し
4su_para
3
320
[AWS JAPAN 生成AIハッカソン] Dialog の紹介
yoshimi0227
0
140
君は隠しイベントを見つけれるか?
mujyun
0
250
AIを駆使したゲーム開発戦略: 新設AI組織の取り組み / sge-ai-strategy
cyberagentdevelopers
PRO
1
130
20241031_AWS_生成AIハッカソン_GenMuck
tsumita
0
100
話題のGraphRAG、その可能性と課題を理解する
hide212131
4
1.4k
Featured
See All Featured
Side Projects
sachag
452
42k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.8k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
How STYLIGHT went responsive
nonsquared
95
5.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
504
140k
Speed Design
sergeychernyshev
24
570
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 ͝੩ௌ͋Γ͕ͱ͏ޚ࠲͍·ͨ͠