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
ANGEL Dojo 最終発表資料
Search
ten986
December 01, 2022
Programming
0
630
ANGEL Dojo 最終発表資料
2022年に行われた ANGEL Dojo の、ゆめみチームの最終発表資料です。
ten986
December 01, 2022
Tweet
Share
More Decks by ten986
See All by ten986
ペアレビューは同期的でなくてもよくないですか?
ten986
2
120
自作のEsolangでQuineを書いてみた
ten986
0
170
【解説付き】自作のEsolangでQuineに挑戦してみた
ten986
0
110
Other Decks in Programming
See All in Programming
"config" ってなんだ? / What is "config"?
okashoi
0
240
educure_カリキュラム生操作マニュアル.pdf
linew_official
0
770
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
200
Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets
hollycummins
0
230
PHPはいつから死んでいるかの調査
chiroruxx
1
400
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
190
新宿ダンジョンを可視化してみた
satoshi7190
2
250
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
23
15k
Changed Rules: Architectures with Lightweight Stores
manfredsteyer
PRO
0
240
dbtのドメイン分割による データ基盤の改善とDigdagとの連携
sakama
0
260
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)
zsmb
0
190
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1356
200k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
RailsConf 2023
tenderlove
4
540
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
YesSQL, Process and Tooling at Scale
rocio
164
13k
Statistics for Hackers
jakevdp
789
220k
What's new in Ruby 2.0
geeforr
337
31k
The Language of Interfaces
destraynor
151
23k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
116
18k
Navigating Team Friction
lara
178
13k
Embracing the Ebb and Flow
colly
80
4.1k
How to Ace a Technical Interview
jacobian
272
22k
Transcript
ANGEL Dojo࠷ऴൃද ΏΊΈνʔϜ ※ Amazon Web ServicesɺAWSɺ͓Αͼ Powered by AWS
ͷϩΰɺ Amazon.com, Inc. ·ͨͦͷؔ࿈ձࣾͷඪͰ͢
࣍ • ղܾ͢Δސ٬՝ • αʔϏε֓ཁ • ΞʔΩςΫνϟઆ໌ • ಈ࡞σϞ •
νʔϜ։ൃͷ • ࠓޙͷల
ղܾ͢Δސ٬՝
ॳΊ͍ͯ͘ॴʹ ཱྀߦ͠Α͏ͱͨ࣌͠ɺ ͜Μͳ͜ͱͰΜͩܦݧ ͋Γ·ͤΜ͔ʁ
༧ఆͷ伱ؒ࣌ؒΛ Ͳ͏ຒΊΑ͏ ෳΞϓϦͰ ใΛ֬ೝ Ͳ͏͍͏ॱ൪Ͱ εϙοτΛ८Ζ͏ ཱྀߦͷܭըͷใ֬ೝ࣌ʹɺෳΞϓϦΛ༻͍Δ͜ͱ͕໘ ཱྀߦͷܭըͷใ֬ೝ࣌ʹɺ͕͔͔࣌ؒͬͯ͠·͏ ༷ʑͳใΛ ऩू͢Δඞཁ͕
Έ ༧ఆͷ伱ؒ࣌ؒΛͲ͏ຒΊΑ͏ ߦ͖͍ͨॴ͍͔ܾͭ͘·͍ͬͯΔ͕ɺ ͦΕҎ֎Ͳ͜ʹߦ͚͍͍͔ࢥ͍͔ͭͳ͍ ཱྀߦઌʹৄ͍͠ਓʹɺଞͷ͓͢͢Ί εϙοτΛฉ͚͍͍ʂ ۭ͖࣌ؒ ۭ͖࣌ؒ
Έ༷ʑͳใΛऩू͢Δඞཁ͕ ߦ͖͍ͨεϙοτͷใΞΫηεํ๏ɺ Γ͑ҊͳͲௐΔ͜ͱ͕ଟͯ͘େม ৄ͍͠ਓʹใऩूΛखͬͯΒ͓͏ʂ
Έ Ͳͷॱ൪ͰεϙοτΛ८Ζ͏ ͓ళͷӦۀ࣌ؒɺҠಈ࣌ؒɺҐஔؔͳͲ Λߟྀ͠ͳ͕ΒܾΊ͍ͯ͘ͷ͕େม ཱྀߦͷΤΩεύʔτʹ εϚʔτͳ༧ఆΛΜͰΒ͓͏ʂ Կ࣌ʹͲ͜ʹߦ͚Δ͔ ௐͳ͍ͱ͔Βͳ͍
ΈෳΞϓϦͰใΛ֬ೝ ΞϓϦΛΓସ͑ͨࡍʹ֬ೝͨ͠ใΛ ಄ʹೖΕ͓ͯ͘ඞཁ͕͋Γେม ཱྀߦͷܭըΛશʹѲ͍ͯ͠Δਓʹ ͍͖ͭͯͯΒ͍͍͑ʂ
ΈΛղফ͢ΔͨΊʹ ͜ΜͳཱྀߦͷΤΩεύʔτ͕͍Ε͍͍ʂ • ܭըஈ֊Ͱͷ͓͢͢ΊεϙοτͷఏҊ • ͷεέδϡʔϧͷఏҊ • ཱྀߦͷ͓͠Γ·Ͱ࡞ͬͯ͘ΕΔ ͜ΕΒ͕ͭͷΞϓϦͰ݁ͨ͠Βɾɾɾʁ
TRIPONE τϦϙϯ
αʔϏε֓ཁ
TRIPONE ॆཱྀ࣮ͨ͠ߦΛָ͠ΉͨΊͷ ཱྀߦͷΤΩεύʔτΞϓϦ • ܭըஈ֊Ͱͷ͓͢͢ΊεϙοτͷఏҊ • ͷεέδϡʔϧͷఏҊ • ཱྀߦͷ͓͠Γ·Ͱ࡞ͬͯ͘ΕΔ ॳΊͯͷॴͰཱྀߦΛຬ٤Ͱ͖Δ
※ϩέʔγϣϯͷը૾نʹଇͬͯ༻͍ͯ͠·͢
͓͢͢ΊεϙοτఏҊ ߦ͖͍ͨεϙοτΛೖྗ εϙοτΛબ ܭըʹΓͳ͍δϟϯϧͷ ͓͢͢ΊεϙοτΛఏҊ ※ϩέʔγϣϯͷը૾نʹଇͬͯ༻͍ͯ͠·͢
εέδϡʔϧఏҊ ։࢝࣌ؒɾऴྃ࣌ؒɾ ࡏ࣌ؒΛฤूՄೳ બ͓ͨ͢͢͠ΊεϙοτΛͱʹ Ҡಈ࣌ؒΛߟྀͨ͠εέδϡʔϧΛࣗಈͰఏҊ
TRIPONE͚ͩͰܭը͕Մೳʂ • ߦ͖͍ͨεϙοτΛબ͢Δ͚ͩͰ ༧ఆཱ͕ͯΒΕΔʂ • ࣗಈͰεέδϡʔϧͷఏҊ • Γ͍ͯͳ͍δϟϯϧͷ ͓͢͢ΊεϙοτͷఏҊ ※ϩέʔγϣϯͷը૾نʹଇͬͯ༻͍ͯ͠·͢
TRIPONE͚ͩͰ݁ʂ • ཱྀߦͷ͓͠ΓΛࣗಈͰ࡞ • λΠϜϥΠϯܗࣜͷ εέδϡʔϧ • ަ௨खஈϚοϓΛ ̍ը໘Ͱશͯ֬ೝ
TRIPONEͰཱྀߦΛຬ٤ʂ • TRIPONE͚ͩͰܭը͕Մೳʂ • TRIPONE͚ͩͰ݁ʂ • ॳΊͯͷॴͰ࣌ؒΛ ࣋ͯ༨͢͜ͱͳཱྀ͘ߦΛຬ٤Մೳʂ
༧ఆͷ伱ؒ࣌ؒΛ Ͳ͏ຒΊΑ͏ ෳΞϓϦͰ ใΛ֬ೝ Ͳ͏͍͏ॱ൪Ͱ εϙοτΛ८Ζ͏ ༷ʑͳใΛऩू ͢Δඞཁ͕ ͓͢͢ΊεϙοτఏҊͰ 伱ؒ࣌ؒΛຒΊΔ͜ͱ͕Ͱ͖Δʂ
ͭͷΞϓϦͰཱྀߦͷܭըΛ શͯྃͰ͖Δʂ εέδϡʔϧఏҊͰ࣌ؒͰ؆୯ʹ εέδϡʔϧΛ࡞Δ͜ͱ͕Ͱ͖Δʂ ͭͷΞϓϦͰཱྀߦͷεϙοτใ Γ͑ҊɺϚοϓΛ֬ೝͰ͖Δʂ
ΞʔΩςΫνϟઆ໌
ΞʔΩςΫνϟͷϙΠϯτ
ΞʔΩςΫνϟͷϙΠϯτ ϑϩϯτΤϯυ • /FYUKTͰ։ൃ • σϓϩΠ"NQMJGZ)PTUJOH • ϚοϓදࣔGCPͷGoogle Maps Platform
ΞʔΩςΫνϟͷϙΠϯτ όοΫΤϯυ • "QQ4ZODʹΑΔAPIཧ • -BNCEBɺ֎෦APIΛୟ͘ ෳࡶͳϩδοΫ • σʔλӬଓԽ%ZOBNP%#
ΞʔΩςΫνϟͷϙΠϯτ CI/CD • "NQMJGZ$POTPMFʹΑΔCI/CDͷࣗಈߏங • productionϒϥϯνʹϚʔδͨ͠ΒCI/CD͕Δ • CI/CDޙSlackʹ௨
AWS Well-Architected Λຬͨ͢ઃܭ ӡ༻ͷ༏लੑ ηΩϡϦςΟ ৴པੑ ύϑΥʔϚϯεޮ ίετ࠷దԽ Amazon CloudWatchやAWS
X-Rayを 用いた監視 クライアントから呼び出される部分 はAWS WAF・Amazon Cognitoで保護 マネージドサービスかつ サーバレスサービスで構成 ࣋ଓՄೳੑ AWS Well-Architected ϑϨʔϜϫʔΫ ϑϨʔϜϫʔΫͷ6ຊͷப ΑΓ
ΞʔΩςΫνϟͷϙΠϯτ ӡ༻ͷ༏लੑ ü "8493BZͰΞϓϦέʔγϣϯͷಈ࡞ੳ ü "NB[PO$MPVE8BUDI-PHT での監視 ü "NB[PO$MPVE8BUDI36. で
クライアント側のエラーも対応 ü "NB[PO 4/4 → "84$IBUCPU Ͱエラー࣌ʹӡ༻ऀ4MBDLʹ௨
Amazon CloudWatch RUM ϑϩϯτΤϯυͷཧ • Τϥʔ • ύϑΥʔϚϯε • Ϣʔβʔͷߦಈ
ΤϥʔΛSlackʹ௨ • Amazon CloudWatch • Amazon SNS • AWS Chatbot
ͰόοΫΤϯυͷΤϥʔΛ Slackʹ௨͢Δ
ΞʔΩςΫνϟͷϙΠϯτ ηΩϡϦςΟ ü "848"'を使用 ü "NB[PO$PHOJUPの使用 ü AWS KMSͱAWS Systems
Manager Paramater StoreΛ ซ༻ͯ͠APIΩʔΛ҉߸Խอଘ
ΞʔΩςΫνϟͷϙΠϯτ • ৴པੑ • ύϑΥʔϚϯεޮ • ίετ࠷దԽ • ࣋ଓՄೳੑ ʹ͍ͭͯߟྀ
ü ϚωʔδυαʔϏε ü αʔόϨεαʔϏε
ΞʔΩςΫνϟͷϙΠϯτ ϚωʔδυαʔϏεͱαʔόϨεαʔϏε Λ͏ར ü αʔόཧͷෛ୲ΛݮΒ͢ ü パフォーマンスが自動的に維持 ü ίετͷ࠷దԽ ü
ίϯϐϡʔλϦιʔε͕࠷దԽ͞ΕΔͷͰ ڥͷෛ୲͕ݮΔ
ΞʔΩςΫνϟͷϙΠϯτ
ಈ࡞σϞ
νʔϜ։ൃͷ
ேձ/༦ձͰԁͳίϛϡχέʔγϣϯ • νʔϜேձ༦ձΛ։͍ͨ • ใڞ༗ɺ࡞ۀํɾαʔϏε༰ͷೝࣝ߹Θͤ • ΞΠεϒϨΠΫͰࡶஊଅਐ • ʮٳΈͷͷ༧ఆʁʯʮࠓΓͨ͜͠ͱʯ
શһͰڞ༗͖͢ใͷՄࢹԽ • λεΫɺࢿྉΛ /PUJPOͰҰݩཧ • ͲΜͳ࡞ۀΛ͔ͨ͠ʁ ͕ޙͰ֬ೝͰ͖Δ • ੵۃతͳࢿྉɾυΩϡϝϯτͷ࡞ •
ேձ༦ձͷ༰ɺσβΠϯɺ"1*ઃܭɾɾɾ • ҉ͷྃղΛۃྗഉআ͢Δ
࣮ʹ͍ͭͯͷ • ϑϩϯτΤϯυ͔Β։ൃ͢Δ • ։ൃܦݧ͋Γ "84ܦݧͳ͠ͳͷͰ • ը໘͕͋Εೝࣝ߹Θָͤ • ϞϒϓϩͳͲ୲࡞ۀ
• dਓͰ࡞ۀͯ͠ਫ਼Λ্͛Δ
ࠓޙͷల
ϦϦʔεܭը Ќ൛ W WY • ཱྀߦͷΤΩεύʔτΞϓϦ ʮTRIPONEʯϦϦʔεʂ
• ؼΓཱྀߦͷΈରԠ • ෳఔͷཱྀߦʹରԠ • όάमਖ਼ • ͓͢͢ΊεϙοτఏҊػೳͷ ਫ਼্ • εέδϡʔϧఏҊػೳͷ ਫ਼্ • ͓͠Γͷڞ༗ػೳͷՃ • ࢥ͍ग़هػೳͷՃ • おすすめスポット提案に かかる時間の短縮
ϏδωεϞσϧ εϙϯαʔγοϓ Ø εϙϯαʔ͓͢͢Ίεϙοτʹදࣔ͞Ε͘͢ͳΔ σʔλϚωλΠζ Øར༻ऀ͝ͱͷཱྀߦσʔλを他の企業にఏڙ͢Δことで 対価として収益ΛಘΔ ܖྉ σʔλఏڙ ཱྀߦܥاۀ
TRIPONE τϦϙϯ
·ͱΊ ސ٬՝ • 伱ؒ࣌ؒΛ͍͍ײ͡ʹຒΊ͍ͨ • ޮͷྑ͍ॱ൪ͰεϙοτΛճΓ͍ͨ • ࣄલܭըͷใ֬ೝΛ ͭͷΞϓϦͰ͍݁ͨ͠ •
ܭըʹ࣌ؒΛ͔͚ա͗ͣɺαΫοͱ ऴΘΒ͍ͤͨ TRIPONEͷ֓ཁ • ཱྀߦεέδϡʔϧͷఏҊ • ͓͢͢ΊεϙοτͷఏҊ • ͓͠Γͷࣗಈ࡞ • ͓͠Γͷ֬ೝը໘ͰͰ͖Δ ॳΊͯͷॴͰ࣌ؒΛ࣋ͯ༨͢͜ͱͳཱྀ͘ߦΛຬ٤Ͱ͖Δʂʂ