SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Data Distribution
                                 in the cloud with
                                      Node.js




Copyright Push Technology 2012
• British startup. Founded in 2006.

                                     • ‘Last mile’ data distribution specialist.

                                     • Data-centric approach to
                                       messaging/caching.

                                     • Preferred by 6 of the top 10 online
                                       eGaming exchanges.

                                     • Growing fast. 400% year on year.

                                     • Focus: Better bang for your bytes!



                                 Introducing Push Technology

Copyright Push Technology 2012
                                              Twitter: @push_technology
• Distributed Systems / HPC guy.

                                 • Chief Scientist :- at Push Technology

                                 • Alumnus of :-

                                    Motorola, IONA, Betfair, JPMC, StreamBase.

                                 • School: Trinity College Dublin.
                                   - BA (Mod). Comp. Sci.+
                                   - M.Sc. Networks & Distributed Systems

                                 • Responds to: Guinness, Whisky



                                                        About me?
Copyright Push Technology 2012
                                         Darach@PushTechnology.com
• Favorite language: Erlang
                                     • Favorite bits?
                                          • OTP – Behaviors
                                          • Bit Syntax

                                 • Least favorite language: Java
                                     • Paid to write this stuff
                                     • Love the JVM

                                 • Liking Node a lot.

                                 • Small fast data guy. I work in microseconds,
                                   measure in nanoseconds. On my critical path
                                   micro-benchmarking is a way of life.

                                                        About me?
Copyright Push Technology 2012
                                         Darach@PushTechnology.com
1st clean room certified JVM in 10
              years. Built in Dublin! It rocks.
                                  Tenant #1            Tenant #2           Tenant #N
                                 (Diffusion)          (Diffusion)          (Diffusion)



                                               Push Technology Diffusion



                                               Waratek Cloud VM for Java




      Benefits
      •   High density deployments
      •   Elastic. Scalable on demand
      •   Meterability: Bandwidth and compute utilization
      •   Multi-tenant. Each tenant fully isolated


Copyright Push Technology 2012
A US Cap Market second?
                   •   174 microseconds round trip
                       time rules out High
                       Frequency Trading
                       applications.

                       Not on the critical path!




                       Source: Me, former life
                       @StreamBase

                   •   http://slidesha.re/guZOVe
Data Distribution.
                                     Wat?




Copyright Push Technology 2012
Traditional Messaging
                                    A

                                    B
                                             ba

                                             bb



                                 Producers        ?                     Consumers




Pros                                                  Cons
• Loosely coupled.                                    • No data model. Slinging blobs
• All you can eat messaging patterns                  • Fast producer, slow consumer? Ouch.
• Familiar                                            • No data ‘smarts’. A blob is a blob.



Copyright Push Technology 2012
Invented yonks ago…
Before the InterWebs
For ‘reliable’ networks
For machine to machine
Remember DEC Message Queues?
- That basically. Vomit!




Copyright Push Technology 2012
When fallacies were simple

         -The network is reliable
         -Latency is zero
         -Bandwidth is infinite
         -There is one administrator
         -The network is secure
         -Transport cost is zero
         -The network is homogeneous




Copyright Push Technology 2012
Then in 1992, this happened:
The phrase ‘surfing the internet’ was coined by Jean Poly.

First base.




Copyright Push Technology 2012
It grew, and it grew




Copyright Push Technology 2012
Then in 2007, this happened:

The god phone:


Surfing died. Touching happened.

Second base unlocked.




Copyright Push Technology 2012
Then in 2007, this happened:
So we took all the things and put them in the internet:

Cloud happened.

So we could touch all the things.
                                                 Messaging
                                                 Apps
                                                 Hardware
                                                 Virtualize all the things
                                                 Services
                                                 Skills,
                                                 Specialties




Copyright Push Technology 2012
Then in 2009, this happened:
Ryan Dahl, basically.

Tyrannically asynchronous.

Devilishly event oriented.

Amazoidingly non-blocking.




Copyright Push Technology 2012
It grew, and it grew
Like all the good things do.




Copyright Push Technology 2012
Stop. Fallacies? Reality:
         -The network is not reliable
                   nor is it cost free.
         -Latency is not zero
                   nor is it a democracy.
         -Bandwidth is not infinite
                   nor predictable especially the last mile!
         -There is not only one administrator
                   trust, relationships are key
         -The network is not secure
                   nor is the data that flows through it
         -Transport cost is not zero
                   but what you don’t do is free
         -The network is not homogeneous
                   nor is it smart


Copyright Push Technology 2012
Look. What, How & Why?

         -What and How are what geeks do.
         -Why gets you paid
         -Business Value and Trust dictate What and How
         - Policies, Events and Content implements Business Value

         -Science basically. But think like a carpenter:

         -Measure twice. Cut once.




Copyright Push Technology 2012
The Problem: The bird, basically.

         Immediately Inconsistent.
         But, Eventually Consistent
         … Maybe.




Copyright Push Technology 2012
Listen.

         - Every nuance comes with a set of tradeoffs.
         - Choosing the right ones can be hard, but it pays off.
         - Context, Environment are critical
         - Break all the rules, one benchmark at a time.



         - Benchmark Driven Development FTW


Copyright Push Technology 2012
Act.

         - You measured twice, right?
         - So get cutting!
         - Simples




Copyright Push Technology 2012
Act. Telepathy? Telemetry!
                                 A

                                 B
                                       ba

                                       bb


                                             Buffer
                           Producers         Bloat
                                                                      Consumers




     Virtualize client queues? Nuance: ‘See’ backlog, client affinity. Tradeoff GD harder :/

Copyright Push Technology 2012
Act. Stateless or Stateful Topics
                                 A

                                 B
                                       ba   x


                                       bb   x




                           Producers
                                                 Is it a            Consumers
                                                cache?




     Data one hop closer to consumers. Good state? Touch it! Exploit it! Use it!

Copyright Push Technology 2012
Act. Finagle the data
                                 A

                                 B              Snapshot     Delta
                                       ba   x


                                       bb   x




                           Producers                State!           Consumers




     Last value cached. Tradeoff? Memory. Snapshot on subscribe. Deltas thereafter

Copyright Push Technology 2012
Act. ‘Smart data’


              A                  B    C     A      C        D


                                 t0                 t1




     Don’t repeat yourself. Send the changes, not the whole list after initial ‘snapshot’.

Copyright Push Technology 2012
Act. Behaviors
                                 A

                                 B
                                       ba   x


                                       bb   x

              X                                        The
                           Producers
                                                     topic is       Consumers
                                                        the
                                                      cloud!




     Extensible. Nuance? Roll your own protocols. Tradeoff? 3rd party code in the engine :/

Copyright Push Technology 2012
Data Distribution
Messaging remixed around:

Relevance                        -   Queue depth for conflatable data should be 0 or 1. No more

Responsiveness - Use HTTP/REST for things. Stream the little things

Timeliness                       -   It’s relative. M2M != M2H.

Context                          -   Packed binary, deltas mostly, snapshot on subscribe.

Environment-                         Don’t send 1M 1K events to a mobile phone with 0.5mbps.



Copyright Push Technology 2012
An Example

  Operations:>




   Tenants :>

                                 Gaming   Live Internet Apps   Finance   QA + Dev + UAT




Copyright Push Technology 2012
Either way?
It’s about the data.

Period.

The rest (analysis, storage, transformation) is sugar.




Copyright Push Technology 2012
Sugar? Streams


                                               w w          S
                                                                     C           Q
                                               w w




                                 Stream Operations
                                 •   Mapping. Change/enrich the data structurally.
                                 •   Aggregation. A ‘window of’ data. Eg. A seconds worth.
                                 •   Splitting & Filtering
                                 •   Combining multiple streams. Eg. Temporal pattern matching
                                 •   Access/Store. Eg: CRUD, variable, file, …

Copyright Push Technology 2012
Sugar? Streams



                                               w w          S
                                                                      C          Q
                                               w w




                                 Stream Operations
                                 •   Mapping. Just a function call in Node.js
                                 •   Aggregation. A ‘window of’ data. Eg. A seconds worth.
                                 •   Splitting & Filtering. An expression or a set thereof.
                                 •   Combining multiple streams. It depends. Can be ‘complex’
                                 •   Access/Store. Trivial.

Copyright Push Technology 2012
Embedded Event
                                  Processing with
                                     Node.js.
                                   eep.js




Copyright Push Technology 2012
Introducing eep.js



                                               w w          S
                                                                     C          Q
                                               w w




                                 What is eep.js?
                                 •   Add aggregate functions and window operations to Node.js
                                 •   4 window types: tumbling, sliding, periodic, monotonic
                                 •   Node makes evented IO easy. So just add windows.
                                 •   Fast. 8-40 million events per second (upper bound).


Copyright Push Technology 2012
eep.js: Tumbling Windows
                    x()        x()        x()        x()
                                                                    emit()


                                                              x()    x()     x()       x()          emit()
                   1           2          3              4
                                                                                              x()     x()    x()   x()
                                                                                                                               emit()
                                                             2      3        4          5
init()


                                                                                             2       3       4     5
                                                init()


                                                                                   init()


                   t0          t1         t2         t3      t4     t5       t6         t7   t8      t9      t10   t11   ...

                                                What is a tumbling window?
                                                •   Every N events, give me an average of the last N events
                                                •   Does not overlap windows
                                                •   ‘Closing’ a window, ‘Emits’ a result (the average)
                                                •   Closing a window, Opens a new window

         Copyright Push Technology 2012
eep.js: Aggregate Functions




                                 What is an aggregate function?
                                 •   A function that computes values over events.
                                 •   The cost of calculations are ammortized per event
                                 •   Just follow the above recipe
                                 •   Example: Aggregate 2M events (equity prices), send to GPU
                                     on emit, receive 2M options put/call prices as a result.
Copyright Push Technology 2012
meh: Fumbling Windows




Copyright Push Technology 2012
Lesser Fumbling Windows




Copyright Push Technology 2012
Event Windows, tumbling.




Copyright Push Technology 2012
eep.js: Sliding Windows
init()


               1            2             3         4      5            ..    ..     ..     ..

         x()                1             2         3      4            ..    ..     ..     ..

                      x()                 1         2      3            ..    ..     ..     ..

                                    x()             1      2            ..    ..     ..     ..


             t0          t1           t2           t3     t4    t5     t6     t7     t8    t9     t10   t11      ...
                                              What is a sliding window?
                                              •   Like tumbling, except can overlap. But O(N2), Keep N small.
                                              •   Every event opens a new window.
                                              •   After N events, every subsequent event emits a result.
                                              •   Like all windows, cost of calculation ammortized over events

   Copyright Push Technology 2012
Event Windows, sliding.




Copyright Push Technology 2012
eep.js: Periodic Windows

                   x()        x()   x()        x()
                                                                  emit()


                                                            x()    x()     x()       x()              emit()
                 1            2     3              4
                                                                                                x()     x()    x()   x()
                                                                                                                                      emit()
                                                            2     3        4          5
init()


                                                                                                2      3       4     5
                                          init()


                                                                                 init()


            t0                                         t1                                  t2                              t3   ...
                                    What is a periodic window?
                                     • Driven by ‘wall clock time’ in milliseconds
                                     • Not monotonic, natch. Beware of NTP

   Copyright Push Technology 2012
Event Windows, periodic.




Copyright Push Technology 2012
eep.js: Monotonic Windows
                                                             my                                   my                               my


                    x()        x()        x()        x()
                                                                         emit()


                                                                   x()    x()     x()       x()               emit()
                   1           2          3              4
                                                                                                        x()     x()    x()   x()
                                                                                                                                              emit()
                                                                   2     3        4          5
init()


                                                                                                        2      3       4     5
                                                init()


                                                                                        init()


              t0                                              t1                                   t2                              t3   ...
                                                What is a monotonic window?
                                                • Driven mad by ‘wall clock time’? Need a logical clock?
                                                • No worries. Provide your own clock! Eg. Vector clock

         Copyright Push Technology 2012
Event Windows, monotonic.




Copyright Push Technology 2012
Event Windows, monotonic.




Copyright Push Technology 2012
Event Windows, monotonic.




Copyright Push Technology 2012
eep.js
Embedded Event Processing:

•      Simple to use. Aggregates Functions and Windowed event processing.

•      Get it from GitHub/npm soon. Use it. Fork it.

•      Fast. CEP engines typically handle ~250K/sec.

•      For small N (most common) is 34x - 200x faster than commercial CEP engines.

•      But, at a small price. Simple. No multi-dimensional, infinite or predicate windows

•      Reduces a flood of events into a few in near real time

•      Can handle 8-40 million events per second (max, on my laptop). YMMV.

•      Combinators may be added. [Ugh, if I need combinators]



Copyright Push Technology 2012
Le Performance?

              100



               10

Millions                                                                                                                   Java Tumbling
Events                                                                                                                     Java Sliding
                1
  per
Second                   2         4    8   16   32   64      128     256        512   1024   2048   4096   8192   16384   Node Tumbling
                                                                                                                           Node Sliding
              0.1



             0.01



            0.001
                                                           Window Size [Fixed]




       Copyright Push Technology 2012
Performance? In perspective
•      A 1 producer, 1 consumer lock-free wait-free full duplex queue implementation on
       a 2.3GHz intel Sandybridge can:

     •       Distribute ~300M events between hyperthreads per second

     •       Distribute ~50M events between two hardware threads on two cores on the same physical die

     •        Distributed ~30M events between two hardware threads on two cores on separate physical dies

     •       You can, with a fully lock-free wait-free system (and you bypass the operating system
             kernel), maybe, ~1M 1K events/second

     •       There’s no point being capable of > 30M events/second on a thread if you’re going over a wire.

     •       So, 8-40 million events/second in node is a pleasant sufficiency

     •       It’s not the algorithm. It’s the mechanical sympathy, stoopid!

     •       Lock free wait-free concurrency is easier than lock based concurrency. Try it.




Copyright Push Technology 2012
• Thank you for listening

                                 • Thank you for having me

                                 • Thank you Push for the beer budget

                                 • Le twitter: @darachennis

                                 • Expect eep.js in GitHub soon

                                 • I’ll hashtag it #nodedublin

                                 • Thank you @Waratek geeks.



                                                        About me?
Copyright Push Technology 2012
                                         Darach@PushTechnology.com

Weitere ähnliche Inhalte

Was ist angesagt?

Anywhere, anytime, any place - embrace the Martini Principle
Anywhere, anytime, any place - embrace the Martini PrincipleAnywhere, anytime, any place - embrace the Martini Principle
Anywhere, anytime, any place - embrace the Martini PrincipleHarold Teunissen
 
Hp Fortify Mobile Application Security
Hp Fortify Mobile Application SecurityHp Fortify Mobile Application Security
Hp Fortify Mobile Application SecurityEd Wong
 
Capture is Powerful - Harvey Spencer presentation to AIIM Ottawa Event Oct 27...
Capture is Powerful - Harvey Spencer presentation to AIIM Ottawa Event Oct 27...Capture is Powerful - Harvey Spencer presentation to AIIM Ottawa Event Oct 27...
Capture is Powerful - Harvey Spencer presentation to AIIM Ottawa Event Oct 27...Cheryl McKinnon
 
SoftLayer Presentation at Stifel Nicolaus Event Feb 10 2011 vfinal
SoftLayer Presentation at Stifel Nicolaus Event Feb 10 2011 vfinalSoftLayer Presentation at Stifel Nicolaus Event Feb 10 2011 vfinal
SoftLayer Presentation at Stifel Nicolaus Event Feb 10 2011 vfinalSoftLayer Technologies
 
WebSocket - Enabling Technology for Dynamic Web Applications
WebSocket - Enabling Technology for Dynamic Web ApplicationsWebSocket - Enabling Technology for Dynamic Web Applications
WebSocket - Enabling Technology for Dynamic Web ApplicationsBergmans Mechatronics LLC
 
Managing content in_a_mobile_world
Managing content in_a_mobile_worldManaging content in_a_mobile_world
Managing content in_a_mobile_worldQuestexConf
 
HP Storage Works -Clemes Esser
HP Storage Works -Clemes EsserHP Storage Works -Clemes Esser
HP Storage Works -Clemes EsserHPDutchWorld
 
1st day 3 - agility vs risk
1st day   3 - agility vs risk1st day   3 - agility vs risk
1st day 3 - agility vs riskLilian Schaffer
 
Adding intelligence to your dcim solution rf code
Adding intelligence to your dcim solution rf codeAdding intelligence to your dcim solution rf code
Adding intelligence to your dcim solution rf codeAFCOM
 
SKALI On The Cloud
SKALI On The CloudSKALI On The Cloud
SKALI On The CloudSKALI Group
 
Bi ecm a_shotgun_wedding
Bi ecm a_shotgun_weddingBi ecm a_shotgun_wedding
Bi ecm a_shotgun_weddingQuestexConf
 
RTMFP Overview for IETF77
RTMFP Overview for IETF77RTMFP Overview for IETF77
RTMFP Overview for IETF77stoem
 
Ecm mythbusters the_real_story_behind_vendor_marketing
Ecm mythbusters the_real_story_behind_vendor_marketingEcm mythbusters the_real_story_behind_vendor_marketing
Ecm mythbusters the_real_story_behind_vendor_marketingQuestexConf
 
TAUS Scotland Asia Online Technology Platform V1
TAUS Scotland  Asia Online Technology Platform   V1TAUS Scotland  Asia Online Technology Platform   V1
TAUS Scotland Asia Online Technology Platform V1Kirti Vashee
 
AWS Partner Presentation - Riverbed
AWS Partner Presentation - RiverbedAWS Partner Presentation - Riverbed
AWS Partner Presentation - RiverbedAmazon Web Services
 
A Foundation for Success in the Information Economy
A Foundation for Success in the Information EconomyA Foundation for Success in the Information Economy
A Foundation for Success in the Information EconomyInside Analysis
 
Etendez votre datacenter avec aws v4
Etendez votre datacenter avec aws v4Etendez votre datacenter avec aws v4
Etendez votre datacenter avec aws v4Amazon Web Services
 

Was ist angesagt? (20)

Anywhere, anytime, any place - embrace the Martini Principle
Anywhere, anytime, any place - embrace the Martini PrincipleAnywhere, anytime, any place - embrace the Martini Principle
Anywhere, anytime, any place - embrace the Martini Principle
 
Hp Fortify Mobile Application Security
Hp Fortify Mobile Application SecurityHp Fortify Mobile Application Security
Hp Fortify Mobile Application Security
 
Capture is Powerful - Harvey Spencer presentation to AIIM Ottawa Event Oct 27...
Capture is Powerful - Harvey Spencer presentation to AIIM Ottawa Event Oct 27...Capture is Powerful - Harvey Spencer presentation to AIIM Ottawa Event Oct 27...
Capture is Powerful - Harvey Spencer presentation to AIIM Ottawa Event Oct 27...
 
OMG DDS Interoperability Demo 2009
OMG DDS Interoperability Demo 2009OMG DDS Interoperability Demo 2009
OMG DDS Interoperability Demo 2009
 
SoftLayer Presentation at Stifel Nicolaus Event Feb 10 2011 vfinal
SoftLayer Presentation at Stifel Nicolaus Event Feb 10 2011 vfinalSoftLayer Presentation at Stifel Nicolaus Event Feb 10 2011 vfinal
SoftLayer Presentation at Stifel Nicolaus Event Feb 10 2011 vfinal
 
WebSocket - Enabling Technology for Dynamic Web Applications
WebSocket - Enabling Technology for Dynamic Web ApplicationsWebSocket - Enabling Technology for Dynamic Web Applications
WebSocket - Enabling Technology for Dynamic Web Applications
 
Managing content in_a_mobile_world
Managing content in_a_mobile_worldManaging content in_a_mobile_world
Managing content in_a_mobile_world
 
HP Storage Works -Clemes Esser
HP Storage Works -Clemes EsserHP Storage Works -Clemes Esser
HP Storage Works -Clemes Esser
 
1st day 3 - agility vs risk
1st day   3 - agility vs risk1st day   3 - agility vs risk
1st day 3 - agility vs risk
 
Adding intelligence to your dcim solution rf code
Adding intelligence to your dcim solution rf codeAdding intelligence to your dcim solution rf code
Adding intelligence to your dcim solution rf code
 
SKALI On The Cloud
SKALI On The CloudSKALI On The Cloud
SKALI On The Cloud
 
Bi ecm a_shotgun_wedding
Bi ecm a_shotgun_weddingBi ecm a_shotgun_wedding
Bi ecm a_shotgun_wedding
 
RTMFP Overview for IETF77
RTMFP Overview for IETF77RTMFP Overview for IETF77
RTMFP Overview for IETF77
 
Ecm mythbusters the_real_story_behind_vendor_marketing
Ecm mythbusters the_real_story_behind_vendor_marketingEcm mythbusters the_real_story_behind_vendor_marketing
Ecm mythbusters the_real_story_behind_vendor_marketing
 
TAUS Scotland Asia Online Technology Platform V1
TAUS Scotland  Asia Online Technology Platform   V1TAUS Scotland  Asia Online Technology Platform   V1
TAUS Scotland Asia Online Technology Platform V1
 
AWS Partner Presentation - Riverbed
AWS Partner Presentation - RiverbedAWS Partner Presentation - Riverbed
AWS Partner Presentation - Riverbed
 
A Foundation for Success in the Information Economy
A Foundation for Success in the Information EconomyA Foundation for Success in the Information Economy
A Foundation for Success in the Information Economy
 
End-to-End and IPv6
End-to-End and IPv6End-to-End and IPv6
End-to-End and IPv6
 
Etendez votre datacenter avec aws v4
Etendez votre datacenter avec aws v4Etendez votre datacenter avec aws v4
Etendez votre datacenter avec aws v4
 
Tom Krcha - Future of Flash
Tom Krcha - Future of FlashTom Krcha - Future of Flash
Tom Krcha - Future of Flash
 

Andere mochten auch

IOT introduction
IOT introductionIOT introduction
IOT introductionxinoe
 
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...Tomek Borek
 
Alfresco benchmark report_bl100093
Alfresco benchmark report_bl100093Alfresco benchmark report_bl100093
Alfresco benchmark report_bl100093ECNU
 
Building Internet-scale Applications
Building Internet-scale ApplicationsBuilding Internet-scale Applications
Building Internet-scale ApplicationsGaveen Prabhasara
 
Content Strategy: The Keys Unlocking Scalable Marketing Content
Content Strategy: The Keys Unlocking Scalable Marketing ContentContent Strategy: The Keys Unlocking Scalable Marketing Content
Content Strategy: The Keys Unlocking Scalable Marketing ContentBuddy Scalera
 
Consumer Trends in Automotive Industry
Consumer Trends in Automotive IndustryConsumer Trends in Automotive Industry
Consumer Trends in Automotive IndustryKannan karthik
 
Continuous delivery for databases
Continuous delivery for databasesContinuous delivery for databases
Continuous delivery for databasesDevOpsGroup
 
Low Power Wireless Technologies and Standards for the Internet of Things
Low Power Wireless Technologies and Standards for the Internet of ThingsLow Power Wireless Technologies and Standards for the Internet of Things
Low Power Wireless Technologies and Standards for the Internet of ThingsDuncan Purves
 
Organic Electronic Materials
Organic Electronic MaterialsOrganic Electronic Materials
Organic Electronic Materialsguest8e7624
 
Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...Amazon Web Services
 
UI for Big Data Visualization | Jonathan Stray | UX Week 2012
UI for Big Data Visualization | Jonathan Stray | UX Week 2012UI for Big Data Visualization | Jonathan Stray | UX Week 2012
UI for Big Data Visualization | Jonathan Stray | UX Week 2012Adaptive Path
 
Air car or air engine
Air car or air engineAir car or air engine
Air car or air engineGaurav saraf
 
Low Power Wireless Sensor Network Technologies and Standards for the Internet...
Low Power Wireless Sensor Network Technologies and Standards for the Internet...Low Power Wireless Sensor Network Technologies and Standards for the Internet...
Low Power Wireless Sensor Network Technologies and Standards for the Internet...Duncan Purves
 
V2G State of the art technology
V2G State of the art technologyV2G State of the art technology
V2G State of the art technologyMarco Tognoli
 
Nokia Morph Technology
Nokia Morph TechnologyNokia Morph Technology
Nokia Morph TechnologyNishanth Nrs
 
Satellite Telephony Security
Satellite Telephony SecuritySatellite Telephony Security
Satellite Telephony SecurityJim Geovedi
 
Microelectronics pill
Microelectronics pillMicroelectronics pill
Microelectronics pillTycon Ranjan
 

Andere mochten auch (20)

IOT introduction
IOT introductionIOT introduction
IOT introduction
 
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
 
Alfresco benchmark report_bl100093
Alfresco benchmark report_bl100093Alfresco benchmark report_bl100093
Alfresco benchmark report_bl100093
 
Building Internet-scale Applications
Building Internet-scale ApplicationsBuilding Internet-scale Applications
Building Internet-scale Applications
 
Content Strategy: The Keys Unlocking Scalable Marketing Content
Content Strategy: The Keys Unlocking Scalable Marketing ContentContent Strategy: The Keys Unlocking Scalable Marketing Content
Content Strategy: The Keys Unlocking Scalable Marketing Content
 
Consumer Trends in Automotive Industry
Consumer Trends in Automotive IndustryConsumer Trends in Automotive Industry
Consumer Trends in Automotive Industry
 
BBC DMI Data Model
BBC DMI Data ModelBBC DMI Data Model
BBC DMI Data Model
 
Continuous delivery for databases
Continuous delivery for databasesContinuous delivery for databases
Continuous delivery for databases
 
Low Power Wireless Technologies and Standards for the Internet of Things
Low Power Wireless Technologies and Standards for the Internet of ThingsLow Power Wireless Technologies and Standards for the Internet of Things
Low Power Wireless Technologies and Standards for the Internet of Things
 
Organic Electronic Materials
Organic Electronic MaterialsOrganic Electronic Materials
Organic Electronic Materials
 
Air powered car
Air powered carAir powered car
Air powered car
 
Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...
 
UI for Big Data Visualization | Jonathan Stray | UX Week 2012
UI for Big Data Visualization | Jonathan Stray | UX Week 2012UI for Big Data Visualization | Jonathan Stray | UX Week 2012
UI for Big Data Visualization | Jonathan Stray | UX Week 2012
 
Air car
Air carAir car
Air car
 
Air car or air engine
Air car or air engineAir car or air engine
Air car or air engine
 
Low Power Wireless Sensor Network Technologies and Standards for the Internet...
Low Power Wireless Sensor Network Technologies and Standards for the Internet...Low Power Wireless Sensor Network Technologies and Standards for the Internet...
Low Power Wireless Sensor Network Technologies and Standards for the Internet...
 
V2G State of the art technology
V2G State of the art technologyV2G State of the art technology
V2G State of the art technology
 
Nokia Morph Technology
Nokia Morph TechnologyNokia Morph Technology
Nokia Morph Technology
 
Satellite Telephony Security
Satellite Telephony SecuritySatellite Telephony Security
Satellite Telephony Security
 
Microelectronics pill
Microelectronics pillMicroelectronics pill
Microelectronics pill
 

Ähnlich wie Data distribution in the cloud with Node.js

Cloud Security - Cloud Arena - Tim Willoughby
Cloud Security - Cloud Arena - Tim WilloughbyCloud Security - Cloud Arena - Tim Willoughby
Cloud Security - Cloud Arena - Tim WilloughbyTim Willoughby
 
Huawei - Mobile Networking evolved
Huawei - Mobile Networking evolvedHuawei - Mobile Networking evolved
Huawei - Mobile Networking evolvedJeremie Tisseau
 
Is your business NBN ready? – Developing a Digital Business Strategy: VELG Na...
Is your business NBN ready? – Developing a Digital Business Strategy: VELG Na...Is your business NBN ready? – Developing a Digital Business Strategy: VELG Na...
Is your business NBN ready? – Developing a Digital Business Strategy: VELG Na...Vanguard Visions
 
Getting your business ready for the NBN - Salisbury/Modbury Digital Enterprise
Getting your business ready for the NBN - Salisbury/Modbury Digital EnterpriseGetting your business ready for the NBN - Salisbury/Modbury Digital Enterprise
Getting your business ready for the NBN - Salisbury/Modbury Digital EnterpriseVanguard Visions
 
Getting your business ready for the National Broadband Network (NBN )
Getting your business ready for the National Broadband Network (NBN )Getting your business ready for the National Broadband Network (NBN )
Getting your business ready for the National Broadband Network (NBN )Digital Enterprise Program
 
AICPA Leadership Retreat - Technology
AICPA Leadership Retreat - TechnologyAICPA Leadership Retreat - Technology
AICPA Leadership Retreat - TechnologyASAE
 
Evaluating Approaches to Building DPI into an LTE Network at the PDN Gateway ...
Evaluating Approaches to Building DPI into an LTE Network at the PDN Gateway ...Evaluating Approaches to Building DPI into an LTE Network at the PDN Gateway ...
Evaluating Approaches to Building DPI into an LTE Network at the PDN Gateway ...Continuous Computing
 
Cloud Opportunities for Local Governmen
Cloud Opportunities for Local GovernmenCloud Opportunities for Local Governmen
Cloud Opportunities for Local GovernmenTim Willoughby
 
Being a mobile entrepreneur
Being a mobile entrepreneurBeing a mobile entrepreneur
Being a mobile entrepreneurgetsocialize
 
P2P - Real Time Communications in the Enterprise
P2P - Real Time Communications in the EnterpriseP2P - Real Time Communications in the Enterprise
P2P - Real Time Communications in the EnterpriseMead Eblan
 
Smarter Test Automation for Web & Mobile Apps
Smarter Test Automation for Web & Mobile AppsSmarter Test Automation for Web & Mobile Apps
Smarter Test Automation for Web & Mobile AppsKeao Caindec
 
2012: The Tipping Point of Broad Scale Cloud Deployment
2012: The Tipping Point of Broad Scale Cloud Deployment2012: The Tipping Point of Broad Scale Cloud Deployment
2012: The Tipping Point of Broad Scale Cloud DeploymentOpen Data Center Alliance
 
Ixia anue maximum roi from your existing toolsets
Ixia anue   maximum roi from your existing toolsetsIxia anue   maximum roi from your existing toolsets
Ixia anue maximum roi from your existing toolsetsresponsedatacomms
 
Ixia anue maximum roi from your existing toolsets
Ixia anue   maximum roi from your existing toolsetsIxia anue   maximum roi from your existing toolsets
Ixia anue maximum roi from your existing toolsetsresponsedatacomms
 
How to deliver rich, real-time apps - AppsWorld 2014
How to deliver rich, real-time apps - AppsWorld 2014How to deliver rich, real-time apps - AppsWorld 2014
How to deliver rich, real-time apps - AppsWorld 2014Andy Piper
 
The Essentials of Mobile App Performance Testing and Monitoring
The Essentials of Mobile App Performance Testing and MonitoringThe Essentials of Mobile App Performance Testing and Monitoring
The Essentials of Mobile App Performance Testing and MonitoringCorrelsense
 
7 Lessons from Mozilla
7 Lessons from Mozilla7 Lessons from Mozilla
7 Lessons from MozillaJohn Lilly
 
LTE-Traffic Management & Monetization
LTE-Traffic Management & MonetizationLTE-Traffic Management & Monetization
LTE-Traffic Management & MonetizationContinuous Computing
 
Mobile Real-time Physical and Web Interactions
Mobile Real-time Physical and Web InteractionsMobile Real-time Physical and Web Interactions
Mobile Real-time Physical and Web InteractionsCarlos Enrique Ortiz
 

Ähnlich wie Data distribution in the cloud with Node.js (20)

Cloud Security - Cloud Arena - Tim Willoughby
Cloud Security - Cloud Arena - Tim WilloughbyCloud Security - Cloud Arena - Tim Willoughby
Cloud Security - Cloud Arena - Tim Willoughby
 
Huawei - Mobile Networking evolved
Huawei - Mobile Networking evolvedHuawei - Mobile Networking evolved
Huawei - Mobile Networking evolved
 
Is your business NBN ready? – Developing a Digital Business Strategy: VELG Na...
Is your business NBN ready? – Developing a Digital Business Strategy: VELG Na...Is your business NBN ready? – Developing a Digital Business Strategy: VELG Na...
Is your business NBN ready? – Developing a Digital Business Strategy: VELG Na...
 
Getting your business ready for the NBN - Salisbury/Modbury Digital Enterprise
Getting your business ready for the NBN - Salisbury/Modbury Digital EnterpriseGetting your business ready for the NBN - Salisbury/Modbury Digital Enterprise
Getting your business ready for the NBN - Salisbury/Modbury Digital Enterprise
 
Getting your business ready for the National Broadband Network (NBN )
Getting your business ready for the National Broadband Network (NBN )Getting your business ready for the National Broadband Network (NBN )
Getting your business ready for the National Broadband Network (NBN )
 
AICPA Leadership Retreat - Technology
AICPA Leadership Retreat - TechnologyAICPA Leadership Retreat - Technology
AICPA Leadership Retreat - Technology
 
Evaluating Approaches to Building DPI into an LTE Network at the PDN Gateway ...
Evaluating Approaches to Building DPI into an LTE Network at the PDN Gateway ...Evaluating Approaches to Building DPI into an LTE Network at the PDN Gateway ...
Evaluating Approaches to Building DPI into an LTE Network at the PDN Gateway ...
 
Cloud Opportunities for Local Governmen
Cloud Opportunities for Local GovernmenCloud Opportunities for Local Governmen
Cloud Opportunities for Local Governmen
 
Being a mobile entrepreneur
Being a mobile entrepreneurBeing a mobile entrepreneur
Being a mobile entrepreneur
 
P2P - Real Time Communications in the Enterprise
P2P - Real Time Communications in the EnterpriseP2P - Real Time Communications in the Enterprise
P2P - Real Time Communications in the Enterprise
 
Smarter Test Automation for Web & Mobile Apps
Smarter Test Automation for Web & Mobile AppsSmarter Test Automation for Web & Mobile Apps
Smarter Test Automation for Web & Mobile Apps
 
2012: The Tipping Point of Broad Scale Cloud Deployment
2012: The Tipping Point of Broad Scale Cloud Deployment2012: The Tipping Point of Broad Scale Cloud Deployment
2012: The Tipping Point of Broad Scale Cloud Deployment
 
Telco survival
Telco survivalTelco survival
Telco survival
 
Ixia anue maximum roi from your existing toolsets
Ixia anue   maximum roi from your existing toolsetsIxia anue   maximum roi from your existing toolsets
Ixia anue maximum roi from your existing toolsets
 
Ixia anue maximum roi from your existing toolsets
Ixia anue   maximum roi from your existing toolsetsIxia anue   maximum roi from your existing toolsets
Ixia anue maximum roi from your existing toolsets
 
How to deliver rich, real-time apps - AppsWorld 2014
How to deliver rich, real-time apps - AppsWorld 2014How to deliver rich, real-time apps - AppsWorld 2014
How to deliver rich, real-time apps - AppsWorld 2014
 
The Essentials of Mobile App Performance Testing and Monitoring
The Essentials of Mobile App Performance Testing and MonitoringThe Essentials of Mobile App Performance Testing and Monitoring
The Essentials of Mobile App Performance Testing and Monitoring
 
7 Lessons from Mozilla
7 Lessons from Mozilla7 Lessons from Mozilla
7 Lessons from Mozilla
 
LTE-Traffic Management & Monetization
LTE-Traffic Management & MonetizationLTE-Traffic Management & Monetization
LTE-Traffic Management & Monetization
 
Mobile Real-time Physical and Web Interactions
Mobile Real-time Physical and Web InteractionsMobile Real-time Physical and Web Interactions
Mobile Real-time Physical and Web Interactions
 

Mehr von darach

Thing. An unexpected journey. Devoxx UK 2014
Thing. An unexpected journey. Devoxx UK 2014Thing. An unexpected journey. Devoxx UK 2014
Thing. An unexpected journey. Devoxx UK 2014darach
 
FunctionalJS - May 2014 - Streams
FunctionalJS - May 2014 - StreamsFunctionalJS - May 2014 - Streams
FunctionalJS - May 2014 - Streamsdarach
 
Deconstructing Lambda
Deconstructing LambdaDeconstructing Lambda
Deconstructing Lambdadarach
 
Streams and Things
Streams and ThingsStreams and Things
Streams and Thingsdarach
 
Big Data, Mob Scale.
Big Data, Mob Scale.Big Data, Mob Scale.
Big Data, Mob Scale.darach
 
Meta Programming with Streams and Pipes
Meta Programming with Streams and PipesMeta Programming with Streams and Pipes
Meta Programming with Streams and Pipesdarach
 
Erlang/Sapiens
Erlang/SapiensErlang/Sapiens
Erlang/Sapiensdarach
 
QCON London 2013
QCON London 2013QCON London 2013
QCON London 2013darach
 
EFL Munich - February 2013 - "Conversational Big Data with Erlang"
EFL Munich - February 2013 - "Conversational Big Data with Erlang"EFL Munich - February 2013 - "Conversational Big Data with Erlang"
EFL Munich - February 2013 - "Conversational Big Data with Erlang"darach
 
Streamy, Pipy, Analyticy
Streamy, Pipy, AnalyticyStreamy, Pipy, Analyticy
Streamy, Pipy, Analyticydarach
 
Tech mesh london 2012
Tech mesh london 2012Tech mesh london 2012
Tech mesh london 2012darach
 
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011darach
 

Mehr von darach (12)

Thing. An unexpected journey. Devoxx UK 2014
Thing. An unexpected journey. Devoxx UK 2014Thing. An unexpected journey. Devoxx UK 2014
Thing. An unexpected journey. Devoxx UK 2014
 
FunctionalJS - May 2014 - Streams
FunctionalJS - May 2014 - StreamsFunctionalJS - May 2014 - Streams
FunctionalJS - May 2014 - Streams
 
Deconstructing Lambda
Deconstructing LambdaDeconstructing Lambda
Deconstructing Lambda
 
Streams and Things
Streams and ThingsStreams and Things
Streams and Things
 
Big Data, Mob Scale.
Big Data, Mob Scale.Big Data, Mob Scale.
Big Data, Mob Scale.
 
Meta Programming with Streams and Pipes
Meta Programming with Streams and PipesMeta Programming with Streams and Pipes
Meta Programming with Streams and Pipes
 
Erlang/Sapiens
Erlang/SapiensErlang/Sapiens
Erlang/Sapiens
 
QCON London 2013
QCON London 2013QCON London 2013
QCON London 2013
 
EFL Munich - February 2013 - "Conversational Big Data with Erlang"
EFL Munich - February 2013 - "Conversational Big Data with Erlang"EFL Munich - February 2013 - "Conversational Big Data with Erlang"
EFL Munich - February 2013 - "Conversational Big Data with Erlang"
 
Streamy, Pipy, Analyticy
Streamy, Pipy, AnalyticyStreamy, Pipy, Analyticy
Streamy, Pipy, Analyticy
 
Tech mesh london 2012
Tech mesh london 2012Tech mesh london 2012
Tech mesh london 2012
 
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
 

Kürzlich hochgeladen

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Kürzlich hochgeladen (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

Data distribution in the cloud with Node.js

  • 1. Data Distribution in the cloud with Node.js Copyright Push Technology 2012
  • 2. • British startup. Founded in 2006. • ‘Last mile’ data distribution specialist. • Data-centric approach to messaging/caching. • Preferred by 6 of the top 10 online eGaming exchanges. • Growing fast. 400% year on year. • Focus: Better bang for your bytes! Introducing Push Technology Copyright Push Technology 2012 Twitter: @push_technology
  • 3. • Distributed Systems / HPC guy. • Chief Scientist :- at Push Technology • Alumnus of :- Motorola, IONA, Betfair, JPMC, StreamBase. • School: Trinity College Dublin. - BA (Mod). Comp. Sci.+ - M.Sc. Networks & Distributed Systems • Responds to: Guinness, Whisky About me? Copyright Push Technology 2012 Darach@PushTechnology.com
  • 4. • Favorite language: Erlang • Favorite bits? • OTP – Behaviors • Bit Syntax • Least favorite language: Java • Paid to write this stuff • Love the JVM • Liking Node a lot. • Small fast data guy. I work in microseconds, measure in nanoseconds. On my critical path micro-benchmarking is a way of life. About me? Copyright Push Technology 2012 Darach@PushTechnology.com
  • 5. 1st clean room certified JVM in 10 years. Built in Dublin! It rocks. Tenant #1 Tenant #2 Tenant #N (Diffusion) (Diffusion) (Diffusion) Push Technology Diffusion Waratek Cloud VM for Java Benefits • High density deployments • Elastic. Scalable on demand • Meterability: Bandwidth and compute utilization • Multi-tenant. Each tenant fully isolated Copyright Push Technology 2012
  • 6. A US Cap Market second? • 174 microseconds round trip time rules out High Frequency Trading applications. Not on the critical path! Source: Me, former life @StreamBase • http://slidesha.re/guZOVe
  • 7. Data Distribution. Wat? Copyright Push Technology 2012
  • 8. Traditional Messaging A B ba bb Producers ? Consumers Pros Cons • Loosely coupled. • No data model. Slinging blobs • All you can eat messaging patterns • Fast producer, slow consumer? Ouch. • Familiar • No data ‘smarts’. A blob is a blob. Copyright Push Technology 2012
  • 9. Invented yonks ago… Before the InterWebs For ‘reliable’ networks For machine to machine Remember DEC Message Queues? - That basically. Vomit! Copyright Push Technology 2012
  • 10. When fallacies were simple -The network is reliable -Latency is zero -Bandwidth is infinite -There is one administrator -The network is secure -Transport cost is zero -The network is homogeneous Copyright Push Technology 2012
  • 11. Then in 1992, this happened: The phrase ‘surfing the internet’ was coined by Jean Poly. First base. Copyright Push Technology 2012
  • 12. It grew, and it grew Copyright Push Technology 2012
  • 13. Then in 2007, this happened: The god phone: Surfing died. Touching happened. Second base unlocked. Copyright Push Technology 2012
  • 14. Then in 2007, this happened: So we took all the things and put them in the internet: Cloud happened. So we could touch all the things. Messaging Apps Hardware Virtualize all the things Services Skills, Specialties Copyright Push Technology 2012
  • 15. Then in 2009, this happened: Ryan Dahl, basically. Tyrannically asynchronous. Devilishly event oriented. Amazoidingly non-blocking. Copyright Push Technology 2012
  • 16. It grew, and it grew Like all the good things do. Copyright Push Technology 2012
  • 17. Stop. Fallacies? Reality: -The network is not reliable nor is it cost free. -Latency is not zero nor is it a democracy. -Bandwidth is not infinite nor predictable especially the last mile! -There is not only one administrator trust, relationships are key -The network is not secure nor is the data that flows through it -Transport cost is not zero but what you don’t do is free -The network is not homogeneous nor is it smart Copyright Push Technology 2012
  • 18. Look. What, How & Why? -What and How are what geeks do. -Why gets you paid -Business Value and Trust dictate What and How - Policies, Events and Content implements Business Value -Science basically. But think like a carpenter: -Measure twice. Cut once. Copyright Push Technology 2012
  • 19. The Problem: The bird, basically. Immediately Inconsistent. But, Eventually Consistent … Maybe. Copyright Push Technology 2012
  • 20. Listen. - Every nuance comes with a set of tradeoffs. - Choosing the right ones can be hard, but it pays off. - Context, Environment are critical - Break all the rules, one benchmark at a time. - Benchmark Driven Development FTW Copyright Push Technology 2012
  • 21. Act. - You measured twice, right? - So get cutting! - Simples Copyright Push Technology 2012
  • 22. Act. Telepathy? Telemetry! A B ba bb Buffer Producers Bloat Consumers Virtualize client queues? Nuance: ‘See’ backlog, client affinity. Tradeoff GD harder :/ Copyright Push Technology 2012
  • 23. Act. Stateless or Stateful Topics A B ba x bb x Producers Is it a Consumers cache? Data one hop closer to consumers. Good state? Touch it! Exploit it! Use it! Copyright Push Technology 2012
  • 24. Act. Finagle the data A B Snapshot Delta ba x bb x Producers State! Consumers Last value cached. Tradeoff? Memory. Snapshot on subscribe. Deltas thereafter Copyright Push Technology 2012
  • 25. Act. ‘Smart data’ A B C A C D t0 t1 Don’t repeat yourself. Send the changes, not the whole list after initial ‘snapshot’. Copyright Push Technology 2012
  • 26. Act. Behaviors A B ba x bb x X The Producers topic is Consumers the cloud! Extensible. Nuance? Roll your own protocols. Tradeoff? 3rd party code in the engine :/ Copyright Push Technology 2012
  • 27. Data Distribution Messaging remixed around: Relevance - Queue depth for conflatable data should be 0 or 1. No more Responsiveness - Use HTTP/REST for things. Stream the little things Timeliness - It’s relative. M2M != M2H. Context - Packed binary, deltas mostly, snapshot on subscribe. Environment- Don’t send 1M 1K events to a mobile phone with 0.5mbps. Copyright Push Technology 2012
  • 28. An Example Operations:> Tenants :> Gaming Live Internet Apps Finance QA + Dev + UAT Copyright Push Technology 2012
  • 29. Either way? It’s about the data. Period. The rest (analysis, storage, transformation) is sugar. Copyright Push Technology 2012
  • 30. Sugar? Streams w w S C Q w w Stream Operations • Mapping. Change/enrich the data structurally. • Aggregation. A ‘window of’ data. Eg. A seconds worth. • Splitting & Filtering • Combining multiple streams. Eg. Temporal pattern matching • Access/Store. Eg: CRUD, variable, file, … Copyright Push Technology 2012
  • 31. Sugar? Streams w w S C Q w w Stream Operations • Mapping. Just a function call in Node.js • Aggregation. A ‘window of’ data. Eg. A seconds worth. • Splitting & Filtering. An expression or a set thereof. • Combining multiple streams. It depends. Can be ‘complex’ • Access/Store. Trivial. Copyright Push Technology 2012
  • 32. Embedded Event Processing with Node.js. eep.js Copyright Push Technology 2012
  • 33. Introducing eep.js w w S C Q w w What is eep.js? • Add aggregate functions and window operations to Node.js • 4 window types: tumbling, sliding, periodic, monotonic • Node makes evented IO easy. So just add windows. • Fast. 8-40 million events per second (upper bound). Copyright Push Technology 2012
  • 34. eep.js: Tumbling Windows x() x() x() x() emit() x() x() x() x() emit() 1 2 3 4 x() x() x() x() emit() 2 3 4 5 init() 2 3 4 5 init() init() t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 ... What is a tumbling window? • Every N events, give me an average of the last N events • Does not overlap windows • ‘Closing’ a window, ‘Emits’ a result (the average) • Closing a window, Opens a new window Copyright Push Technology 2012
  • 35. eep.js: Aggregate Functions What is an aggregate function? • A function that computes values over events. • The cost of calculations are ammortized per event • Just follow the above recipe • Example: Aggregate 2M events (equity prices), send to GPU on emit, receive 2M options put/call prices as a result. Copyright Push Technology 2012
  • 36. meh: Fumbling Windows Copyright Push Technology 2012
  • 37. Lesser Fumbling Windows Copyright Push Technology 2012
  • 38. Event Windows, tumbling. Copyright Push Technology 2012
  • 39. eep.js: Sliding Windows init() 1 2 3 4 5 .. .. .. .. x() 1 2 3 4 .. .. .. .. x() 1 2 3 .. .. .. .. x() 1 2 .. .. .. .. t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 ... What is a sliding window? • Like tumbling, except can overlap. But O(N2), Keep N small. • Every event opens a new window. • After N events, every subsequent event emits a result. • Like all windows, cost of calculation ammortized over events Copyright Push Technology 2012
  • 40. Event Windows, sliding. Copyright Push Technology 2012
  • 41. eep.js: Periodic Windows x() x() x() x() emit() x() x() x() x() emit() 1 2 3 4 x() x() x() x() emit() 2 3 4 5 init() 2 3 4 5 init() init() t0 t1 t2 t3 ... What is a periodic window? • Driven by ‘wall clock time’ in milliseconds • Not monotonic, natch. Beware of NTP Copyright Push Technology 2012
  • 42. Event Windows, periodic. Copyright Push Technology 2012
  • 43. eep.js: Monotonic Windows my my my x() x() x() x() emit() x() x() x() x() emit() 1 2 3 4 x() x() x() x() emit() 2 3 4 5 init() 2 3 4 5 init() init() t0 t1 t2 t3 ... What is a monotonic window? • Driven mad by ‘wall clock time’? Need a logical clock? • No worries. Provide your own clock! Eg. Vector clock Copyright Push Technology 2012
  • 44. Event Windows, monotonic. Copyright Push Technology 2012
  • 45. Event Windows, monotonic. Copyright Push Technology 2012
  • 46. Event Windows, monotonic. Copyright Push Technology 2012
  • 47. eep.js Embedded Event Processing: • Simple to use. Aggregates Functions and Windowed event processing. • Get it from GitHub/npm soon. Use it. Fork it. • Fast. CEP engines typically handle ~250K/sec. • For small N (most common) is 34x - 200x faster than commercial CEP engines. • But, at a small price. Simple. No multi-dimensional, infinite or predicate windows • Reduces a flood of events into a few in near real time • Can handle 8-40 million events per second (max, on my laptop). YMMV. • Combinators may be added. [Ugh, if I need combinators] Copyright Push Technology 2012
  • 48. Le Performance? 100 10 Millions Java Tumbling Events Java Sliding 1 per Second 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 Node Tumbling Node Sliding 0.1 0.01 0.001 Window Size [Fixed] Copyright Push Technology 2012
  • 49. Performance? In perspective • A 1 producer, 1 consumer lock-free wait-free full duplex queue implementation on a 2.3GHz intel Sandybridge can: • Distribute ~300M events between hyperthreads per second • Distribute ~50M events between two hardware threads on two cores on the same physical die • Distributed ~30M events between two hardware threads on two cores on separate physical dies • You can, with a fully lock-free wait-free system (and you bypass the operating system kernel), maybe, ~1M 1K events/second • There’s no point being capable of > 30M events/second on a thread if you’re going over a wire. • So, 8-40 million events/second in node is a pleasant sufficiency • It’s not the algorithm. It’s the mechanical sympathy, stoopid! • Lock free wait-free concurrency is easier than lock based concurrency. Try it. Copyright Push Technology 2012
  • 50. • Thank you for listening • Thank you for having me • Thank you Push for the beer budget • Le twitter: @darachennis • Expect eep.js in GitHub soon • I’ll hashtag it #nodedublin • Thank you @Waratek geeks. About me? Copyright Push Technology 2012 Darach@PushTechnology.com

Hinweis der Redaktion

  1. Surfing the internet coined by Jean Poly
  2. Abstractio
  3. Abstractio
  4. Abstractio
  5. Abstractio
  6. Abstractio
  7. Abstractio
  8. Abstractio