The biggest challenge of implementing IoT with Commerce, especially in user-facing setting, had been the security and scalability of the IoT solution; we needed a way to harden device configuration, ensure safe and secure communications between devices and the cloud, and ability to push updates to a device over the air. These basic security configurations were not available as a standard out of the box solution until now. With the public release of Azure Sphere earlier this year, the landscape of IoT has shifted. We can develop reliable and secure IoT Solutions using Azure Sphere with escalated security on the device, in transit, at rest, and over time(the key security feature, enabling over time and over air software and security updates). This truly creates a fully comprehensive and well-defined approach for handling secure applications in IoT without breaking the buck. Moreover, we can develop Sitecore integration with Azure IoT Sphere in a headless way using the same tools as we do for IoT. The integration for most would be a development of orchestration routines between Sitecore Experience Commerce and Azure Sphere OS App through SaaS components of Azure.
Microsoft’s comprehensive IoT Solutions has three core parts. The Microcontroller Unit(MCU) was developed by Microsoft and designed with security considerations from the ground up. The main objective of the Azure Sphere MCU is to establish a dependable hardware root of trust. The second and integral part of Azure Sphere System is Azure Sphere OS. This is the new and first none-Windows OS developed by Microsoft(as far as I know). Azure Sphere OS is based on the Linux kernel and designed to create a highly secure computing platform with support for patching and updates. The last core part of the platform is the Azure Sphere Security Service(AS3). The main purpose of this service is to provide remote device attestation and keep devices secure and updated in real-time and over the air.
IoT Applications are developed in C language using Visual Studio or Visual Studio Code on Windows or Linux (no official support for Mac OS yet) and can be targeted to Cortex-A7 or Cortex-M4 cores of Azure Sphere MCU. The A core supports high-level application development, with the main aim to broker certificate-based authenticated connectivity between devices and the cloud. The M cores support low-level application development on top of real-time operating system RTOS or bare metal, with the goal to deliver low latency communications between integrated peripherals with high-level applications.
Applications of IoT in Commerce are endless, from real-time inventory management to automated pantry replenishment systems to smart appliances and it’ll continue to grow, especially with the adoption of 5G technology. Sitecore is extremely well-positioned to take on this integration. Its headless capability allows for almost codeless integration with any IoT System.
Getting started with Sitecore Experience Commerce 9 and Azure Sphere is easy. All you need is a Sitecore XC9 installation, Azure Account, and a small budget to run the application in Azure.
- Creating Sitecore XC9 Headless order plugin: https://github.com/brodbor/HeadlessOrdering
- Creating Azure Sphere Inventory sensing solution using Ultrasonic sensor (best way to do contactless inventory sensing, but would require Azure Stream Analytics to cleanse sensor’s noise): https://github.com/brodbor/high_level_Azure_Sphere_IoT_ADC_input
- Create orchestration logic for Sitecore APIs using Azure Logic App: https://borisbrodsky.com/sitecore/orchestrating-sitecore-xc9-headless-ordering-using-azure-logic-app/
Azure Sphere IoT Solutions together with Sitecore Headless Experience Commerce is a perfect combination for building reliable, scalable, and secure IoT Commerce Solutions. My experience developing Azure Sphere with Sitecore, even though not for a client yet, was very positive and enjoyable. I certainly see wider adoption of Azure Sphere IoT Solution and Sitecore Experience Commerce by businesses in the next few years.