The Internet of Things (IoT) presents many compelling opportunities for developers With the right tools and guidance, it doesn’t need to be intimidating. The conceptual and technical differences between IoT and traditional web and application are relatively easy to grasp. Plus, Microsoft offers a full range of managed services to make it even easier, while enabling you to experiment and scale. If your main skillset is in the Microsoft ecosystem, you can jump right in with Visual Studio Code, .NET, and Azure. If you prefer other languages and tools, our open-source SDKs will enable you to work with Azure solutions while staying in your comfort zone. Either way, you can get started quickly with our Azure IoT developer guide that will take you through common application patterns and tutorials that will have you up and running fast.
The IoT Application pattern
When it comes to knowing where to start, it can help to have a conceptual framework that organizes services and technologies in a logical way. We tend to think of IoT architecture as being divided into three main categories, each of which has considerations distinct from traditional development architectures:
- Things: The devices and sensors in the field that are collecting data, sending and receiving messages, and in many cases performing analytics and initiating actions. IoT solutions typically provide a means to provision, connect, secure, and manage things that can be difficult to access or have very low processing power.
- Insights: The useful information that can be gleaned from things, which can roughly be divided into device data (about the state of the device itself) and telemetry data (the measurements collected by the device, such as movement, temperature, location, and so on). The challenge with IoT insights is figuring out which data is useful and processing it at massive scales in real time.
- Actions: This is where you get actual value from IoT things and insights. You can think of actions as being divided into a “hot path” from real-time data and a “cold path” where data is stored for later analysis. Building a solution that enables you to deliver insights to the right endpoints and incorporate new ones as time goes on, this is critical to long-term value.
Starting from a simple framework like this can help you conceptualize what you need to get to a working solution. For example, when it comes to “things,” do you have devices in place already or are you going to buy or build them? How will you manage insights. That is, will your devices always be connected to the cloud, or do you need to support intermittent connectivity? Do you need real-time processing, or is it okay to send information to a data lake? And when planning actions, what are you hoping to achieve from a business standpoint? Do you need to show results in a dashboard, apply machine learning, trigger alerts, or something else?
The best way to get a sense of what you need is to get your hands dirty and build something. This can seem daunting from the outset, given that people routinely talk about millions of devices streaming terabytes of data. Luckily, with cloud-based managed services such as those offered by Azure IoT, you can start playing with IoT services quickly, easily, and without a large upfront capital investment. You can even try for free with an Azure free trial. Our IoT developer’s guide is a great place to start. It takes you through things, insights, and actions, mapping Azure IoT services to each level of IoT, and then provides a step-by-step plan for experimenting with live IoT capabilities using languages and tools of your choice. You might find that creating IoT solutions can not only be pretty straightforward, but also fun.