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
5000台の仮想デバイスからAWS IoTにデータをガンガン送り付ける! IoTのテスト用仮想...
Search
Keita Mohri
January 16, 2018
Technology
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
5000台の仮想デバイスからAWS IoTにデータをガンガン送り付ける! IoTのテスト用仮想デバイス作成サービスmockmockの舞台裏
AWS Deep Night in 福岡
Keita Mohri
January 16, 2018
More Decks by Keita Mohri
See All by Keita Mohri
Excelを扱うRubyGemまとめ 2022
ktam1219
0
670
モクえもんのお時間です
ktam1219
0
260
在宅ワーク中だけど会社にしかGPSマルチユニットがない?でも大丈夫!そう、mockmockがあればね。
ktam1219
0
470
IoTデバイスの疑似データ送信システムにおける サーバーレスなログ処理機構の試行錯誤
ktam1219
0
670
実写版モクえもん in Explorer ~愛・おぼえていますか~
ktam1219
0
380
エンジニアのおしごと
ktam1219
0
190
mockmockの大量のログをいい感じに捌きたい
ktam1219
0
1.2k
Goで作る大量プロセス管理機構
ktam1219
2
4k
わりとゴツいKubernetesハンズオン そのあとに
ktam1219
0
720
Other Decks in Technology
See All in Technology
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
360
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
240
動画配信アプリでの Engage SDK 導入 — TVer Android が Play ストアにコンテンツを届けるまで
techtver
PRO
0
110
いかに伝えるか 〜新卒エンジニアの教育のための、ライトノベル活用の一例
ikedon
1
200
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
0
410
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
830
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
390
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
340
AIに丸投げしないトイル削減 / Eliminating Toil Without Leaving It All to AI
kohbis
2
350
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
910
データエンジニアリングワークショップ:Auto LoaderとSparkで学ぶデータパイプライン構築
databricksjapan
PRO
0
160
こんなアーキテクチャ図は嫌だ BEYOND THE TIME: 半年後の自分へ贈る15のメッセージ / 15 of Anti-pattern in AWS Architecture Diagrams
naospon
3
240
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
6.3k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
250
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
470
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
The SEO Collaboration Effect
kristinabergwall1
1
550
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
520
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Fireside Chat
paigeccino
42
4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Transcript
ͷԾσόΠε͔Β"84*P5ʹσʔλΛΨϯΨϯૹΓ͚Δʂ *P5ͷςετ༻ԾσόΠε࡞αʔϏε ͷཪ ໟརܒଠ
ໟརܒଠʢ͏Γ͚͍ͨʣ 'VTJD$P -UE NPDLNPDLϓϩμΫτΦʔφʔ લ৬ ༯ոͱ͔Ͱ༗໊ͳ ήʔϜձࣾ
ࣾͷ͓՛ࢠͷྲྀ௨ΛڇࣖΔ
ͬͯԿͰ͔͢ʁ
None
None
*P5ͷ
Ϟϊ ʜ Ϟϊ͕ɺ
Ϟϊ ʜ Πϯλʔωοτܦ༝Ͱɺ
αʔόʔΞϓϦ Ϟϊ ʜ αʔόʹσʔλΛૹΓɺ
αʔόʔΞϓϦ Ϟϊ ʜ ղੳͨ͠Γͯ͠
αʔόʔΞϓϦ Ϟϊ ʜ Կ͔͢Δ
ͷࣄྫ גࣜձࣾαχοΫε༷ ଠཅޫൃిॴϞχλϦϯάγεςϜ גࣜձࣾϓϦϯγϓϧ༷ ϗʔϜηΩϡϦςΟγεςϜ
*P5ͷ ͓ΘΓ
ͯ͞ɺ *P5ͷ։ൃ͠·͢
αʔόʔΞϓϦ Ϟϊ ʜ ςετ͍ͨ͠
αʔόʔΞϓϦ Ϟϊ ʜ σʔλ͕΄͍͠
αʔόʔΞϓϦ Ϟϊ ʜ ࠓ͙͢΄͍͠
αʔόʔΞϓϦ Ϟϊ ʜ ͍ΖΜͳύλʔϯͰ΄͍͠
αʔόʔΞϓϦ Ϟϊ ʜ ͨ͘͞Μ΄͍͠
Ͳ͏ͬͯ ௐୡ͠Α͏ʁ
ϦΞϧͳϞϊ͔Β ૹΒͤΑ͏
΄͍͠σʔλΛग़ͮ͠Β͍ େྔௐୡ͍͠ʜ
ͳΒࣗͰ γϛϡϨʔλʔ࡞Ζ͏
ͳ͔ͳ͔ͦ͜·Ͱ ख͕ճΒͳ͍ʜ
None
ͦ͜Ͱ
αʔόʔΞϓϦ ʜ ࢥ͍Ͳ͓ΓʹͳΔԾͷϞϊ
͍ͭͰ ΄͍͠σʔλΛ ΄͍͠ྔ͚ͩ ૹͬͯ͘ΕΔʂ
None
ࢦఆ͞ΕͨΤϯυϙΠϯτʹରͯ͠ɺ ݸମࣝผՄೳ͔ͭ ࣌ܥྻʹมԽ͢ΔσʔλΛ ಉ࣌ฒߦͰେྔʹૹ৴͢ΔγεςϜ NPDLNPDLΛٕज़ࢹͰઆ໌͢Δͱ
αʔόʔΞϓϦ ;Θͬͱͨ͠ಈ࡞Πϝʔδ σʔλૹ৴ઌͱ͔ σʔλੜఆٛͱ͔ NPDLݻ༗ઃఆͱ͔
αʔόʔΞϓϦ NPDLΛͭ͘Δ ;Θͬͱͨ͠ಈ࡞Πϝʔδ
αʔόʔΞϓϦ NPDLΛ͏͔͢͝ ;Θͬͱͨ͠ಈ࡞Πϝʔδ
Πϝʔδ͖ͭ·ͨ͠ʁ ͦΕͰຊʂ
ͷཪ
NPDLNPDLͷઃܭ NPDLͷਖ਼ମ Ϧιʔε֬อ γεςϜશମͷಈ࡞ NPDLNPDLͷ։ൃ
ςετ ຊ͓͢͠Δ͜ͱ
NPDLNPDL ͷઃܭ
NPDLNPDLͷઃܭ্ͷࢹ ༻͢ΔϦιʔεඞཁ࠷ݶʹ͍ͨ͠ ͪΖΜݪՁগͳ͍ํ͕͍͍ ӡ༻Λָʹ͍ͨ͠ ͕͠ى͖ͨ߹ʹΰϝϯφαΠ͢ΔϢʔβʔΛ࠷খݶʹ
αʔόʔʹΠϯετʔϧ͢ΔιϑτΣΞΛ࠷খݶʹ
NPDLNPDLͷઃܭ্ͷࢹ ༻͢ΔϦιʔεඞཁ࠷ݶʹ͍ͨ͠ ͪΖΜݪՁগͳ͍ํ͕͍͍ ӡ༻Λָʹ͍ͨ͠ ͕͠ى͖ͨ߹ʹΰϝϯφαΠ͢ΔϢʔβʔΛ࠷খݶʹ
αʔόʔʹΠϯετʔϧ͢ΔιϑτΣΞΛ࠷খݶʹ
͜ΕΒΛ;·͑ͯ NPDLͷਖ਼ମΛܾΊΑ͏
NPDLͷਖ਼ମ αʔόʔ ίϯςφ ϓϩηε εϨου ᩵ ࣭ૉ
NPDLͷਖ਼ମ αʔόʔ ίϯςφ ϓϩηε εϨου ᩵ ࣭ૉ ϓϩηε͕ࢮΜͩΒ૯่Εͩ͠ɺ NPDLͷΞοϓσʔτฒΈἧ͑ͳ͖Ό
·ͩ᩵ͩ͠ɺ αʔόʔʹ%PDLFSΛΠϯετʔϧ͠ͳ͖Ό ͍͘ΒͳΜͰ᩵͗͢Δ ͪΐ͏Ͳ͍͍
NPDLͷਖ਼ମ ϓϩηε εΫϦϓτݴޠ ίϯύΠϧݴޠ αʔόʔʹ࣮ߦڥΛΠϯετʔϧ͠ͳ͖Ό ୯ҰόΠφϦΛ࡞Εɺ ΄΅ૉͷαʔόʔͰ͍͚ͦ͏ʂ
͜ͷNPDLΛಈ͔͢αʔόʔͷ Ϧιʔε֬อઓུΛܾΊΑ͏
NPDLαʔόʔ NPDLαʔόʔ Ϧιʔε֬อʢ্ख͡Όͳ͍7FSʣ
NPDLαʔόʔ NPDLαʔόʔ NPDLαʔόʔ Ϧιʔε֬อʢ্ख͡Όͳ͍7FSʣ
NPDLαʔόʔ NPDLαʔόʔ NPDLαʔόʔ ϝϯς͠·͢ʂ ͓Βͤ͢ΔϢʔβʔ͕͍ͬͺ͍ʜ Ϧιʔε֬อʢ্ख͡Όͳ͍7FSʣ
NPDLαʔόʔ NPDLαʔόʔ NPDLαʔόʔ NPDLఀࢭ͠·͢ ٧ΊΕۭ͖ͦ͏ʜ NPDLఀࢭ͠·͢ Ϧιʔε֬อʢ্ख͡Όͳ͍7FSʣ
とはいえ、 誰がどのぐらいmockを起動するか 予測できないしなぁ…
それなら予測できるように すればいいじゃない!
NPDLͷಉ࣌ՔಇΛ Ϣʔβʔʹઃఆͯ͠Β͏ ͦ͏ͩɺྉۚମܥͱඥ͚Α͏ʂ
NPDLαʔόʔ NPDLαʔόʔ NPDLαʔόʔ Ϧιʔε֬อʢ্ख7FSʣ
NPDLαʔόʔ NPDLαʔόʔ NPDLαʔόʔ Ϧιʔε֬อʢ্ख7FSʣ
NPDLαʔόʔ NPDLαʔόʔ NPDLαʔόʔ Ϧιʔε֬อʢ্ख7FSʣ ϝϯς͠·͢ʂ ͓Βͤ͢ΔϢʔβʔ͕গͳ͍
NPDLαʔόʔ NPDLαʔόʔ αʔόʔ͕ফͤͨʂ ͍ͬͯΔNPDL͞ΕͯΔʂ Ϧιʔε֬อʢ্ख7FSʣ NPDLఀࢭ͠·͢ NPDLఀࢭ͠·͢
NPDLαʔόʔ NPDLαʔόʔ NPDLαʔόʔ NPDLͰͳ͘ΩϟύγςΟʹΑΔ՝ۚͳͷͰɺ ͜Μͳঢ়ଶͰՔಇ͍ͯͯ͠௧͘ͳ͍ Ϧιʔε֬อʢ্ख7FSʣ
͜ͷϦιʔε֬อઓུͰ γεςϜશମΛಈ͔ͦ͏
Web Web Worker Worker EFMBZFE@KPC Cron ՔಈϩάΛ4ʹΞοϓϩʔυ Քಈϩάͷूܭ εςʔλεมߋཁٻ NPDLىಈཁٻ
ఆظతʹΠϯελϯεΛνΣοΫ͠ɺ ՔಈNPDL͕ͳ͚ΕΠϯελϯεΛআ͢Δ Mock Mock Mock Mock Mock NPDLىಈ γεςϜશମͷಈ࡞
Web Worker ۭ͖͕ແ͚Εɺ&$ΠϯελϯεΛ ৽ͨʹىಈ ۭ͖͕͋Δ.PDLαʔόʔΛ୳ͯ͠ ىಈτϦΨʔϑΝΠϧΛஔ͘ ىಈτϦΨʔϑΝΠϧΛݕͯ͠NPDLΛىಈ ͦͷࡍɺ4͔ΒNPDLͷઃఆϑΝΠϧΛड͚औΔ Mock ۭ
Mock ຬ Mock ຬ Mock ຬ Mock ຬ NPDLͷىಈ
5PXFSϓϩηε NPDLͷىಈऴྃɺϩάऩूΛ࢘Δཧϓϩηε &$ىಈ࣌ʹ4͔ΒόΠφϦΛऔಘ NPDLαʔόʔͷத Tower Mock Mock Mock Worker Mock
Trigger Files .PDLϓϩηε NPDLͷׂΛ͢Δϓϩηε 5PXFS͔Βىಈ͞ΕΔͱ͖ʹɺ ·ͩແ͚Ε 4͔Β ɹόΠφϦΛऔಘ ىಈ࣌ʹ4͔ΒઃఆϑΝΠϧΛऔಘ͠ɺͦΕʹԊͬͯ ɹݻ༗ͷಈ࡞Λ࣮ݱ ૄ݁߹ ඇಉظ ϝϯςφϯεϑϦʔ τϦΨʔϑΝΠϧ "NB[PO.2
NPDLNPDL ͷ։ൃ
NPDLNPDLͷ։ൃ্ͷΈ ϩʔΧϧͰͷ݁߹ςετ͕ ͱʹ͔͘Γʹ͍͘ʂ
ͦ͜ʹݱΕͨٹੈओʂ
ͦ͜ʹݱΕͨٹੈओʂ AmazonLinuxの イメージもあるよ!
EFMBZFE@KPC ՔಈϩάΛ.*/*0ʹΞοϓϩʔυ Քಈϩάͷूܭ εςʔλεมߋཁٻ NPDLىಈཁٻ ఆظతʹΠϯελϯεΛνΣοΫ͠ɺ ՔಈNPDL͕ͳ͚ΕΠϯελϯεΛআ͢Δ NPDLىಈ %PDLFSͰ݁߹ςετ WEB
Worker Cron Mock Aggregator CloudStorage
NPDLNPDLͷઃܭ NPDLͷਖ਼ମ Ϧιʔε֬อ γεςϜશମͷಈ࡞ NPDLNPDLͷ։ൃ
σόοά ຊͷ·ͱΊ ָ͍ͯͬ͠ͺ͍Ք͍͗ͨ ୯ҰόΠφϦʹΑΔϓϩηε ΩϟύγςΟ ϐλΰϥεΠον ͕ΜͬͯΔ %PDLFSͰϐλΰϥεΠον
5IBOLZPV NPDLNPDL ݕࡧ 無料枠もあるので使ってみてね!