Microsoft’s Azure IoT platform is a key element of its cloud strategy, providing a link from your devices to the Azure compute and services platform. With it you can connect and manage thousands of devices, while taking advantage of cloud-scale storage and Azure’s machine-learning capabilities. It’s a platform that’s rapidly adding features and services, as well as supporting third-party software and hardware alongside Microsoft’s own tools.
Microsoft’s recent reorganisation has focused the company on CEO Satya Nadella’s “intelligent cloud and intelligent edge”. It’s a vision that’s a key to Azure’s IoT strategy, mixing the capabilities of the cloud with the ability to push functionality down to the edge of the network.
Using Azure IoT Edge you can move key IoT workloads from the cloud to edge devices, running code in containers and using edge devices as gateways to sensors and other IoT hardware. What’s most interesting is its ability to host Azure services, so you can use them without investing in expensive connectivity to remote sites. Hosted services include support for Azure Machine Learning (ML) via the AI Toolkit for IoT Edge, as well as Stream Analytics, Azure Functions, and of course your own code. Future releases of IoT Edge will add additional Cognitive Services, including Custom Vision. It’s also adding new security features, as well as management via Kubernetes.
The IOT Edge runtime has now been open sourced, allowing community input and the ability to go beyond Microsoft’s own set of use cases.
One aspect of the intelligent edge is embedding ML in devices, like the Qualcomm-powered smart camera announced at Build. It’s intended to host cloud-trained ML models, pushing computer vision to where it’s needed; on the production line and out on remote sites. You’ll build models using Azure’s tools, testing and proving them before pushing them, along with application code, onto cameras, ready to feed results into your Azure-hosted applications.
Cameras don’t need to be stationary, and Azure’s new partnership with DJI makes drones part of its edge. You’ll be able to use new APIs to deliver flight paths to drones, and stream imagery directly into Azure applications ready for processing. An on-stage demo used drone data to identify faults in a pipeline, applying real-time computer vision algorithms to data from the drone’s camera.
Modern cloud-based applications are best thought of as collections of event-driven microservices. If you’re using Azure’s IoT tools, you’ve probably looked at Event Grid and Functions as a way of building applications that can respond quickly to messages from your IoT devices. While these tools make it easy to process events, there’s not been any standard way of sourcing events and messages. You could use webhooks, but they’re limited in what information they can deliver, and your code needs to poll event sources.
Microsoft has worked with other companies to develop the specification for CloudEvents, a standard method of delivering events to listening applications and services. It’s now available for use in Event Grid, ready to implement in your sensors and other IoT devices.
How do we deliver a secure Internet of Things? It’s a question we’ve been asking since we first connected a coffeepot to the internet, way back in the 1990s. Now we’re trusting our homes and our businesses to untrustworthy networks, where they’re open to all manner of bad actors and malware. Is your webcam hosting a botnet? Is your lightbulb exfiltrating data from your office server? How can you tell, and more importantly, how can you make sure only trusted code runs on your hardware?
Last year Microsoft Research quietly unveiled a secure microcontroller, Project Sopris, and handed them out to white hat hackers with a hefty bug bounty managed by a third party. Could they steal a secret hidden on the controller? 60 days after the challenge began no-one had found an exploit in the Project Sopris hardware and software, even with the promise of a reward.
That research has now emerged on a much larger scale as Azure Sphere. A combination of silicon, a secure OS, and a cloud service, Azure Sphere takes the Project Sopris concepts and turns them into a product that’s ready to use.
All around Build you could see sample Azure Sphere hardware in action. Spektacom’s Smart Bat used it to receive data from sensors on a cricket bat, with a sensor sticker transmitting data about batting action to an Azure Sphere-powered “Stumpie”. Data from the bat is transmitted securely to the cloud, for training analysis or to provide new statistics for TV coverage. Then there was Starbucks, in a throwback to those first internet-connected devices, using an Azure Sphere board to control the blend in a coffee machine via a pair of wirelessly-connected IoT buttons.
Azure Sphere is an important part of Microsoft’s strategy. By securing the connection between, if not the devices at the edge, sensor hubs and the rest of your application, it’s providing more effective ways of managing both devices and services (especially when you’re using Azure IoT Hub as part of your management layer, with its support for device and module twins, as well as handling software updates).
Working from the silicon up, you get access to a new generation of microcontrollers with on-board trusted execution modules, the first of which is now available for pre-order. Available from Seeed, the MT3620 development board will cost around $90; with built-in WiFi and a multi-core ARM processor, mixing a Cortex A7 and two Cortex M4Fs. Security is handled by an isolated Cortex M4F which limits access to supported APIs and handles boot and systems operations.
The device OS, Azure Sphere OS, is a heavily modified Linux, with software development and debugging via Visual Studio. You’re able to use familiar programming tools and languages, with the Sphere trusted execution environment handling security without compromising your applications. Outside of the device, the Azure Sphere Security Service monitors both devices and your IoT network and services, in order to provide threat analysis and managing trust between the elements that make up your application.
With hardware available in the third quarter of 2018, and developers already using the first batch of microcontrollers in their applications, it’s clear that Azure Sphere is not just pie-in-the-sky. Microsoft is building on its Project Sopris research to deliver the secure IoT platform we need, if we’re to avoid another massive DDOS attack that’s powered by our devices.
Windows 10 IoT Core may not have had the limelight this year, but over on the showfloor Misty II was showing her paces. A crowdfunded educational robotics platform from some of the team behind Sphero (who created Star Wars’ BB-8), Misty is using Windows 10 IoT Core to power an extensible, programmable robotics platform with a suite of sensors, arms, and enough motive power to get it around the home or the classroom. An Arduino “backpack” lets you quickly add new hardware and capabilities, working with familiar programming languages or Misty’s own block-based visual programming tools.
If you’d like to talk more about systems modernisation, making the move to Azure, or Azure IoT, get in touch with Grey Matter’s technical experts: firstname.lastname@example.org