Bosch IoT and the Importance of Application-Driven Analytics

Jay Runkel

This post is also available in: 简体中文

For Kai Hackbarth and his team at Bosch, there exists the ability to bring real-time analytics into their applications that can handle lots and lots of data.

“Without data, it’s just trial and error.” So says Kai Hackbarth. He’s a senior technology evangelist at Bosch Global Software with over 22 years of industry experience in the Internet of Things. “Be it automotive, be it industrial, be it smart-home, we’ve done it all,” Hackbarth said. Except for tires. That’s his latest focus and technology challenge.

“Sounds maybe a bit simple,” Hackbarth said, “but if you think about it more deeply, [it’s really complex].”

Because, as it turns out, tires can collect a lot of different pieces of data that can tell a system a lot about what’s going on with a lot of different things related to the car at any given moment.

“Pressure, temperature, accelerometer,” Hackbarth said. “And then you also have other data from the car that’s critical for safety and sustainability.”

But to be of any value, that data needs to be analyzed as close to the source as possible and in real time. Why?

“It’s safety-critical,” Hackbarth said. “If you send all the raw data to the cloud this consumes a lot of costs.”

Chief among those costs: Time.

In order to react to an issue, that data cannot be historical. Because historical data about a tire that’s losing pressure or hydroplaning isn’t helpful to the applications inside the car that need to respond to these developments when they’re happening

And thankfully for Hackbarth and his team at Bosch, there exists the ability to bring real-time analytics into their applications that can handle lots and lots of data.

Smarter applications start with built-in analytics

Traditionally, applications and analytics have existed as two separate classes of workloads with different requirements, for example: read and write access patterns, as well as concurrency and latency. As a result, businesses have usually deployed purpose-built data stores — including both databases for applications and data warehouses for analytics — and piping or duplicating the data between them.

And that’s been fine when analytics don’t need to affect how an application responds in real time. But most customers expect applications to take intelligent actions in the moment, rather than after the fact.

The same principle applies to Bosch’s tire project. The applications inside the car that can autonomously brake when approaching another vehicle too fast or slow down if the tire senses that it’s hydroplaning, need to also analyze all the data from all the sensors in real time.

This process of building real-time analytics into applications is known as “application-driven analytics.” And it’s how applications get smarter. Be they e-commerce apps on your phone, safety apps in your car or those that monitor rocket launches.

The question for many development teams, though, is how do you build this capability into your applications easily? For a long time, that’s been a difficult question to answer.

A platform for building real-time analytics into your apps

“From my history [of doing this for] 22 years,” Hackbarth says, “we never had the capabilities to do this before.”

Previously, teams everywhere — not just at Bosch — used to have to do a lot of custom engineering work to do real-time analytics close to the source, including:

  • Stitching together multiple databases to handle different data structures (documents, tables, time series measurements, key values, graph), each accessed with its own unique query API.

  • Building ETL data pipelines to transform data into required analytics formats and tier it from the live database to lower-cost object storage.

  • Spinning up a federated query engine to work across each data tier, again using its own unique query API.

  • Integrating serverless functions to react to real-time data changes.

  • Standing up their own API layers to expose data to consuming applications.

All of which result in a multitude of operational and security models to deal with, a ton of data integration work and lots of data duplication.

But that’s no longer the case. There are now data platforms that bring together operational and analytical workloads into one, and that, in turn, allow you to bring live, operational data and real-time analysis together.

MongoDB Atlas — the platform with which I am most familiar (since I work at MongoDB) — allows developers to do this by providing an integrated set of data and application services that fit their workflows.

Developers can land data of any structure, index, query and analyze it in any way they want, and then archive it. And they can do all of this with a unified API and without having to build their own data pipelines or duplicate data.

This is the platform on which the Bosch team continues to build its solutions.

“Without data,” Hackbarth says, “it’s just trial and error.” But now with data and with a single platform to build real-time analytics into their applications, it’s something concrete, something responsive and something actionable. It’s something smart. Especially in the most critical of use cases that Bosch is working on. Like tires.

If you’d like to learn more about how to build application-driven analytics into your applications, check out our three-part livestream demo showing how to build application-driven analytical applications in MongoDB Atlas.

During this three-part series, we build real-time analytical capabilities for a simulated system for managing rocket launches.

  • Part One covers the basics: Building complex analytical queries using MongoDB’s aggregation framework and building visualizations using charts.

  • Part Two highlights some additional Atlas capabilities that are often invaluable when building app-driven analytics: Atlas search, triggers and embedding Charts generated visualizations into an application UI.

  • Part Three focuses on how to use Atlas Data Federation, Atlas Data Lake and Atlas SQL Interface to perform analytics using large sets of historical data and federated queries across multiple data sources.