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
AWSで実現する進化するWEBサービス(SaaS)の裏話
Search
Takayuki Yoshioka
January 12, 2024
0
25
AWSで実現する進化するWEBサービス(SaaS)の裏話
Takayuki Yoshioka
January 12, 2024
Tweet
Share
More Decks by Takayuki Yoshioka
See All by Takayuki Yoshioka
モノリスウェブアプリケーションのクラウド最適化について - SaaSの運用 -
yoshiokacb
1
400
My Redmine Gen.2を支えるインフラストラクチャー
yoshiokacb
0
2.1k
ホスティングサービスのインフラ環境を再構築!
yoshiokacb
0
3.8k
Scalable structure for AWS
yoshiokacb
1
1.1k
GDG Cloud Shimane #02
yoshiokacb
0
33
GCPUG-Shimane #04 開催レポート
yoshiokacb
0
35
EC2からECSへ移行を始めたお話
yoshiokacb
2
7k
Featured
See All Featured
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
20
1.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
245
20k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
GitHub's CSS Performance
jonrohan
1025
450k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
356
18k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
The Pragmatic Product Professional
lauravandoore
26
5.8k
Six Lessons from altMBA
skipperchong
22
3k
Transcript
"84Ͱ࣮ݱ͢Δ ਐԽ͢Δ8&#αʔϏεʢ4BB4ʣͷཪ 'BS&OE5FDIOPMPHJFT$PSQPSBUJPO
ΞδΣϯμ ࣗݾհɾձࣾհ αʔϏεհ αʔϏεͷมભʢ(FOFSBUJPOʣ ΠϯϑϥڥͷબαʔϏεϦϦʔε·Ͱ
ΞʔΩςΫνϟͷมભαʔϏεϦϦʔεޙ (ͷ՝ /FXδΣωϨʔγϣϯʢ(FOFSBUJPOʣ ίϯςφԽ ΦϯϘʔσΟϯάࣗಈԽ σϓϩΠͷࣗಈԽ Ϣʔβʔ͚"1*
ࣗݾհ ໊લ ٢Ԭོߦ ॴଐ ϑΝʔΤϯυςΫϊϩδʔגࣜձࣾ αʔϏε։ൃάϧʔϓϚωʔδϟʔ ۀ جຊ"84ʹؔΘΔ͜ͱશൠ Ϛωʔδϟʔۀ ͖ͳαʔϏε
4UFQ'VODUJPOTɾ$%,ɾ"NQMJGZ ίϛϡχςΟʔ +"846(4IJNBOFɺ04$4IJNBOF
ϑΝʔΤϯυςΫϊϩδʔגࣜձࣾ ॴࡏ ౡࠜݝদߐࢢ ίΞϏδωε .Z3FENJOFʢ4BB4ʣ 044 3FENJOFͷ։ൃʹίϛοτ ن ࣾһ໊ʢʣ ͦͷଞ
͕ࣾ3FENJOFͷίϛολʔ
αʔϏεհ
.Z3FENJOF w .Z3FENJOFɺΦʔϓϯιʔεͷ ʮ3FENJOFʯΛΫϥυͰఏڙ͢Δ αʔϏεɻ w "84ͷ׆༻ʹΑΓηΩϡΞ͔ͭߴ͍Մ ༻ੑɾԽΛ࣮ݱɻ w ϓϩδΣΫτཧɺλεΫཧɺ՝
ཧɺ͓͍߹ΘͤཧɺΠϯγσϯ τཧɺόάཧͳͲͷ͞·͟·ͳ༻ ్Ͱར༻ɻ
αʔϏεͷมભ ʢ(FOFSBUJPOʣ
Πϯϑϥڥͷબ αʔϏεϦϦʔε·Ͱ
αʔϏεΛఏڙ͢ΔαʔόʔΛͲ͜Ͱಈ͔͔͢ʁ ʢࠒʣ
σʔληϯλʔΛར༻ ϨϯλϧαʔόʔΛར༻ ࣗࣾʹαʔόʔߏங "84Ϋϥυ Πχγϟϧίετɾϥϯχϯάίετ͕ߴ͍ɻ ʢαʔόʔௐୡɺαʔόʔϥοΫɺωοτϫʔΫʣ ͖ͪΜͱͨ͠ωοτϫʔΫߏ͕࡞Εͳ͍ɻεέʔϧΞοϓͰ͖ͳ͍ɻ ࣄॴ͕ͳ͔ͬͨͷͰɺͦͦબࢶʹͳ͔ͬͨɻ ίετʢΠχγϟϧɾϥϯχϯάʣɺઃܭ͕ॊೈʹͰ͖Δɻ ࣮"84͋Γʹ͖ͷελʔτΞοϓͩͬͨɻ
αʔϏε͕يಓʹͬͨࠒʜ ࠃ࢈Ϋϥυͱ͍͏ର߅ྗ͕಄͖ͯ͠·ͨ͠ɻɻ ʢ͝Ζʣ
"84WTࠃ࢈Ϋϥυ ػೳൺֱ ˠ"84ʹݟྼΓ͠ͳ͍ɻʢޓੑ͕ߴ͍ʣ ྉۚൺֱ ˠ໌֬ͳ͕ࠩͳ͍ɻ Ϧʔδϣϯ ˠࠃʹαʔόʔ͕͋ΓϨΠςϯγʔ͕͍ɻ αϙʔτ ˠӦۀ୲ʹΑΔݸผରԠ͕ظͰ͖ΔɻʢަবͰ͖ΔՄೳੑ͕͋Δɻʣ ൺֱʢࠃ࢈ΫϥυͷϝϦοτʣ
ҠߦίετΛؾʹ͍ͯ͠Δ͏ͪʹ"84͕ͲΜͲΜศརʹɺ҆͘ͳͬͨɻɻ
ΞʔΩςΫνϟͷมભ αʔϏεϦϦʔεޙ
ୈظɹʢϓϨϦϦʔεແঈఏڙʣ &$ʢ8&#%#ʣ #BDLVQ "84$MPVE VTFBTU
ୈ̍ظɹʢαʔϏεΠϯʣ 1SPYZ 8&#%#YO ˞શͯ&$Ͱߏங "84$MPVE
՝ wϝϯςφϯεͷίετ͕૿͖͑ͯͨɻ wͷཧʹख͕͔͔ؒΔɻ w3FENJOFͷผαʔόʔͷҠߦʹख͕͔͔ؒΔɻ ʢ%#ͷμϯϓऔಘͯ͠ɺఴϑΝΠϧΛίϐʔͯ͠ʣ
ୈ̎ظɹ 1SPYZ 8&#YO /'4 %# ˞શͯ&$Ͱߏங ˞3%4ϕϯμʔϩοΫΠϯΛߟྀͯ͠ར༻͠ͳ͍ "84$MPVE
ετϨʔδͱ%#ΛผαʔόʔʹΓ͢͜ͱͰղܾɻ
ୈ̎ظɹ 1SPYZ 8&#YO /'4 %#ʢ&$PS3%4ʣ "84$MPVE
ΫϥγοΫΠϯελϯεऴྃͷ͓Βͤ
ୈ̏ظɹՆ w ౦ژϦʔδϣϯҾӽ w 71$ʹΑΔΑΓηΩϡΞͳઃఆʹมߋ w ϑϩϯτʹ/-#Λઃஔ w /'4Λ&'4ʹมߋ w
%#Λશʹ3%4ʹมߋ
(FOͷ՝ w αʔόʔཧͷίετ w αʔϏεཧͷଐਓԽʢखಈ࡞ۀʣ w ֤छαʔϏεʢΦϓγϣϯؚΉʣਃ͠ࠐΈରԠ w ΞϓϦέʔγϣϯͷΞοϓσʔτ࡞ۀͷίετ w
ύεϕʔεͷϧʔςΟϯάͩͬͨͷͰ αϒυϝΠϯΛར༻͔ͨͬͨ͠ɻ
/FXδΣωϨʔγϣϯ ʢ(FOFSBUJPOʣ
.Z3FENJOF (FOϦϦʔε🎉 ݄
શମਤ
3FENJOF
3FENJOF
ΞϓϦέʔγϣϯͷίϯςφԽ w Ϛϧνςφϯτ ΦϯϘʔςΟϯά σϓϩΠࣗಈԽ Ϣʔβʔ͚"1*
(FOΛϦϦʔε͢ΔͨΊʹͬͨ͜ͱ
&$ʢαʔόʔʣͷϝϯςφϯε͕େมʂ αʔόʔϨεͷαʔϏεͰӡ༻͍ͨ͠ʂ
ίϯςφԽ ΞϓϦέʔγϣϯͷεςʔτϨεԽ
ͳͥίϯςφʁ ͦͷଞɺৄ͘͠5XFMWF'BDUPS"QQʹώϯτ͕͋Γ·͢ɻ ʢΫϥυʹదͨ͠ΞϓϦέʔγϣϯͷ࡞Γํʣ IUUQTGBDUPSOFUKB &$ͷཧ͕େมʂ αʔόʔϨεͷαʔϏεΛ͏ʹ&$4ͱ͍͏αʔϏεͰίϯςφΛ ಈ͔͢ͱ͍͏ํ๏ʹͨͲΓண͍ͨɻ ίϯςφΛ্ཱͪ͛͢ͱݩͷঢ়ଶʹΔɻʢ࠶ݱੑʣ ͜ͷ͜ͱ͕σϝϦοτ͚ͩͰͳ͘ɺϝϦοτͰ͋Δ͜ͱؾ͍ͮͨɻ ʢԿ͔͕ى͖ͯ࠶ىಈͰղܾ͢Δέʔε͕ଟ͍ʣ
&$͔Β&$4 ʢΞϓϦέʔγϣϯͷίϯςφԽʣ %PDLFS fi MF࡞ ఴϑΝΠϧΛ4ʹอଘ͢ΔͨΊͷ1MVHJO࡞
ίϯςφԽʂ εςʔτϨε
Ϛϧνςφϯτ
w ΞϓϦέʔγϣϯʢίʔυʣڞ༗ͯ͠ %#ͱ4Ϣʔβʔ͝ͱʹผʹΞΫηεɻ w 8&#αʔόʔͷϓϩηε͝ͱʹ ڥมΛΓସ͑ͯଓઌΛ͚Δɻ w ίϯςφىಈ࣌ʹઃఆϑΝΠϧΛಡΈࠐΜͰ "QBDIFͷDPOGϑΝΠϧΛੜ͢Δɻ ιʔείʔυͭͰ%#ςφϯτ͝ͱ
"QBDIF7JSUVBM)PTU Ξϯνύλʔϯʁʁ
w ΞϓϦέʔγϣϯʢίʔυʣڞ༗ͯ͠ %#ͱ4Ϣʔβʔ͝ͱʹผʹΞΫηεɻ w 8&#αʔόʔͷϓϩηε͝ͱʹ ڥมΛΓସ͑ͯଓઌΛ͚Δɻ w ίϯςφىಈ࣌ʹઃఆϑΝΠϧΛಡΈࠐΜͰ "QBDIFͷDPOGϑΝΠϧΛੜ͢Δɻ ιʔείʔυͭͰ%#ςφϯτ͝ͱ
"QBDIF7JSUVBM)PTU Ξϯνύλʔϯʁʁ w "QBDIFͷόʔνϟϧϗετͰϚϧνςφϯτΛ࣮ͯ͠Δ͜ͱɻ w ͭͷίϯςφͰෳͷ3FENJOF͕ಈ͍͍ͯΔ͜ͱ w ιʔείʔυڞ௨ɻ w %# ετϨʔδϢʔβʔ͝ͱʹ͚͍ͯΔɻ
ίϯςφԽʢεςʔτϨεʣ͢Δ͜ͱͰɺ αʔόʔϨε·ͨϚωʔδυͷαʔϏεΛར༻Ͱ͖ΔΑ͏ʹͳΓɺ αʔόʔཧͷίετ͕େ෯ʹܰݮ͞Εͨʂ
৽نొɿଐਓతͰखؒͷ͔͔Δ࡞ۀΛࣗಈԽ͍ͨ͠ɻ
ΦϯϘʔσΟϯά "1*
ࣗಈԽͷͨΊͷ"1* w ৽نొ w ఀࢭ w มߋɾ࠶։ w আ 4UFQ'VODUJPOT
શମਤ
ۀγεςϜʢސ٬ɾٻཧʣ
"1*ɾόονॲཧ
৽نొ 'BSHBUF ॳظԽͷॲཧ &$44FSWJDF࠶ىಈ ઃఆϑΝΠϧొ 3PVUFʹϨίʔυొ %#࡞
खಈͰઃఆϑΝΠϧΛ࡞͍ͯͨ͠࡞ۀ͕"1*ʹΑΓࣗಈԽͰ͖ͨʂ
ίϩφՒʹΑΓ৽نొ͕ٸ૿ʂ ৽نొͷߋͳΔࣗಈԽ͕ඞཁʹͳ͖ͬͯͨʂʂ
ӡ༻։࢝ޙ ҎԼͷ࡞ۀ·ͩख࡞ۀͰߦ͍ͬͯͨɻ ొϑΥʔϜ͔Βडͱಉ࣌ʹ3FENJOFʹνέοτ͕࡞͞ΕΔͷͰɺ ͦͷ༰ΛΛۀγεςϜʹసه͢Δɻͦͷࡍʹॅॴձ͕ࣾଘࡏ͢Δ͔֬ೝ ਃ͠ࠐΈ͕͓͋ͬͨ٬༷ʹϝʔϧศͰઃఆใΛૹΔʢύεϫʔυͳͲʣ ࣾௐͷ݁ՌҎԼͷΑ͏ʹมߋ ۀγεςϜʹొ༻ͷ"1*Λ४උ
ొϑΥʔϜͷ༰ΛۀγεςϜʹࣗಈͰొ ΞΧϯτ࡞͕֬ೝͰ͖ͨΒɺϝʔϧͰ͓٬༷ͤͬͯใΛ௨͢Δɻ
ΦϯϘʔσΟϯά ొϑΥʔϜ
શମਤ
৽نొϑΥʔϜʢ"NQMJGZʣ
৽نొͷϑϩʔ ৽نొϑΥʔϜ ۀγεςϜ 3FENJOF ࣾγεςϜʹొ ࣾγεςϜʹొΛτϦΨʔʹͯ͠ 3FENJOFͷΞΧϯτ࡞
৽نొ ϨεϙϯενΣοΫ 'BSHBUF ॳظԽͷॲཧ &$44FSWJDF࠶ىಈ ઃఆϑΝΠϧొ 3PVUFʹϨίʔυొ %#࡞ ϝʔϧ௨
ొϑΥʔϜΛ৽نʹ࡞ΓɺۀཧγεςϜͱ࿈ܞͰ͖ͨ͜ͱͰ ৽نొ͕શʹࣗಈԽͰ͖ͨʂ
ΞϓϦέʔγϣϯͷΞοϓσʔτ࡞ۀͷଐਓԽɻ ࡞ۀʹ͕͔͔࣌ؒΓ͗͢ΔΛղܾ͍ͨ͠ɻ
ʹճͷσϓϩΠʹࣗಈԽඞཁ͔ʁ
σϓϩΠͷࣗಈԽ
࣮ϦϦʔε࣌ʹ1JQFMJOFଘࡏ͠ͳ͔ͬͨʜ खݩͰϏϧυͨ͠ΠϝʔδΛQVTIͯ͠ຊ൪ڥʹద༻ͱ͍͏ϑϩʔͰ։࢝ɻ
1JQFMJOF ॳظ ͔͚࣌ؒͯͨ࡞ۀ͕ఔʹॖ
ͨͩ͠ɺ%#εΩʔϚͷద༻ΛͲ͏͢Δ͔ݕ౼͕ඞཁͩͬͨɻ
1JQFMJOF վྑޙ
%#.JHSBUJPOʢ4UFQ'VODUJPOTʣ
1JQFMJOFΛඋ͢Δ͜ͱͰσϓϩΠΛࣗಈԽͰ͖ͨʂ σϓϩΠ࡞ۀͷଐਓ͔Λഉআ͠ɺϝϯςφϯεͷ࣌ؒେ෯ʹॖʂʂ
֤छࣄॲཧɺଐਓతͳॲཧΛগ͠ͰݮΒ͍ͨ͠ɻ ʢ͓ۚΛͬͯͰਓతίετΛܰݮ͍ͨ͠ʣ
ొใ֬ೝͷྫ αϙʔτ૭ޱʹ͍߹Θ͕ͤ͋Δɻ ຊʹຊਓ͔֬ೝͷͨΊʹॳظొʹ༻ͨ͠ϝʔϧʹใΛ௨͢Δɻ ϩάͷμϯϩʔυ αϙʔτ૭ޱʹ͍߹Θ͕ͤ͋Δɻ ΦϓγϣϯαʔϏεར༻ͷਃࠐॻΛهೖͯ͠ૹͬͯΒ͏ɻ
ΤϯδχΞ͕αʔόʔʹೖͬͯϩάΛμϯϩʔυ͢Δɻ ͓٬༷͕ΞΫηεͰ͖ΔετϨʔδαʔϏεʹΞοϓϩʔυ͢Δɻ ͓٬༷ʹμϯϩʔυํ๏Λ௨͢Δɻ
Ϣʔβʔ͚"1*
Ϣʔβʔ͕ར༻͢Δػೳ w ొใ֬ೝొมߋ w ٻใ֬ೝμϯϩʔυ w ΞϓϦέʔγϣϯϩάͷμϯϩʔυ
શମਤ
3FENJOFۀγεςϜ ࿈ܞ༻"1*
3FENJOFސ٬ཧγεςϜ ࿈ܞ༻"1*
3FENJOFސ٬ཧγεςϜ ࿈ܞ༻"1* ొใ
3FENJOFސ٬ཧγεςϜ ࿈ܞ༻"1* ٻॻ
3FENJOFސ٬ཧγεςϜ ࿈ܞ༻"1* ϩάऔಘ
4UFQ'VODUJPOTʢϩά࡞ͷॲཧʣ
ۀཧγεςϜͱ࿈ܞͰ͖Δ"1*ͷඋɻ ϩάͷࣗಈੜΛ࣮͢Δ͜ͱͰɺ ΦϓγϣϯαʔϏεͷҰ෦ΛࣗಈԽͰ͖ͨʂ ʢࣄॲཧͷෛ୲Λܰݮʣ
·ͱΊ w ࠷ݶͷػೳͰϦϦʔε͢Δɻ ᘳͳαʔϏεʢߏʣΛ࡞ͬͯϦϦʔε͢Δͷ͍͠ɻ w ࡞ͬͯऴΘΓ͡Όͳ͍ɻ ϦϦʔε͔ͯ͠ΒঃʑʹਓͷखΛݮΒͤΔΑ͏ʹվྑ͢Δɻ w ศརͳαʔϏε͕ͲΜͲΜग़ͯ͘Δ w
Ξϯνύλʔϯɾٕज़తෛ࠴ΛڪΕͳ͍ɻʢਪͰͳ͍ʣ ͳͥΞϯνύλʔϯͳͷ͔ߟ͑Δɻ τϨʔυΦϑͰڐ༰͢Δؾ࣋ͪɻଞ෦ॺͱަব͢Δؾ࣋ͪɻ ෛ࠴ΛڪΕͳ͍ɻʢྑ͍आۚ͋Δɻ͝ར༻ܭըతʹɻʣ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ