5 reasons why you will fail at scaling your internet of things system and how to prevent this from...
DESCRIPTION
Scaling an Internet of Things (IoT) system can be both a daunting and expensive task. PrismTech Solutions Architect, Sander Mertens, presents five common pitfalls with pointers to how these can be addressed in a cost effective way.TRANSCRIPT
5 reasons why you will fail at scaling your
IoT system.
Sander Mertens, Solutions Architect
(and how to prevent this from happening)
Reason 1: Data is not available everywhere, all the time.
IoT systems are inherently partitioned due to unreliable connectivity: internet, 3G, etc…
The CAP theorem states you cannot have your cake and eat it too.
you can only have two out of three…
Since we cannot get rid of the ‘P’ and don’t WANT to get rid of the ‘A’ …
Consistency will have to give!
Using strong Consistency everywhere will NOT scale because either: - The system won’t tolerate spotty connections (resulting in Partitioning) - The system will have low Availability
Therefore use eventual consistency where you can! It has been proven to be efficient and sufficient in many (business critical) large-scale IoT systems.
Reason 2: Discovery cripples the infrastructure.
<100 devices We’re doing great!
100 - 500 devices We’ll perform some tricks.
500 - 10000 devices We’ll throw more hardware at it.
10000 - 100000 devices We’ll throw dedicated expensive
hardware at it.
100000 - >1000000 devices Oh my…
Device discovery will bring your system to its knees if not managed properly.
Most COTS solutions are either ridiculously expensive or very static.
Check out Vortex Cloud - it tackles the discovery problem quite elegantly and runs on commodity hardware!
Reason 3: Single points of failure everywhere.
A service crashes… Oops. I just lost a critical
system component.
A service crashes… No problem. My data
is still there.
VS
Traditional service/message centric architectures such as CORBA/RMI/MQTT are either prone to failure or expensive to make fault tolerant …
… whilst with the right infrastructure data can be much more resilient
than services. Decoupling services from data invariably results in cheaper infrastructure, higher availability and increased fault-tolerance.
Modern technologies such as OMG-DDS support the data-centric paradigm in which data, not the service, is made a first-class citizen!
Service Centric
Data Centric
Reason 4: Bandwidth is wasted.
Nobody Cares.
My position is (3,3)!
My position is (2,2)!
My position is (1,1)!
Devices typically publish data at fixed frequencies, providing regular updates to a “cloud” or similar infrastructure.
More often than not, this data is not relevant all the time but is published
nonetheless. This can cause cellular bills to blow up and waste lots of bandwidth.
Take a look at how Vortex solves the bandwidth challenge! Its unique, elastic DDS based data-fabric causes your applications to only ever send data for which there is
interest, at the right rate.
Reason 5: Systems are too costly to evolve.
?
IoT systems must be able to survive in extremely competitive environments where innovation is continuous. However, unmanaged system-evolution results inevitably in
unmanageable complexity.
A new agile architecture is required to solve the problems that make traditional service centric systems hard to evolve. The data fabric provided by OMG-DDS
decouples services while providing graceful evolution of the data!
Want to learn more?
Check out the resource section of our website for live webcasts, whitepapers and more!
Thank You!