The concept of mobile backend was very impressive in 2012. However, with the entry of over 30 companies in the last couple of years, the market not only became crowded but also fragmented. Today, MBaaS has almost become a commodity for mobile developers. The market consists of pure play MBaaS players, traditional MADP and MEAP companies, PaaS vendors, and API management companies. A closer look at each of these offerings reveals that there is very little differentiation among these players.
With almost every platform company adding a façade that claims to be a mobile backend, how can serious MBaaS companies differentiate themselves? What is the future of mobile backends?
The growing interest in Internet of Things among enterprises is a welcome sign. The proliferation of low-cost sensors, emerging standards, and networking protocols is accelerating IoT momentum in verticals such as healthcare, manufacturing and retail. Technically speaking, data generated by the sensors is not very different from existing mobile devices. However, the velocity is much higher than that of mobile devices. Enterprises need a framework and a platform that becomes the backbone for IoT. Enterprise MBaaS platforms are logically the best candidates to support IoT use cases. They already have the core building blocks in the form of data stores, authentication, identity, and notification. However, what they lack is a set of features that are essential for enterprise IoT scenarios.
Here are six features that transform MBaaS platforms into IoT backends. By no means, this is the most exhaustive list but an attempt to highlight the key capabilities of an IoT platform.
With the explosion of mobile applications, every website wanted to join the app bandwagon. REST was a perfect protocol for programmatic access from the apps. Today, REST is almost the gold standard for web and mobile applications. But, unfortunately, industrial IoT does not have the luxury to use a request / response protocols like REST and SOAP. They run on extremely low bandwidth, restricted power, and fragile communication backbone based on RF and satellite. The processors running within the environment rely on fewer computational cycles operating at 1/10 of the processing power of latest smartphones. These devices need a pub / sub protocol that is far more efficient and reliable than REST.
Message Queuing Telemetry Transport or MQTT is designed as a simple, lightweight publish/subscribe protocol meant for machine-to-machine (M2M) communication. With MQTT, devices need not poll a resource for updates. Instead, they subscribe to interesting topics and get a notification when an event takes place.
Constrained Application Protocol (CoAP) is another preferred protocol used in electronic devices to communicate interactively over the Internet. It can be easily translated to HTTP for integration with the web.
MBaaS providers should support MQTT, CoAP, XMPP and other M2M protocols to support IoT scenarios.
Real-time Ingestion and Streaming Service
Unlike mobile apps, sensors generate datasets at a far higher frequency. Some of them generate millions of events per second. The data needs to be captured and collected as it is generated. IoT backends should enable developers to query the streams as they are ingested. This scenario is very different from running SQL queries on persisted data. The queries run on a constant stream of data within a specified time window even before they are committed to a database. For example, by querying the temperature and pressure values streamed by sensors in a cylinder filling plant, make it possible to avert an accident. It may be too late for running the queries after the data is committed to the database. The ability to ingest and query streaming data originating from the sensors is an essential part of IoT backend.
Real-time event processing
This service is an extension of real-time data ingestion. It empowers developers to take actions based on events. Also known as complex event processing (CEP), this service identifies meaningful events and responds to them as quickly as possible. Microservices are the best candidates for event processing. They can be dynamically invoked when an event is raised by the real-time streaming service. Developers can write generic code snippets that are wired to the events at runtime. Many MBaaS providers already support hosting and invoking code snippets. They need to take that feature to the next level by enabling developers to connect events dynamically with the code.
One of the biggest challenges of developing IoT solutions is dealing with electronics, microcontrollers, sensors, switches, and actuators. Software developers not familiar with electronics find tinkering with the hardware intimidating. Enabling developers to simulate an environment before assembling the actual circuitry gives them confidence. IoT backends should offer customizable simulations of sensors and data formats for developers to jumpstart their prototyping.
Time Series Database
MBaaS platforms offer schema-less, NoSQL databases to store semi-structured data. The datasets generated by sensors require a time series database that is optimized to handle arrays of values indexed by time. These databases make it easy to track and analyze time-sensitive data.
Apart from RDBMS and NoSQL databases, IoT backends need to offer time series database optimized for dealing with sensor data.
So, it is time for the MBaaS companies to go beyond mobility and embrace Internet of everything.
This article was written by Janakiram MSV from Forbes and was legally licensed through the NewsCred publisher network.