The Intershop team just returned from the 2 day “Microsoft IoT und App Services“ Hackfest at the Microsoft Technology Center in Munich. Here a short summary of what we have achieved together with the Microsoft experts and how the architecture looks like.
Our goal was to setup a little “Product as a Service” showcase with a battery-powered hammer drill as example product. In this case the hammer drill is not bought, but subscribed for a monthly fee including a pay-as-you-use model. To make this work, the usage data must be metered and the power drill needs some sensors for drill load, voltage, battery charge, etc. We used an Arduino as IoT device to send the sensor data. We also collected additional data like temperature and humidity to use it later for the predictive maintenance part of the project. We wanted to filter out drills with batteries that will fail soon in order to send a replacement battery.
In order to achieve our goals, we could choose from the whole palette of Microsoft Azure services such as IoT Hub, Stream Analytics, Cosmos DB, Azure Storage, Machine Learning, Logic Apps, API Apps and Azure Functions. Great fun, here what we did with those services:
- the Arduino sends the sensor data as JSON to the Azure IoT Hub
- attached to the IoT Hub we used Time Series Insights to visualize the incoming events over time
- we used 3 Stream Analytics jobs to analyze the events
- one job sent the events straight to Power BI, quite convenient to create some business reports
- another job filtered all events by voltage to identify already defect batteries, the ids of the devices with failed batteries are stored in an Azure Blog Storage
- the 3rd stream job stores all events in Cosmos DB for later use for machine learning
- now it gets interesting, to trigger the reorder of a defect battery, we use a Logic App. A logic app is a little bit like an Intershop pipeline, you have triggers and actions that can be connected in flows.
- The logic app also contains a connector that calls an Azure function. Azure functions are a form of server-less computing and allow it to be very fast. No worry about anything, just pure code. Perfect for the Hackathon. We used it to extract the device id from the event and to find the right product and customer for ordering.
- To enable the easy plug&play connection with Intershop we created our own Intershop Order Connector that can place orders using Intershop’s REST API. This way it is extremely convenient to do API commerce with Intershop
The order can now be fulfilled by the Intershop Order Management and the replacement battery can be delivered. Primary mission objective completed.
To improve the customer experience, it is of course even better, if the replacement battery is delivered before the battery is defect. That is called predictive maintenance. For that, we used the Azure Machine Learning Services. First, the machine learning model must be built. We used the Azure ML Workbench for that. This is a cool tool that helps to create the optimal model for the problem. It supports training and testing of the model. The code runs in a docker container and can leverage the Azure infrastructure if large datasets need to be analyzed. We used logistic regression, because it is robust and fast, but ran a little out of time. However, we are looking forward to continue our work with some real-world data.
After all, two successful days with lot of fun and lot of food for thoughts. We are excited to further combine Intershop and Microsoft services to create awesome next generation commerce in the cloud.
Many thanks to the Microsoft team for the great support!