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
830
ANGEL Dojo 最終発表資料
2022年に行われた ANGEL Dojo の、ゆめみチームの最終発表資料です。
ten986
December 01, 2022
Tweet
Share
More Decks by ten986
See All by ten986
ペアレビューは同期的でなくてもよくないですか?
ten986
2
140
自作のEsolangでQuineを書いてみた
ten986
0
220
【解説付き】自作のEsolangでQuineに挑戦してみた
ten986
0
140
Other Decks in Programming
See All in Programming
ソフトウェアエンジニアの成長
masuda220
PRO
12
2.2k
AIプログラミング雑キャッチアップ
yuheinakasaka
20
5.1k
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
830
バッチを作らなきゃとなったときに考えること
irof
2
550
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
300
CloudNativePGを布教したい
nnaka2992
0
120
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
410
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
1.1k
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
210
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
500
Duke on CRaC with Jakarta EE
ivargrimstad
0
100
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
260
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
172
14k
Speed Design
sergeychernyshev
27
820
Unsuck your backbone
ammeep
669
57k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
11
1.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
260
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Documentation Writing (for coders)
carmenintech
68
4.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
540
Embracing the Ebb and Flow
colly
84
4.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
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ͷ֓ཁ • ཱྀߦεέδϡʔϧͷఏҊ • ͓͢͢ΊεϙοτͷఏҊ • ͓͠Γͷࣗಈ࡞ • ͓͠Γͷ֬ೝը໘ͰͰ͖Δ ॳΊͯͷॴͰ࣌ؒΛ࣋ͯ༨͢͜ͱͳཱྀ͘ߦΛຬ٤Ͱ͖Δʂʂ