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
93
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
250
「頑張る」を「楽しむ」に変換する技術
tomoyakitaura
17
10k
これからの設計で変わること pre:invent2024アップデート速報 / pre:invent2024 network update
tomoyakitaura
1
230
セキュリティ活動をちょっとずつやる戦略を実行した気づき / 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
200
Other Decks in Technology
See All in Technology
AI コードレビューが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった
mutsumix
0
160
僕たちが「開発しやすさ」を求め 模索し続けたアーキテクチャ #アーキテクチャ勉強会_findy
bengo4com
0
1.8k
データ基盤の管理者からGoogle Cloud全体の管理者になっていた話
zozotech
PRO
0
320
LIFF CLIとngrokを使ったLIFF/LINEミニアプリのお手軽実機確認
diggymo
0
230
GMOペパボのデータ基盤とデータ活用の現在地 / Current State of GMO Pepabo's Data Infrastructure and Data Utilization
zaimy
3
190
Amazon Q Developerを活用したアーキテクチャのリファクタリング
k1nakayama
2
170
大規模イベントに向けた ABEMA アーキテクチャの遍歴 ~ Platform Strategy 詳細解説 ~
nagapad
0
190
専門分化が進む分業下でもユーザーが本当に欲しかったものを追求するプロダクトマネジメント/Focus on real user needs despite deep specialization and division of labor
moriyuya
0
960
LLMでAI-OCR、実際どうなの? / llm_ai_ocr_layerx_bet_ai_day_lt
sbrf248
0
430
VLMサービスを用いた請求書データ化検証 / SaaSxML_Session_1
sansan_randd
0
210
AIエージェントを現場で使う / 2025.08.07 著者陣に聞く!現場で活用するためのAIエージェント実践入門(Findyランチセッション)
smiyawaki0820
5
480
ソフトウェア開発プロジェクトでの品質管理への提案(温故知新)
yohwada
0
110
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Typedesign – Prime Four
hannesfritz
42
2.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Done Done
chrislema
185
16k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Optimizing for Happiness
mojombo
379
70k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
A better future with KSS
kneath
238
17k
Designing for humans not robots
tammielis
253
25k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
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 ͝੩ௌ͋Γ͕ͱ͏ޚ࠲͍·ͨ͠