Scaling your System for IoT

Just as the information technology revolution heralded the proliferation of PCs and the mobility revolution the growth of the smartphone, it is expected that the IOT (Internet of Things) revolution will herald the proliferation of smart connected devices.

 

Estimates vary as to the exact number, but most experts agree that over the next 10 years there will be billions of additional smart devices connected to the network. Consider the fact that each device will be generating data at regular intervals; this would result in data being generated at volumes unimaginable in previous eras.

The Need for Scale

As a central player in the processing of customer life cycle and usage data, the billing system needs to be able to handle and process large volumes of data in real time. This requires an architecture that is distributed in nature and designed for scale.

 

device scalability iot

Deployment Scalability

The amount of data throughput into an ERP (Enterprise Resource Planning) or billing system, does not stay constant over time. There are periods of high activity and periods when the system is essentially inactive. Usage from IoT sensors may be sporadic in nature.

 

Connectivity service providers might just upload an entire periods' worth of usage data in one shot, resulting in a spike in processing requirements to handle that burst. Once the data is processed, the system returns to steady state. This requires the system to scale elastically up and down to handle these times of high and low throughput.

 

Without elastic scaling, customers would be paying significantly extra on their cloud hosting costs.

 

Scalability in IoT

Horizontally Distribute the Load via Microservices and Queues

Besides vertical scaling, Enterprise systems also need to scale horizontally to distribute and parallelize their load over multiple queues.

 

Partitioning ERP systems into microservices is extremely scalable as each micro service can replicate itself to handle larger throughputs.

 

Aggregate Data to Minimize Usage Volumes

Sometimes significant data is generated where vertical and horizontal scaling may not be enough and more needs to be done.

 

Congestion over the network also needs to be considered in scenarios where large amounts of data are being sent from external devices into the system. In these scenarios it is important to aggregate the data so as to minimize the amount of usage records being processed. Aggregation is a complex topic and care needs to be taken during the aggregation process to ensure granular attributes specific to each individual record is not lost during aggregation.

 

usuage volumes iot

Leverage Enterprise Grade Database Technology

Solution evaluators rarely consider database technology when considering the impact of throughput. However, databases can very quickly become a bottleneck in the system and act as a throughput constraint.

 

Attributes such as fill factor and memory needs to be constantly optimized and fragmentation minimized through efficient indexing. Online indexing in particular can provide significant performance improvements on large scale deployments.

 

 Billing System Quote Russell Andrade

How We Can Help 

The EngageIP platform is designed in a modular fashion for deployment, cost and functional scalability.

 

Customers have a choice of multiple deployment options. The application is partitioned into a set of micro services and load is distributed evenly across multiple billing and rating threads.

 

Small database table sizes lead to less fragmentation and fast access times while the underlying databases are constantly monitored and optimized for performance.

 

See what EngageIP can do for you.

 

Want to Continue Learning?
The Challenges of Smart Billing for Periodic or Seasonal IoT Devices
Why State Based Pricing is Important in IoT
Building the Bottom Line with Usage Rating
Driving Profitability in the Connected Economy
Step-By-Step Guide to Selecting a Modern Billing Solution

 

 

About the author
Russell Andrade

Russell Andrade

Russell Andrade is responsible for Product Management at LogiSense. As Lead Product Manager, he shapes the vision and direction of the EngageIP Usage Rating and Billing Software. Prior to LogiSense, Russell was a Senior Product Manager at BlackBerry where he managed the Native Developer Ecosystem from concept to launch. Russell holds a Bachelor of Applied Science degree in Computer Engineering from the University of Toronto and is an accredited Professional Engineer.