all Technical posts

Microsoft is investing in IoT, how about you?

IoT is everywhere nowadays and it's here to stay - Almost everything is getting connected to the internet, even cows!

As of this year Codit now allows you to do more with your data and create your own Internet-of-Things (IoT) to optimize your business flows, fix before it breaks, predict costs and the like. We at Codit have invested a lot in IoT, some of it are already available on our blog and there is more to come.

However, we are not alone.

July 29th was the start of a new chapter for Microsoft – The release of Windows 10. This (last) version of Windows has a special SKU for IoT devices. Next to that Microsoft already offers a lot of services on Microsoft Azure that allow you to build out your IoT solutions in a scalable manner.

Let’s have a closer look at some of the things Microsoft invested in and what they offer.

Windows 10 on Devices

On March 18, 2015 Microsoft officially announced Windows 10 IoT, its SKU for a wide range of intelligent, connected IoT devices. It targets small devices like gateways up to powerful industry devices like robotics and specialty medical devices.

Windows 10 IoT is free for Makers and commercial device builders. Additional good news is that Microsoft partnered with the Raspberry Pi Foundation, Intel and Qualcomm to ensure their operating system works great on a range of developer boards:

  • Raspberry Pi 2
  • MinnowBoard MAX
  • Qualcomm DragonBoard 410c

Along with these physical devices, it’s also possible to interact with an Arduino via a Windows Remote Arduino library, or a Windows Virtual Shield for Arduino. Want more info? Look at the Getting Started page.

Windows 10 Insider Preview

Similar to the Insider Preview for Windows 10 desktop, the IoT SKU also had an Insider program. However, since the IoT SKU was released in parallel with the desktop, you can start experimenting today with the RTM bits, if you have a compatible board. Download the latest ISO on Microsoft IoT’s download page.

The developer story

One of the big promises of Windows 10 is its Universal Windows Platform. This allows you to write your code once and have the same binary deployed across all sorts of devices, ranging from your small IoT device up to the Xbox or Surface Hub.

How does this work in practice? Specific devices have specific functionalities. An Xbox has a controller, perhaps a Kinect. A phone might have hardware buttons. An IoT device might not have a display at all, but quite a lot of other sensors.

For this reason, extension SDKs exist. They provide APIs that allow you to interact with the device-specific features. For IoT devices there’s currently the Windows IoT Extension SDK, which you can reference if you’re building a Universal Windows App. Once it’s referenced, you can use these API’s to talk to the hardware. If you plan to run your app on other devices than IoT, you’ll need to do runtime checks to see if it supports the IoT extensions, otherwise an exception will be thrown. You do this via the ApiInformation.isTypePresent method.

So this allows you to develop for IoT devices, using the same APIs (networking, storage, etc…) as desktop apps (non-win32 apps), which should feel very familiar, and redurce your time to market.

Powering your Internet-of-Things with Microsoft Azure

Everyone who’s interested in Microsoft Azure knows that they are now shipping new features almost every week and staying on-track has almost become a job on its own. The new open Microsoft also reflects on Azure where they support several open-source technologies and contribute as they offer these services.

If we look at the past year from an IoT perspective we’ve seen a ton of new services that are now general available, in public preview or announced & in private preview :

  • Event Ingestion with Azure Event Hubs or use Azure IoT Hub with integrated device management
  • Near-real time processing with Azure Stream Analytics or Apache Storm on Azure HDInsight
  • Build your custom logic on Azure Service Fabric, a hyper-scale infrastructure
  • Use Apache HBase on Azure HDInsight or Azure Storage for long-term storage with Azure Data Lake on the horizon
  • Move your data around with Azure Data Factory
  • Run your Hadoop workloads in Azure VMs or managed by Azure HDInsight running on Linux or Windows or use Apache Spark instead, also running on Azure HDInsight
  • Train & score sample data against your trained models with Azure Machine Learning

Microsoft is using these services heavily internal as well. This means that some of these services are battle-tested and production ready. Some examples are Bing, Halo and Cortana, she’s performing 500 milion evaluations per second by using Azure Service Fabric.

Azure IoT Suite & Cortana Analytics Suite

Microsoft announced two “suites” that will offer a bundle of services that will help you in certain scenarios – Azure IoT Suite & Cortana Analytics Suite. Both of these suites are not available yet but are scheduled for this fall.

Azure IoT Suite

When you want to connect devices to the cloud in a secure way you have to do a lot of plumbing i.e. provision & manage devices, revoke device, support different protocols and the like. Azure IoT Suite introduces a new service called Azure IoT Hub that acts as a gateway and does all these things out of the box. If you want to know more about IoT Hub, you can watch this introduction session from //BUILD/. There will be support for Device-to-Cloud as well as Cloud-to-Device communication with open-source device agents to communicate with.

Cortana Analytics Suite

Cortana Analytics Suite is more data & analytics focused that provides a fully-managed analytics suite and is subscription-based. It will leverage tight integration between Azure Big Data services, Azure Machine Learning, Cortana & PowerBI. All the services that will be included are listed here.

North American Eagle is one of the reference cases that are using Cortana Analytics Suite to calculate where they can optimize in an attempt to break a world record.

They’ve blogged some additional customer references here.

Lead by example

Microsoft has also been doing a good job at giving examples of IoT scenarios and how you can develop your own IoT solution or what you should not do!

  • Clemens Vasters introduced Service Assisted Communication in a white paper which is a security pattern where he talks about possible security flaws and how a cloud gateway can help you. He also discussed this more deeply at //BUILD/ this year in his Azure IoT Security talk.
  • Connect the dots is an open-source project by Microsoft Open Technologies that show you several IoT scenarios and how you can build them. More information can be found here.
  • IoT Journey by Microsoft Patterns & Practices is also an open-source project where they are building a real-world solution with guidance on what options they have and why they prefer one over the other. You can follow them on GitHub or watch them on Channel 9.
  • Connected Cows is a real-world scenario where they have literally connected cows to the internet to predict when a cow is ready to mate. Watch how Joseph Sirosh walks through the whole scenario during Strata + Hadoop 2015.

Connected -cows

Conclusion

A lot has changed in the past year and I think with the Windows 10 (IoT) release, the newly released Azure services and suites on the way I think we can say – Microsoft is ready, how about you?

Want to stay up-to-dat? Feel free to subscribe to the Microsoft IoT blog!

Thanks for reading,

Sam & Tom

Subscribe to our RSS feed

Thanks, we've sent the link to your inbox

Invalid email address

Submit

Your download should start shortly!

Stay in Touch - Subscribe to Our Newsletter

Keep up to date with industry trends, events and the latest customer stories

Invalid email address

Submit

Great you’re on the list!