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
0
150
5000台の仮想デバイスからAWS IoTにデータをガンガン送り付ける! IoTのテスト用仮想デバイス作成サービスmockmockの舞台裏
AWS Deep Night in 福岡
Keita Mohri
January 16, 2018
Tweet
Share
More Decks by Keita Mohri
See All by Keita Mohri
Excelを扱うRubyGemまとめ 2022
ktam1219
0
620
モクえもんのお時間です
ktam1219
0
200
在宅ワーク中だけど会社にしかGPSマルチユニットがない?でも大丈夫!そう、mockmockがあればね。
ktam1219
0
420
IoTデバイスの疑似データ送信システムにおける サーバーレスなログ処理機構の試行錯誤
ktam1219
0
600
実写版モクえもん in Explorer ~愛・おぼえていますか~
ktam1219
0
340
エンジニアのおしごと
ktam1219
0
150
mockmockの大量のログをいい感じに捌きたい
ktam1219
0
1.1k
Goで作る大量プロセス管理機構
ktam1219
2
3.6k
わりとゴツいKubernetesハンズオン そのあとに
ktam1219
0
660
Other Decks in Technology
See All in Technology
GPUをつかってベクトル検索を扱う手法のお話し~NVIDIA cuVSとCAGRA~
fshuhe
0
320
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
600
累計5000万DLサービスの裏側 – LINEマンガのKotlinで挑む大規模 Server-side ETLの最適化
ldf_tech
0
120
20251102 WordCamp Kansai 2025
chiilog
0
420
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
180
Azure Well-Architected Framework入門
tomokusaba
1
150
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
780
プロダクト開発と社内データ活用での、BI×AIの現在地 / Data_Findy
sansan_randd
1
740
251029 JAWS-UG AI/ML 退屈なことはQDevにやらせよう
otakensh
0
120
Okta Identity Governanceで実現する最小権限の原則
demaecan
0
230
進化する大規模言語モデル評価: Swallowプロジェクトにおける実践と知見
chokkan
PRO
3
420
GTC 2025 : 가속되고 있는 미래
inureyes
PRO
0
140
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
76
5.1k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Writing Fast Ruby
sferik
630
62k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
Facilitating Awesome Meetings
lara
57
6.6k
GraphQLとの向き合い方2022年版
quramy
49
14k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Producing Creativity
orderedlist
PRO
348
40k
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 ݕࡧ 無料枠もあるので使ってみてね!