Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ITS を支える 情報集約基盤 アーキテクチャ / ITS Tech Study #02
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Hiroyoshi HOUCHI
June 08, 2018
Technology
880
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ITS を支える 情報集約基盤 アーキテクチャ / ITS Tech Study #02
Hiroyoshi HOUCHI
June 08, 2018
More Decks by Hiroyoshi HOUCHI
See All by Hiroyoshi HOUCHI
aws-dev-day-2020-f9-cdk-bestpractice
hixi
0
380
CDK 利用者から見る CDK
hixi
3
1.2k
SIerIoT vol.7
hixi
1
670
AWS IoT を用いた DeNA オートモーティブアーキテクチャ / DeNA Techcon 2018 Houchi Hiroyoshi
hixi
1
35k
sake-game-gcp-5.pdf
hixi
0
180
appengine-ja-night-35.pdf
hixi
0
160
Other Decks in Technology
See All in Technology
全PRの83%が AIレビューだけでマージできるようになった開発組織は その後どうなったか @2026/10
athug
0
140
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
420
Running Kotlin + Quarkus with Lambda
nealle
1
470
しろおびから始める!ログ活用の第一歩
shumei_ito
0
920
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.3k
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
480
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
720
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
120
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
1
420
12 個 Tool と、 4,096 Token
hlum
0
150
WasmをRustにする
sansantech
PRO
0
220
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Facilitating Awesome Meetings
lara
57
7.2k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
330
GraphQLとの向き合い方2022年版
quramy
50
15k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Scaling GitHub
holman
464
140k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
590
Site-Speed That Sticks
csswizardry
13
1.6k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
520
Transcript
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Hiroyoshi HOUCHI Office
of Technology Development System Management Unit DeNA Co., Ltd. *54Λࢧ͑Δ ใूج൫ ΞʔΩςΫνϟ *545FDI4UVEZ"84*P5 1
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ࣗݾհ ์Ղ !IJYJ@IZJ
w ݄dݱΦʔϓϯϓϥοτϑΥʔϜγεςϜࣄۀ෦ 4PDJBM"1* ։ൃ ͚ࣾ.PCJMF#BB4 ։ൃϦʔμ ڠۀҊ݅ ։ൃΠϯϑϥ "OE"QQ ΫϥυΞʔΩςΫνϟઃܭ w ݄dΦʔτϞʔςΟϒࣄۀຊ෦ ΫϥυγεςϜΞʔΩςΫτɾڞ௨ج൫ w ݄dγεςϜຊ෦ શࣾԣஅΫϥυγεςϜΞʔΩςΫτ ΛΔͭΓ ΦʔτϞʔςΟϒҾ͖ଓ͖ 2
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ຊͷൃද༰ 3
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. *54Λࢧ͑Δใूج൫ΞʔΩςΫνϟ ⁃ ं྆ొػೳ
⁃ ं྆ɾαʔόʹର͢ΔೝূೝՄ ⁃ ใͷऩू ⁃ ं྆ͦͷͷͷใͷऩू ⁃ ΤοδίϯϐϡʔςΟϯάͷੳใͷऩू ⁃ ं྆ใͷఏڙ ⁃ ं྆ใͷϦΞϧλΠϜऔಘػೳͷఏڙ ⁃ δΦؔΛ༻͍ͨं྆ใͷఏڙ ⁃ ੳγεςϜͷใఏڙ 4
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. *54Λࢧ͑Δใूج൫ΞʔΩςΫνϟ ⁃ ं྆ొػೳ
⁃ ं྆ɾαʔόʹର͢ΔೝূೝՄ ⁃ ใͷऩू ⁃ ं྆ͦͷͷͷใͷऩू ⁃ ΤοδίϯϐϡʔςΟϯάͷੳใͷऩू ⁃ ं྆ใͷఏڙ ⁃ ं྆ใͷϦΞϧλΠϜऔಘػೳͷఏڙ ⁃ δΦؔΛ༻͍ͨं྆ใͷఏڙ ⁃ ੳγεςϜͷใఏڙ 5
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ࢀߟࢿྉ λΫϕϧʹ͍ͭͯ ⁃
AWS Summit 2018 Tokyo - DeNA ΦʔτϞʔςΟϒʹ͓͚Δ AWS ׆༻ࣄྫ ٕज़෦ʹ͍ͭͯ ⁃ DeNA TechCon 2018 – AWS IoTΛ༻͍ͨDeNAΦʔτϞʔςΟϒΞʔΩςΫ νϟ ݕࡧΩʔϫʔυʮ AWS IoT DeNA ʯ(ൃද Google ݕࡧ࣌) 6
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ൃද෦ͷΞʔΩςΫνϟਤ 7 3.
ੳใऩू 2. ं྆ใऩू 1. ੳγεςϜ౷߹
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 1. ੳγεςϜ౷߹ 8
8
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 1. ੳγεςϜ౷߹ 9
{ "topic": "pub/sub topic", "data": { "hoge": "fuga" } } ※ format ʹ͍ͭͯগ͠ lambda Ͱٵऩͯ͠Δ෦͋Γ
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 1. ੳγεςϜ౷߹ 10
• όοϑΝϦϯά͞ΕͨใΛ Lambda Ͱऔಘ • σʔλϑϩʔ্ Kinesis Data Streams → Lambda ࣮ࡍ Lambda → Kinesis Data Streams
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 1. ੳγεςϜ౷߹ 11
• topic Ͱάϧʔϐϯά • Cloud Pub/Sub ·ͱΊͯˍฒྻ Publish [ { "topic": "pub/sub topic", "data": { "hoge": "fuga" } }, …… ]
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 1. ੳγεςϜ౷߹෦ʹ͍ͭͯ •
• جຊతʹ Network ͷ४උ + I/O ͕࣌ؒͱ͔͔ͯΔ෦ • ୯ൃ࣮ߦͰͳͯ͘ɺόοϑΝϦϯά͢Δ͜ͱʹΑͬͯ Lambda ͷ࣮ߦճ + ૯࣮ߦ࣌ؒΛେ෯ʹݮΒ͢͜ͱ(=ίετݮ)͕Ͱ͖Δ (※ ं྆ rps͙Β͍͘Δ ) • ΄΅΄΅ϦΞϧλΠϜʹใΛૹΔ͜ͱ͕Ͱ͖Δ • ߟྀ • Kinesis Data Streams ͷγϟʔυ • ผख๏ • ϦΞϧλΠϜੑΛ͏গ͠ଛͳ͍͍ͬͯͷͰ͋Ε S3 Λ༻͍ͭͭɺ ఆظతʹ GCS ʹૹ৴͢Δ͜ͱՄ • ͦ͏ͨ͠߹ɺͬͱίετΛݮΒ͢͜ͱ͕Ͱ͖Δ 12
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 2. ं྆ใऩू 13
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ͷલͷɺࣄલใ… • ं͔྆Βͷૹ৴ϑΥʔϚοτ
bson (TechCon #33) • ࣄલʹߦ͏ं྆ొ(TechCon #25)ʹΑΓҎԼͷΑ͏ʹͳΔ • ThingName ূ໌ॻID • ThingShadow ʹҎԼͷใؚ͕·Ε͍ͯΔ (TechCon #29) 14 \ TUBUF\ SFQPSUFE\ EFWJDF\ !JE999999 ^ ^ ^ ^
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 2. ं྆ใऩू 15
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 2. ं྆ใऩू 16
Topic p/@s.b (providers/taxibell/@status.bson) Payload ҎԼͷΑ͏ͳ json ͷ bson දݱ {"@pos": { "lat": "35.4429108606794", "lon": "139.642686919283" }, "@pos_ts": "1528437407", "@ts": "1528437407"}
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 2. ं྆ใऩू 17
SQL SELECT aws_lambda(“${bson2json lambda arn}”, { “bson”: encode(*, “base64”)) as state.reported.status FROM p/@s.b Action ҎԼͷ Republish $$aws/things/${principal()}/shadow/update
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 2. ं྆ใऩू 18
ݩͷσʔλ { "state": { "reported": { "device": { "@id": "XXXXXX" } }, "status": {"hoge":"fuga" } } ೖྗσʔλ { "state": { "reported": { "status": { "@pos": { "lat": "35.4429108606794", "lon": "139.642686919283" }, "@pos_ts": "1528437407", "@ts": "1528437407" } } ݁Ռσʔλ { "state": { "reported": { "device": { "@id": "XXXXXX" }, "status": { "@pos": { "lat": "35.4429108606794", "lon": "139.642686919283" }, "@pos_ts": "1528437407", "@ts": “1528437407”, “hoge”: “fuga” } }
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 2. ं྆ใऩू 19
Topic $aws/things/+/shadow/update/documents Payload { "current": { "state": { "reported": { "device": { "@id": "XXXXXX" }, "status": { "@pos": { "lat": "35.4429108606794", "lon": "139.642686919283" }, "@pos_ts": "1528437407", "@ts": "1528437407", "hoge":"fuga" } } , "desired": {} } }, "previous": {ུ} }
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 2. ं྆ใऩू 20
SQL SELECT {'data': {'device': current.state.reported.device, 'reported': current.state.reported.status}, 'topic': ‘${topicname}'} FROM '$aws/things/+/shadow/update/documents' Action Kinesis
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 2. ं྆ใऩू෦ʹ͍ͭͯ •
• ใͷ౷߹ • ThingShadow ͷػೳΛ༗ޮ׆༻͢Δ͜ͱͰɺ͚ࠩͩͰͳ͘ɺͦͷ࣌ͷं྆ ͷͯ͢ͷঢ়ଶΛ͢͜ͱ͕Մೳ • ΫϥΠΞϯτ͚ࠩͩͳͷͰ௨৴ྔతʹ༏͍͠ • ੳڥʹͯใͷิ͕ඞཁͳ͘ͳΔ • ඞཁͳ෦ͷΈͷ Lambda ʹ͑Δ • Lambda Ͱ ThingShadow ͷߋ৽·Ͱ͢Δ͜ͱՄೳ • ҰํͰ ThingShadow ͷؾͰ࣮ߦ͕࣌ؒ૿͑ͯ͠·͏ʹίετ͕૿Ճ͢ΔՄೳ ੑ͕͋Δ 21
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 3. ੳใऩू 22
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 3. ੳใऩू 23
Topic p/@a.b (providers/taxibell/@analytics.bson) Payload ҎԼͷΑ͏ͳ json ͷ bson දݱ { "@t": "${ࣝผࢠ}", "@d" { "accuracy": "100", "raw": { "hoge": "huga" }, "res": { "hoge": "huga" } } } ※ ͜͜Ͱͷ @t type ͷུ
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 3. ੳใऩू 24
SQL SELECT “${topicname} as topic, aws_lambda(“${bson2json lambda arn}”, { “bson”: encode(*, “base64”)) as data, get_thing_shadow(principal(), “${role arn}”) as thing FROM p/ @a.b Action Kinesis
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 3. ੳใऩूʹ͍ͭͯ •
• ใͷิ • ୯७ͳੳͷΈͰͳ͘ɺݱࡏͷं྆ͷใؚΊͯૹ৴ • ੳڥʹͯใͷิ͕ඞཁͳ͘ͳΔ • ඞཁͳ෦ͷΈͷ Lambda • Thing Shadow ͷऔಘͰ͢Β SQL 25
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. • Ͱ͖ΔݶΓϚωʔδϝϯτػೳΛ͏
• Lambda Ϛωʔδϝϯτ͕ͩɺͬͱ͍͍ͷͬͱ͋Δ • ཪଆͰಈ͍͍ͯΔ༷ʑͳγεςϜΛ༗ޮ׆༻͢Δ • ThingShadow ͕ߋ৽͞Εͨͱ͖ʹ৭ʑ Publish ͞ΕΔɻ • ࠓճ update/documents ͷΈ. update/delta ৭ʑເ͕͕Δ • ৽͍͠ػೳϝϦοτΛߟ͑ͯ͏ • SQL ͷؔͷҰͭͰ͋Δ aws_lambda ൺֱత৽͍͠ػೳɻ • අ༻ݮʹେ͍ʹཱͬͯ͘ΕͯΔ (͡Ί͍Βͳ͍ͳʔͬͯࢥͬͯͨ) 26
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ຊεϥΠυ • ใूج൫γεςϜͷ
ใΛੳ͢Δ·Ͱͷ෦ͷൃදΛ͖ͤͯ͞·ͨ͠ • ͦͷଞ෦ʹڵຯ͋Γ·ͨ͠ΒҎԼΛࢀর͍ͩ͘͞ ⁃ AWS Summit 2018 Tokyo - DeNA ΦʔτϞʔςΟϒʹ͓͚Δ AWS ׆༻ࣄྫ ⁃ DeNA TechCon 2018 – AWS IoTΛ༻͍ͨDeNAΦʔτϞʔςΟϒΞʔΩςΫ νϟ ⁃ ݕࡧΩʔϫʔυʮAWS IoT DeNAʯ ※ ΞʔΩςΫνϟͷதʑਐԽ͓ͯ͠Γ·͢ 27
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Appendix. ࣦഊஊ 28
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Appendix. ੲͷࣦഊ (1)
• Lambda ͍·͘Γ • ੲ౷ҰԽΛؾʹͯ͠ɺશ෦ Lambda ͰॲཧΛͯͨ͠ • ं͔྆Βͷೖྗ͕ ઍ rps. • தΛશ෦ lambda ʹ͢ΔͱඵؒສϨϕϧͷlambda͕࣮ߦ͞Ε͍ͯͨɻ • ߴ͍ɻ 29
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Appendix. ੲͷࣦഊ (2)
• ThingShadow ͷ index ͍·͘Γ • ݕࡧͰ͖Δͷඇৗʹศརͩͬͨ (͜ͷ݅ͷं͚ͩநग़͍ͨ͠ͱ͔) • ઍ rps ͷ index ͷߋ৽͕͔͔Δ • ߴ͍ɻ • ͘ͳΔʢͣʣ 30
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Appendix. ੲͷࣦഊ (3)
• Admin API (ཧܥͷAPI) ͍·͘Γ • εϧʔϓοτΛٻΊͨ API ͡Όͳ͍ͷʹɺઍ rps Ͱόϯόϯୟ͍ͯ·ͨ͠ • έʔε͕࡞͞ΕΔͱ͍͏ܦݧΛ͠·ͨ͠ 31