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
PHP Paas Sqaleを支える技術2016
Search
KONDO Uchio
May 21, 2016
Technology
2
3.3k
PHP Paas Sqaleを支える技術2016
@PHPカンファレンス福岡 2016
http://phpcon.fukuoka.jp/
KONDO Uchio
May 21, 2016
Tweet
Share
More Decks by KONDO Uchio
See All by KONDO Uchio
大規模レガシーテストを 倒すための CI基盤の作り方 / #CICD2023
udzura
5
2.1k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
120
Narrative of Ruby & Rust
udzura
0
140
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.4k
Talk of RBS
udzura
0
310
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
640
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
580
Device access filtering in cgroup v2
udzura
1
670
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
560
Other Decks in Technology
See All in Technology
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
160
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
7
1.3k
Databricks における 『MLOps』
databricksjapan
2
170
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
開発生産性向上サービスを作るFindyが自分たちで開発生産性を爆上げした組織づくりの歩み / Findy's path to boosting its own development productivity 2024-04-17
ma3tk
3
610
アクセス制御にまつわる改善 / Improving access control
itkq
0
520
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.8k
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
340
本当のAWS基礎
toru_kubota
0
490
プロデザ! BY リクルート vol.18_リクルートのリサーチ実践組織「リサーチブーストコミュニティ」
recruitengineers
PRO
3
270
20分で完全に理解するGrafanaダッシュボード
hamadakoji
1
210
MySQL の SQL クエリチューニングの要所を掴む勉強会
andpad
2
6k
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
124
8.5k
GraphQLとの向き合い方2022年版
quramy
32
12k
Docker and Python
trallard
34
2.7k
Happy Clients
brianwarren
92
6.4k
4 Signs Your Business is Dying
shpigford
175
21k
The Cult of Friendly URLs
andyhume
74
5.7k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Six Lessons from altMBA
skipperchong
21
3k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
The Language of Interfaces
destraynor
151
23k
We Have a Design System, Now What?
morganepeng
43
6.7k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.5k
Transcript
d͖Έ͚ͩͷ͍͖͞ΐ͏ͷ1)1Λͭ͘Ζ͏ʂd GMO Pepabo, Inc. Uchio Kondo 2016/05/21 PHPΧϯϑΝϨϯεԬ2016!!1 1)11BB4ʮ4RBMFʯ Λࢧ͑Δίϯςφ
ͳͲ ٕज़
NF
None
ۙ౻͏͓ͪ !VE[VSB(.0ϖύϘॴଐ ٕज़ج൫νʔϜ Ԭࢧࣾۈ 'VLVPLBSC
3BJMT(JSMT'VLVPLB૯߹ࡶ༻ίʔν·ͱΊ
ஶ࡞Ͱ͢
ੴΛ͛ͳ͍Ͱʂ
'"2 2ॳΊͯຊ֨తʹ৮ͬͨϓϩάϥϛϯάݴޠ ʁ "1)1Ͱ͢ʂ
None
ൃදͷલʹ
1)1
4RBMFͰఏڙ։࢝͠·͢ʂ ˞ ЌϦϦʔεͱ͍͏͜ͱͰΑΖ͓͘͠ئ͍͠·͢ɻ
ʂʂʂʂʂʂʂʂʂʂʂ
None
ؓٳ
4RBMFͱ
None
4RBMF ͍ΘΏΔɺ1BB4 4'51(JUʹΑΔσϓϩΠ 3VCZͱ1)1ʹରԠ͍ͯ͠Δ
ٕज़ͷৄࡉ !IJCPNB͞ΜʹΑΔൃදࢿྉ͕͋Γ·͢ 1BB4ͷ࡞Γํ4RBMFͷ߹ IUUQXXXTMJEFTIBSFOFUIJCPNBTRBMFQBBT
Ҏ্Ͱ͢
͑ͬʜʜ
͋Ε͔Β
͋ͷαʔϏεࠓ
ۙگใࠂ
࠷͍ۙͬͯΔ͜ͱ *BB4͔Β/ZBIʹҠઃ͍ͯ͠Δ ͍ͭͰͱ͍͏͔ɺγεςϜ৽݉Ͷ͍ͯΔ ࢥͬͨҎ্ʹಈ͍ͯΔɻηΩϡϦςΟͰෆ҆ͳ ͱͭ͜Ϳͭͭ͠ؾ࣋ͪʹͳ͍ͬͯΔ
/ZBIͬͪʁ ࣾͷϓϥΠϕʔτɾΫϥυ ൃදࢿྉଟɻ!UONU͞ΜͷεϥΠυͳͲ IUUQTTQFBLFSEFDLDPNUONUQFQBCPT QSJWBUFDMPVEOZBIBGUFSUIBU
1)1ͷՃ ͦͯ͠ 1)1ͷͳͷͰޙ΄Ͳ·ͱΊͯɻ
ͦͷ΄͔ ϛυϧΣΞ04ͷΞοϓάϨʙυݕূத $FOU04 ,FSOFM -9$
ͳͲͳͲʜʜ
-9$
ίϯςφٕज़
ίϯςφ ͬͯͦͦԿͳͷ
ྑ͍ࢿྉ͕͋Γ·͢ -JOVYίϯςφͷجૅ !ίϯςφܕԾԽͷใަձJOԬ IUUQTTQFBLFSEFDLDPNUFOGPSXBSEUI DUTUVEZ
Ҏ্Ͱ͢
͑ͬʜʜ
͏ͪΐͬͱʜ 4RBMFͰ͜͜·Ͱड़͖ͯͨ-9$Λ͔ͭͬ ͯɺʮϢʔβίϯςφʯΛ্ཱ͍ͪ͛ͯ·͢ɻ ҙͱͯ͠ɺҎલͷόʔδϣϯΛར༻ͯͨ͠Γ͢Δ ͷͰɺݹ͍Λ͍ͯ͠Δ͔ʜʜ
ίϯςφͷཧղͷલఏͱͯ͠ -JOVYίϯςφɺ୯Ұͷػೳͱ࣮ͯ͠͞Ε ͍ͯΔΘ͚Ͱͳ͍ɻ DHSPVQ -JOVYOBNFTQBDF ϑΝΠϧγεςϜͷִ
DISPPU RVPUB $BQBCJMJUJFT
ͻͱͭͻͱͭ খ͞ͳɺγϯϓϧͳػೳ
DHSPVQ $POUSPM(SPVQͷҙ ϗετͷ༷ʑͳཧϦιʔεʹର͢Δ੍ݶΛ͢ Δ $16ɺϝϞϦɺ#MPDL*0
DHSPVQͷྺ࢙ DHSPVQ݄ʹ(PPHMFͷΤϯδχ ΞʹΑͬͯ࠷ॳͷύον͕ߘ͞ΕɼΧʔ ωϧͰ࠷ॳͷϚʔδ͕ͳ͞ΕͨػೳͰ͢ɻ ʹϦϦʔε͞Εͨ3FE)BU&OUFSQSJTF -JOVYʹ͜ͷػೳ͕ࡌ͞Εʜ SFGTIUUQHJIZPKQBENJOTFSJBMMJOVY@DPOUBJOFST
-JOVYOBNFTQBDF 04Λ͏ͨΊͷ༷ʑͳϦιʔεΛִ͢Δ ͋ΔϓϩηεͷOBNFTQBDFΛɺ΄͔ͷϓϩη ε͔Βݟ͑ͳ͘Ͱ͖Δ ϚϯτϙΠϯτɺ*1$ɺϢʔβʔɺωοτϫʔ Ϋ
ϑΝΠϧγεςϜपΓͷִ DISPPU ϑΝΠϧγεςϜͷΛมߋɺݟ͑ΔॴΛม͑Δ RVPUB YGT@RVPUB
ϑΝΠϧγεςϜͷར༻ΛϓϩδΣΫτ͝ͱʹ੍ݶɺϨ ϙʔτͰ͖Δ
-JOVYDBQBCJMJUJFT εʔύʔϢʔβͷݖݶΛׂ͠ɺڐՄΛ༩͑ͨΓ ېࢭͨ͠ΓͰ͖Δ ྫ$"1@4:4@5*.& γεςϜΫϩοΫͷมߋΛڐՄ͢Δ$BQBCJMJUZ ͜ΕΛୣ͑ɺϗετͷ࣌ؒมߋ͕Ͱ͖ͳ͍
ୣΘΕͨϓϩηεͰEBUFTίϚϯυΛଧͬͯΈΑ͏ %PDLFSͳͲͰࢼͯ͠Έ·͠ΐ͏
͜ΕΒΛΈ߹ΘͤΔͱʜ
͔͋ͨʮԾڥʯͷ Α͏ʹѻ͑Δ
':*ԾڥͬͯԿͩ ࣮ଶɺ 04Ϧιʔεͷִ OBNFTQBDF DISPPU ʴ ੍ݶ DHSPVQ
DBQBCJMJUJFT ͔͠͠ɺϢʔβ͔ΒݟΔͱɺ͍͍ͩͨಠཱͨ͠ 04ͷΑ͏ʹѻ͑ͨΓ͢ΔͷͰɺ͔Γ͢͞༏ ઌͰҰछͷʮԾڥʯͱݺΜͩΓ͢Δ
۩ମతͳ -9$ͷ͍ํ
ϑΝΠϧγεςϜͷڞ༗ ΄ͱΜͲSFBEPOMZͰCJOENPVOU͠ͳ͓ͯ͠ ͍Δ ϢʔβྖҬΛݶఆ͢ΔʢRVPUB͢Δʣ SFBEPOMZͳͱ͜Ζڞ༻ ڞ༻ͳͷͰɺมߋ͕શίϯςφʹ͙͢ʹө͢
Δɻ1)1όΠφϦͷՃ͕Γ͍͢
ར༻͢Δ$16 ίϯςφ࡞࣌ʹܾΊ͏͍ͪͯ͠Δɻ ࠓͷͱ͜Ҡઃखಈʜʜ ͳΊΒ͔ʹ͍ͨ͠Ͱ͢Ͷ
GPSLCPNCରࡦ ಠࣗύονΛར༻ NJ[[Z͞ΜͷεϥΠυ IUUQCJUMZ7:(D ։ൃͷຊےʹ͋ΔDHSPVQͷઃఆ߲ʹ͍ͨ͠ ʢͷͪ΄Ͳʣ
Φʔόʔϔου͋Δʁ
؆୯ͳϕϯν έʔε DISPPUͷΈɺ$16ɺ(#NFN έʔε -9$Ͱ$16ɺ(#NFNར༻
ωοτϫʔΫͷͤͣ ͦͷଞͷ݅ಉ͡ IUUQE QIQGQN 1)1 $FOU04 1)1QSJOUl)FMMPzఔͷॲཧ "# XJUILFFQBMJWF
None
ߟ ΞʔΩςΫνϟͷҧ͍ ʢDISPPUͷΈ͔ɺ-9$Λܦ༝͢Δ͔ʣ ʹΑΔΦʔόʔϔου֬ೝͰ͖ͳ͍ɻ গͳ͘ͱ΄ͱΜͲͷ߹ଞͷϘτϧωοΫ͕ ઌʹདྷΔͱݴ͑ΔͩΖ͏ ωοτϫʔΫϑΝΠϧγεςϜͷΛ͍ͯ͠ͳ͍͜ͱ͕
ޮ͍͍ͯΔՄೳੑ͕͋Δ
1BB4Ͳ͏ͬͯಈ͘ ͱݴ͏
ͳʹͱ͋ΕίϯςφΛ࡞Δ ίϯςφΛ࡞ΔͱҎԼͷͷ͕࡞ΒΕΔ ίϯςφͷSPPUGT 4'51HJUͷϑΝΠϧγεςϜʢσϓϩΠ༻ʣ %/4Ϩίʔυ
Ϣʔβͷ͏%#
ͱ͜ΖͰ 4RBMFࣗମͷ8FCΞϓϦέʔγϣϯ 3⚪CZ⚪O3⚪JMT Ͱ͢
None
3FTRVF 3BJMTͷ༗໊ͳδϣϒΩϡʔϓϥάΠϯ جຊతʹɺίϯςφͷϓϩϏδϣχϯάͷॲཧ ɺδϣϒΩϡʔͰඇಉظԽ͞Ε͍ͯΔ ͔ͭɺϗετؒ3FEJTͷδϣϒΩϡʔͷΈͰ ͭͳ͕͍ͬͯͯɺεέʔϧ͍͢͠
͍͘ΒͰ ಉ͡ϩʔϧΛՃՄೳ CVJMEʜ VTFSTʜ HJUʜ
ίϯςφͷSPPUGTΛͲ͏࡞Δʁ $IFGXJUIDISPPUͰͬ͘͞Γͱ ͜͜Φʔόʔϔουগͳ͘ ϑΝΠϧγεςϜͷཧʹಛԽͨ͠ϨγϐΛॻ͘ αʔϏεཧͱ͔͓͍ͱ͘
SPPUͱͳΔɺجຊతͳϑΝΠϧγεςϜΛ࡞Δ ˠͦͷޙɺϢʔβ͕͍͡ΕΔσΟϨΫτϦҎԼΛ࡞Δ ʢIPNFTRBMFͳͲʣ
HJUQVTIͳͲͰσϓϩΠΛ͢Δ SFDFJWFIPPL͕ىಈ͢Δ ͬͺΓ3VCZ ͦ͜ͰσϓϩΠϓϩηε͕Δ 3BJMTͳΒ
CVOEMFJOTUBMMBTTFUQSFDPNQJMFSTZOD 1)1୯ʹSTZOD DPNQPTFSͳͲEFQMPZޙͷIPPLΛఆٛͰ͖ΔͷͰͦ͜Ͱ
Ϗϧυδϣϒ3BJMTΞϓϦͷதʹ 3VCZͰ؆୯ͳ%4-Λ࡞͓ͬͯΓɺ Ճ͕ 3VCZJTUʹ ؆୯ʹݟ͑Δ ͦͷؾʹͳΕରԠݴޠΛ૿ͤΔ͔ ͪ͜Β͋ͱͰʜ
1)1ରԠͷ
3VCZͷ৽όʔδϣϯରԠ όΠφϦՃ SCFOWલఏ Ϗϧυ༻ͷεΫϦϓτ͕࡞ΒΕ͓ͯΓɺखॱ ཱ͍֬ͯ͠Δɻ ൺֱత؆୯ʹରԠͰ͖Δɻ
ίϛολձࣾʹࡏ੶͠ɺॆ࣮ͨ͠αϙʔτɻ
1)1ͷ৽όʔδϣϯରԠ ʢखهͦ͜Ͱ్Ε͍ͯΔʣ HJUIVCͷJTTVF
Ϗϧυखॱ͕ࣦΘΕ͍ͯΔ
Ͳ͏ͬͯࢲ 1)1όΠφϦΛՃ͔ͨ͠ʁ
ߟݹֶతௐࠪۀ *TTVFʹඍົʹ͍ͬͯͨͷͰɺͦ͜ͰશΛ ௫Ή 3VCZͱಉ༷QIQFOWϕʔεΒ͍͠ Ϗϧυͯ͠UH[ͰݻΊΔɺجຊγϯϓϧʹͬͯͦ͏ EFpOJUJPOɺ͍·ࣦΘΕͨαʔόʹʜ
ʜʜ
ϏϧυΦϓγϣϯͷௐࠪ طଘͷόΠφϦ ͷQIQJOGP ͔Βऔಘ σϑΥϧτͷϏϧυͱΦϓγϣϯͱൺֱ TRMJUFରԠͷ֦ுͳ͘Ͷʁʢ͔͔͠Βʣ
ௐͯɺ4RBMFͷαϙʔτର͔Βམͱ͢ɻ
1&"3ύοέʔδ ϚχϡΞϧʹ͋ΔͭΛҰ௨ΓೖΕΔ IUUQTTRBMFKQTVQQPSUNBOVBMQIQ όʔδϣϯࢥ͍ͬͯ৽͘͢͠Δ QFBSίϚϯυࣗମϢʔβ͞Μ͕ୟ͚ΔΜͰ
ͬͪ͜εΫϦϓτԽ
NFNDBDIFE֦ு 1)1ͩͱQFDMͷͭ͡ΌͩΊΆʜʜ HJUIVC͔Βऔͬͯ͘ΔͱϏϧυͰ͖ͨɻͦΕΛ ͏
ͳΜ͔͔ΒQIQGQNͷઃఆมΘͬͨʁ :FUBOPUIFS͏⚪Β͞Μʹಥܸͨ͠
None
ͱ͍͏͜ͱͰݕূՄೳͳ ঢ়ଶʹ࣋ͬͯߦͬͨ
ͯ͞ɺͲ͏ͩΖ͏ʜʜ
None
8PSE1SFTT͕ಈ͍ͨ
ओཁͳ1)1ΞϓϦέʔγϣϯͷಈ࡞ͱ ֦ுͳͲΛςετͯ͠ϦϦʔεɻ
50%0 ࣮͍·ͩʹ͜ͷͷखॱΛεΫϦϓτԽࣗಈ ԽͰ͖͍ͯͳ͍ʜʜ ͜ͷखॱɺࣦ͏Θ͚ʹ͍͔ͳ͍ ୀ৬༧ఆͳ͍ͷͰΏͬ͘ΓΖ͏ʜʜ
͜Ε͔ΒΓ͍ͨ͜ͱ
ϐΧϐΧͷVTFSTΛͭ͘Δ VTFSTϢʔβఏڙαʔόʢϖύϘ༻ޠʁʣ $FOU04 LFSOFM ߟ͍͑ͯΔͷ
-9$
ͳͥϐΧϐΧʹ͍͔ͨ͠ -9$ͷόʔδϣϯΧʔωϧͷόʔδϣϯݹ ͗ͯ͢MYDBUUBDI͕ಈ͔ͳ͍ LFSOFM͕ݹ͍ˠQJEOBNFTQBDFͳ͍͔Βʂ MYD͕ݹ͍ˠOBNFTQBDFͷݶఆ͕Ͱ͖ͳ͍
ͳͥ OFUOT͍ͮΒ͍ $FOU04ͷJQSPVUFOFUOTରԠͯ͠ͳ͍ʜʜ ϐϯϙΠϯτͰͬͯΑΓηΩϡΞʹ͍ͨ͠
ͳͥ LFSOFMҎ߱Ͱɺίϯςφ୯ҐͰϓϩηε ͷ੍ݶ͕Ͱ͖ΔΑ͏ʹͳΔɻ ͜ΕɺGPSLCPNCύονͷΘΓͷػೳͱͯ͑͠Δɻ IUUQHJIZPKQBENJOTFSJBM MJOVY@DPOUBJOFST
ݱࡏଞʹ༷ʑͳύον͕͍ͨͬͯͯɺಈ͖ ͕औΓͮΒ͘ɺຊےͷϏϧυΛ͍͍ͨɻ
ରԠݴޠͷՃ OPEFHPMBOHΛಈ͔ͤΔͱ͔͍͍ͬ͜ গͳ͘ͱࣾͰ͍ग़͕͋Δ
)VCPUΛ ಈ͔͍ͨͧ͠ʂ
ՃͷΊͲཱͬͯΔ ݴޠ༻$IFGͷΫοΫϒοΫΛՃ ݴޠ༻ϏϧυखॱΛ3VCZ%4-ͰՃ ͦͷଞɺඍົʹઃఆΛՃ ͋ͱؾ߹Ͱݕূ
Կ͔͕ى͜Γͦ͏
͜Μͳײ͡ʜʜ
աڈʹՃͨ͜͠ͱͳ͍ɻ Δͧʂ
Ҏ্ɺΓ͍ͨͰ͢ Δͱݴͬͯͳ͍ ʜ
·ͱΊ
ϩϦϙοϓʂϨϯλϧαʔόʔΛ ΑΖ͓͘͠ئ͍͠·͢ʂʂ ৄࡉϒʔεͰʂʂ̍
4RBMFͬͯͶ
ίϯςφͱ͔1)1ʹ ؔ৺ͷ͋ΔਓΛืू͍ͯ͠·͢
ը૾ͳͲͷιʔε ը૾ɺϩΰ(.0ϖύϘΛ࢝Ίɺ֤ࣾɾஂ ମ͕ݖརΛॴ༗͢Δ߹͕͋Γ·͢ɻҾ༻ͷൣ ғͰͷར༻Λ͍ͯ͠·͢ɻ λΠτϧ$$ IUUQTQJYBCBZDPNKB&#&#&&" &#$&#"&"&#
&#&#&&"&#$ &#&%&#$&&## &"&&"&#"&"