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
140
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
610
モクえもんのお時間です
ktam1219
0
190
在宅ワーク中だけど会社にしかGPSマルチユニットがない?でも大丈夫!そう、mockmockがあればね。
ktam1219
0
410
IoTデバイスの疑似データ送信システムにおける サーバーレスなログ処理機構の試行錯誤
ktam1219
0
590
実写版モクえもん in Explorer ~愛・おぼえていますか~
ktam1219
0
330
エンジニアのおしごと
ktam1219
0
150
mockmockの大量のログをいい感じに捌きたい
ktam1219
0
1.1k
Goで作る大量プロセス管理機構
ktam1219
2
3.6k
わりとゴツいKubernetesハンズオン そのあとに
ktam1219
0
650
Other Decks in Technology
See All in Technology
非エンジニアのあなたもできる&もうやってる!コンテキストエンジニアリング
findy_eventslides
3
910
自動テストのコストと向き合ってみた
qa
0
170
20250929_QaaS_vol20
mura_shin
0
110
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
1
250
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
1
330
JAZUG 15周年記念 × JAT「AI Agent開発者必見:"今"のOracle技術で拡張するAzure × OCIの共存アーキテクチャ」
shisyu_gaku
0
110
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
140
KMP の Swift export
kokihirokawa
0
330
OCI Network Firewall 概要
oracle4engineer
PRO
1
7.8k
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
7
2.4k
いま注目しているデータエンジニアリングの論点
ikkimiyazaki
0
590
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
1
360
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
460k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
GraphQLとの向き合い方2022年版
quramy
49
14k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Rails Girls Zürich Keynote
gr2m
95
14k
Thoughts on Productivity
jonyablonski
70
4.9k
Building Applications with DynamoDB
mza
96
6.6k
Balancing Empowerment & Direction
lara
4
680
Documentation Writing (for coders)
carmenintech
75
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 ݕࡧ 無料枠もあるので使ってみてね!