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
Googleクラウドサービスを利用したシステム構築
Search
Naomichi Yamakita
March 21, 2012
0
7
Googleクラウドサービスを利用したシステム構築
Naomichi Yamakita
March 21, 2012
Tweet
Share
More Decks by Naomichi Yamakita
See All by Naomichi Yamakita
プロダクト横断で可視化する ダッシュボードの開発
naomichi
0
250
第一回ライブラリ開発について考える会
naomichi
0
72
Serverless Application Repositoryでトイルを削減する
naomichi
0
290
SRE的観点から日常を振り返る
naomichi
0
850
GMO Research Tech Conference 2023
naomichi
0
16
Deep dive into cloud design
naomichi
0
19
インフラを横断して可視化するダッシュボードの開発
naomichi
0
12
SREってどんな仕事___メタップスがSREチームを立ち上げたキッカケとこれから_.pptx.pdf
naomichi
0
10
SRE Innovation in Metaps
naomichi
0
280
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
334
57k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Writing Fast Ruby
sferik
627
61k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Raft: Consensus for Rubyists
vanstee
136
6.6k
A designer walks into a library…
pauljervisheath
204
24k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Embracing the Ebb and Flow
colly
84
4.5k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Site-Speed That Sticks
csswizardry
0
40
Transcript
(PPHMFΫϥυαʔϏεΛར༻ͨ͠γεςϜߏங %5$PSQ /BPNJDIJ:BNBLJUB
ΞδΣϯμ ௐࠪͷझࢫ (PPHMF"QQ&OHJOF (PPHMF"QQT(PPHMF"QQT4DSJQU ૯ׅ
ௐࠪͷझࢫ
ௐࠪత 8FCαʔϏεΛߏங͢Δ্Ͱ։ൃޮΛ্ͤ͞Δख๏Λݕ౼͢Δ ։ൃޮͱίετݮΛݕ౼͢Δ্Ͱɺௐࠪରͱͯ͠ڍ͕ٕͬͨज़ ΫϥυίϯϐϡʔςΟϯά ࠓճΫϥυͷதͰಛʹεέʔϥϏϦςΟͷߴ͍(PPHMF"QQ &OHJOFɺ(PPHMF"QQTΛௐࠪͨ͠
Ϋϥυͷఆٛ ΠϯλʔωοτΛϕʔεͱͨ͠8FCαʔϏεͷ૯শ ϢʔβσʔλιϑτΣΞͷॴΛҙࣝͤͣɺඞཁʹԠͯ͡ʢΫϥΠΞ ϯτͷڥʹґଘͤͣʣαʔϏεΛར༻͢Δ͜ͱ͕Ͱ͖Δ ແྉɺ͘͠ར༻͚ͨͩ͠ࢧ͏ܗଶ͕ଟ͍
Ϋϥυͷछྨɻݴ༿ࣗମ֮͑Δඞཁͳ͠ 4BB4ܕʢ4PGUXBSFBTB4FSWJDFʣ ιϑτΣΞΛ8FCαʔϏεͱͯ͠ఏڙ (PPHMF"QQTɺ.JDSPTPGU0OMJOF4FSWJDFTɺ&WFSOPUF 1BB4ܕʢ1MBUGPSNBTB4FSWJDFʣ
ԾԽ͞ΕͨαʔόڥΛఏڙ (PPHMF"QQ&OHJOFɺ"NB[PO4 )BB4ܕʢ)BSEXBSFBTB4FSWJDFʣ Πϯλʔωοτܦ༝ͷϋʔυΣΞΠϯϑϥΛఏڙ "NB[PO&$
(PPHMF"QQ&OHJOFͱ(PPHMF"QQTͷҧ͍ (PPHMF"QQ&OHJOF 8FCΞϓϦέʔγϣϯΛެ։ՄೳͳϗεςΟϯάαʔϏε (PPHMF"QQT (NBJMɺΧϨϯμʔɺυΩϡϝϯτɺ(PPHMF͕ఏڙ͢Δ8FCΞϓϦ έʔγϣϯΛಠࣗυϝΠϯͰ͑Δ
ʮ(PPHMF"QQT4DSJQUʯΛ༻͍ͯΞϓϦέʔγϣϯͷࣗಈԽ֎෦Ϧ ιʔεͱͷ࿈ܞ͕Մೳ
(PPHMF"QQ&OHJOF
(PPHMF"QQ&OHJOFʢ("&ʣͱ (PPHMF͕ఏڙ͢ΔΫϥυڥ ("&্Ͱ8FCαʔϏεΛߏங͢Δ͜ͱ͕Ͱ͖Δ ྨࣅαʔϏεʹ"NB[PO4ɺ.JDSPTPGU"[VSF͕͋Δ ରԠݴޠ+BWBɺ1ZUIPOɺ(P
։ൃऀ("&͕ఏڙ͢Δ4%,Λར༻ͯ͠αʔϏεΛߏங͢Δ &DMJQTFΛ͏͜ͱͰ։ൃ͔ΒςετɾσϓϩΠ·ͰҰݩͯ͠ཧ͢Δ͜ ͱ͕Մೳ Πϯελϯε࣌ؒϕʔεͷ՝ۚ Ϧιʔεʢ$16సૹྔʣΛফඅ͚ͨͩ͠՝ۚ
("&Λ͏ϝϦοτ ࣗࣾσʔληϯλͷӡ༻ίετݮ ݄ؒສ17ɺ.#·ͰͷετϨʔδແঈͰར༻Մೳ ԾԽ͞ΕͨΠϯϑϥΛ͏ͨΊɺαʔόͷߏஙӡ༻͕ෆཁͱͳΔ ཧίϯιʔϧʢෛՙঢ়گɺϩάϏϡʔϫʣ͕ఏڙ͞Ε͍ͯΔ
αʔϏε(PPHMF͕ఏڙ͢ΔΠϯϑϥ্ͰՔಇ͢Δ (PPHMFͷΠϯϑϥ͕࣋ͭύϑΥʔϚϯεͱεέʔϥϏϦςΟੈք࠷ߴ Ϩϕϧ αʔϏεʹର͢ΔϦΫΤετ͕૿͑ΔͱࣗಈతʹΠϯελϯεΛ૿ ͠ɺແ੍ݶʹεέʔϧΞτΛߦ͏
("&ͷཧը໘ Πϯελϯεͷཧ ΞϓϦέʔγϣϯͷόʔδϣϯཧ σʔλͷཧ Քಇঢ়گͷαϚϦʔ
ύϑΥʔϚϯεͱΠϯελϯεͷཧ ΞϓϦέʔγϣϯͷύϑΥʔϚϯεΛ੍ޚ ΞΠυϧΠϯελϯεͷ࠷େΛઃఆ ৽͍͠ΠϯελϯεΛੜ͢Δ·Ͱͷػ࣌ؒΛઃఆ
ࠓ·ͰͷεέʔϧΞτٕ๏ 8FCɾΞϓϦέʔγϣϯαʔόͷෛՙࢄ ฒྻʹΛՃ %#αʔόͷෛՙࢄ ϨϓϦέʔγϣϯ
ߋ৽ॲཧͰϚελʹෛՙ͕ूத͢Δ ΫϥελϦϯά ͕૿͑Δ΄Ͳಉظͷॲཧίετ͕ߴ·Δ ύʔςΟγϣχϯά ϓϩάϥϜͷϩδοΫ͕ෳࡶʹͳΔ
(PPHMFͷεέʔϧΞτٕज़
(PPHMFͷεέʔϧΞτٕज़ ΫϥΠΞϯτͷԠมΘΒͳ͍ Πϯελϯεࣗಈతʹ૿͑Δ
("&͕ఏڙ͢Δػೳ ಠࣗυϝΠϯ طఆυϝΠϯl\TFSWJDF@OBNF^BQQTPUDPNz (PPHMFΞΧϯτΛ༻͍ͨϢʔβೝূ ࣗಈεέʔϦϯάͱෛՙࢄ
ӬଓετϨʔδʢޙड़ʣ ϑΝΠϧγεςϜͷ֓೦͕ͳ͍ ϑϧػೳΛ݉Ͷඋ͑ͨ։ൃϓϥοτϑΥʔϜ εέδϡʔϦϯά͞ΕͨλεΫ
("&ͷσϝϦοτ طଘͷΞϓϦέʔγϣϯίʔυ("&্Ͱಈ࡞͠ͳ͍ 3%#.4͕ఏڙ͞Ε͍ͯͳ͍ͨΊɺσʔλͷཧ(PPHMF͕ఏڙ͢Δ ʮ#JH5BCMFʯΛ͏ ιέοτ௨৴εϨουར༻Ͱ͖ͳ͍ ݒ೦
ސ٬ใΫϥυ্ʹ༬͚Δඞཁ͕͋Δ αʔϏε͕ڥʹґଘ͢Δ
ΫϥυαʔϏεࣗମʹো͕ى͜Δ͜ͱ
ࣄଶվળͭͭ͋͠Δ
ӬଓετϨʔδ#JH5BCMF #JH5BCMF(PPHMF͕։ൃͨ͠ετϨʔδαʔϏε ࢄܕ,74 ڧྗͳΫΤϦΤϯδϯτϥϯβΫγϣϯػೳΛ࣋ͭ ΫΤϦૢ࡞(2-ʢ(PPHMF2VFSZ-BOHVBHFʣΛ༻͍Δ
(2-ςʔϒϧؒͷ݁߹Λ͑ͯαϙʔτ͍ͯ͠ͳ͍ ("&্ͰՔಇ͢ΔશͯͷΞϓϦͭͷ#JH5BCMFͰཧ͞Ε͍ͯΔ ('4ʢ(PPHMF'JMF4ZTUFNʣͷԸܙʹΑͬͯϑΝΠϧܽଛͷՄೳੑۃΊ ͍ͯ
݄ɺ(PPHMF$MPVE42-Λൃද
(PPHMF$MPVE42-ͷ֓ཁ .Z42-ͱ΄΅ಉͷػೳΛ࣋ͭσʔλϕʔεΛఏڙ +%#$ͱ%#ΞΫηε"1*Λαϙʔτ ݄ݱࡏϓϨϏϡʔϦϦʔεͷஈ֊
αʔϏεΛެ։͢Δ·Ͱͷखॱ ։ൃݴޠͷબఆ ‣ ࠓճ+BWBʢ+41ɺ4FSWMFUʣΛ༻ +7.্Ͱ1)13VCZΛ࣮ߦ͢Δ͜ͱՄೳ ։ൃڥͷߏங ‣
&DMJQTF (PPHMF1MVHJOGPS&DMJQTFʢ("&4%,ʣ ΞϓϦέʔγϣϯͷ։ൃ ιʔεͷίϯύΠϧͱσϓϩΠ ‣ &DMJQTFͰҰݩཧ
("&+ͷ։ൃڥʢ&DMJQTFʣ ιʔείϯύΠϧޙʹ("&ʹσϓϩΠ "QQ&OHJOF4%,
("& )5.-ͰήετϒοΫΞϓϦΛߏஙͯ͠Έͨ XJUI'CPPUTUSBQ
σϞϯετϨʔγϣϯ ΞϓϦέʔγϣϯͷ࡞ ‣ IUUQTBQQFOHJOFHPPHMFDPN ։ൃڥͷհ ‣ αϯϓϧ)FMMP8PSME ‣
ίϯύΠϧͱσϓϩΠɺಈ࡞֬ೝ ‣ αϯϓϧίϝϯτߘ ཧը໘ͷհ
ΫϥυαʔϏεͷൺֱ αʔϏε ϝϦοτ σϝϦοτ wແঈར༻Մೳ w։ൃڥ͕උ͞Ε͍ͯΔ w(PPHMF%BUB"1*͕ར༻Մೳ wରԠݴޠ͕গͳ͍ wݴޠͷػೳ੍ݶ͕͋Δ wଞͷαʔϏεͷҠ২͕ࠔ
wରԠݴޠ͕ଟ͍ w3%#.4͕͑Δ w։ൃڥҙ w)"ɺࢹػೳ͕ෆ wαʔϏε͕౷߹͞Ε͍ͯͳ͍ wରԠݴޠ͕ଟ͍ w3%#.4͕͑Δ w7JTVBM4UVEJPOFUΛ༻Մೳ wར༻Ͱ͖Δ·Ͱʹ͕͔͔࣌ؒΔ w։ൃڥ͕ݶఆ͞Ε͍ͯΔ
(PPHMF"QQT(PPHMF"QQT4DSJQU
(PPHMF"QQTͱ (PPHMF͕ఏڙ͢Δ8FCαʔϏεΛಠࣗυϝΠϯͰ͑Δ جຊແঈͰར༻Մೳʢػೳ੍ݶ͋Γʣ εϚʔτϑΥϯܞଳʹରԠ ఏڙ͞ΕΔαʔϏεͷҰྫ
(NBJM (PPHMFΧϨϯμʔ (PPHMFυΩϡϝϯτ (PPHMFαΠτ
(PPHMF"QQTͷཧը໘ ಠࣗυϝΠϯΛઃఆʢ%/4ʹ$/".&ΛՃʣ
(PPHMF"QQT4DSJQUʢ("4ʣͱ (PPHMFͷαʔϏεΛࣗಈԽ͢ΔαʔόαΠυ+BWB4DSJQU &YDFMͷϚΫϩʹࣅ͍ͯΔ ("4Λར༻ͯ͠(PPHMF"QQTΛࣗಈԽͰ͖Δ (PPHMF"QQTΛ༻͍ͯ͠ͳͯ͘ར༻Մೳ
։ൃڥ8FCϒϥβ σόοΨϩΨʔͷ΄͔ɺ؆୯ͳόʔδϣϯཧػೳΛ࣋ͭ
("4ͰͰ͖Δ͜ͱ ۀͷࣗಈԽ (PPHMFαʔϏεͱαʔυύʔςΟͷ࿈ಈ εϓϨουγʔτʹ͓͚ΔΧελϜؔͷ࡞ 6*ͷ࡞
("4ͷݴޠ༷ ݴޠ+BWB4DSJQUɻͨͩ͠ϒϥβΦϒδΣΫτ͑ͳ͍ 8JOEPXɺ&WFOUɺ%PDVNFOU αʔόαΠυ+BWB4DSJQUͷͨΊɺΫϩευϝΠϯ੍͕ͳ͍ ֎෦ͷ8FC"1*͕༻Մೳ
9.-ɺ+40/ɺ40"1ɺ0"VUIʹରԠ εϓϨουγʔτͷૢ࡞7#"ʹࣅ͍ͯΔ ΠϕϯτυϦϒϯDSPOͷΑ͏ͳఆظ࣮ߦ͕Մೳ +%#$"1*ܦ༝Ͱ֎෦3%#.4ʹଓՄೳ
)FMMP8PSME BMFSU ؔ͑ͳ͍ͨΊɺ("4"1*͕ ఏڙ͢ΔϝοηʔδදࣔؔΛ͏
(PPHMFΞΧϯτ͕͋Ε͙͢ར༻Մೳ εϓϨουγʔτͷʮπʔϧʯ͔Βىಈ
("4ͷ։ൃڥʢΤσΟλʣ +%#$ϥΠΫʹ42-ΛൃߦՄೳ ࣗಈิʹରԠ
("4ͷ։ൃڥʢ(6*Ϗϧμʔʣ *%&ͷΑ͏ʹ(6*ΛઃܭͰ͖Δ
("4͕ఏڙ͢Δ"1* %FGBVMU"1* #BTF $BDIF $BMFOEBS $IBSUT $POUBDUT %PDT-JTU %PDVNFOU %PNBJO
'JOBODF (NBJM (SPVQT +ECD -BOHVBHF -PDL .BJM .BQT 1SPQFSUJFT 4JUFT 4PSQ 4QSFBETIFFU 6* 6SJ'FUDI 6UJMJUJFT 9NM "1*T4FSWJDFT 6SM4IPSUFOFS 1SFEJDUJPO 5BTLT "E4FOTF άϥϑΛඳը 3%#.4ʹଓ εϓϨουγʔτͷૢ࡞ )551௨৴Λߦ͏ ॖ63-ͷੜ ಠࣗ6*ͷઃܭ σʔλͷӬଓԽ
σϞϯετϨʔγϣϯ (6*ͷઃܭͱ֎෦8FC"1*ͷݺͼग़͠ ΞϯέʔτϑΥʔϜػೳ +%#$Λར༻ͨ͠σʔλूܭ #SPXTFSB"1*Λར༻ͨ͠ΩϟϓνϟཧΞϓϦέʔγϣϯ
("4Λར༻ͨ͠σʔλूܭ εϓϨουγʔτ͕ར༻Ͱ͖ΔͨΊɺ8FCΞϓϦέʔγϣϯʹ͓͚Δച্ ཧొɾར༻ঢ়گͱ͍ͬͨσʔλूܭػೳͱඇৗʹ૬ੑ͕ྑ͍ σʔλͷදࣔͱάϥϑԽ ฒͼସ͑ɺϑΟϧλϦϯά σʔλͷ$47μϯϩʔυ&YDFMܗࣜͷม
ҟͳΔΞϓϦέʔγϣϯͷσʔλूܭػೳΛҰݩཧ͢Δ͜ͱ͕Ͱ͖Δ ։ൃʹ͔͔Δίετ͕ݮՄೳ (PPHMF"QQTΛͬͨσʔλूܭࠓޙͷ։ൃͰಋೖ͍ͨ͠
֎෦࿈ܞͰͰ͖Δ͜ͱ 5XJUUFSGBDFCPPLΛ͡Ίͱͨ͠8FC"1*ͱ࿈ܞՄೳ ֎෦͔Βऔಘͨ͠σʔλΛ(PPHMF"QQTͱ࿈ܞ༷ͤͨ͞ʑͳαʔϏε͕ߟ ͑ΒΕΔ ྫ͑ʜ 5XJUUFSͷλΠϜϥΠϯ͔ΒҙϢʔβͷΞΫςΟϏςΟΛऔಘ
εϓϨουγʔτͰूܭ ࣗಈߋ৽͞ΕΔ#05αΠτΛߏஙʢ(PPHMFαΠτʣ GBDFCPPLͷΠϕϯτΛ(PPHMFΧϨϯμʔʹࣗಈಉظͤ͞Δ ʮ͍͍Ͷʯʮ5XJUUFSʯͷϘλϯͷΧϯτΛूܭ
૯ׅ
αʔϏεΛߏங͢Δ্Ͱۤ࿑ͨ͠ (PPHMFͷαʔϏεৗʹਐԽ͍ͯ͠Δ ػೳυΩϡϝϯτ͕ෆؾຯ 8FC"1*ͷಛ্࣭ɺ༷มߋ͕ଟ͍ ("4ʹؔͯ͠։ൃڥ͕ൃల్্
(6*Ϗϧμʔػೳ͕த్ ιʔείʔυͷࣗಈิ͕Ұ෦ޮ͔ͳ͍ ϦϑΝΫλϦϯά͠ʹ͍͘ Ϟδϡʔϧͷཧ͕໘
(PPHMFΫϥυͷྑ͍ ಋೖ͕ൺֱత༰қ ੈք࠷ߴϨϕϧͷΠϯϑϥΛར༻Ͱ͖Δ ࠓޙαʔόΤϯδχΞͷׂมΘ͍ͬͯ͘ʢͰ͋Ζ͏ʣ ("4։ൃڥΛΘͳ͍
(PPHMFͷαʔϏεৗʹਐԽ͍ͯ͠Δ ৗʹ࣌ʹదԠٕͨ͠ज़͕͙͢ʹ͑Δ ػೳ͕ʑվળ͍ͯ͠Δ ୯७ʹ໘ന͍
͜Ε͔ΒͬͯΈ͍ͨ͜ͱ (PPHMF%BUB"1*ͷ׆༻ ("4Λར༻ͨ͠8FCΞϓϦέʔγϣϯͷσʔλϚΠχϯά Ϋϥυڥʹ͓͚Δ8FCΞϓϦέʔγϣϯͷߏஙͱӡӦ