Azure Artificial Intelligence Services
Design for IoT
Design Messaging Solution Architectures
Design Media Service Solutions
The course is part of these learning pathsSee 1 more
This course is focused on creating practical solutions using Azure technologies in areas such as AI, messaging, the Internet of Things, and video media. This will require familiarity with dozens of Azure solutions.
This course will take you through all of the relevant technologies and ensure you know which ones to pick to solve specific problems. This course is for developers, engineering managers, and cloud architects looking to get a better understanding of Azure services.
Whether your app deals with artificial intelligence, managing IoT devices, video media, or push notifications for smartphones, Azure has an answer for every use case. This course will help you get the most out of your Azure account by preparing you to make use of many different solutions.
Design solutions using Azure AI technologies
Design solutions for IoT applications using Azure technologies
Create a scalable messaging infrastructure using Azure messaging technologies
- Design media solutions using Azure media technologies and file encoding
People who want to become Azure cloud architects
General knowledge of IT architecture
The third and last part of our section on Azure IoT services is really meant for reinforcement. We’re not really presenting anything new about the services we discussed in the last section. Rather we’re just going to briefly talk about what differentiates the services to help you understand when to favor one solution over another.
We’ll start with the more specialized technologies with narrower use-cases. This covers Azure Stream Analytics, Azure IoT Edge, and Azure Notification Hubs. Let’s begin with the last one. Notification Hubs, as the name implies, is for sending notifications to mobile devices. That’s basically it. Notification Hubs is a Push Engine and API for notifications. Azure Stream Analytics is your toolkit for real-time analytics on event streams. So if you are looking to gain some business insight on streams of data, that’s where to look. Finally, IoT Edge is for implementing data analysis and processing directly on your IoT devices. Basically it is a method for taking workloads off of your backend allowing you to send fewer messages back and forth.
So now we’re left with four key IoT services: Event Grid, Service Bus, Event Hubs, and IoT Hub. Now of these four, one of these things is not like the other. For the folks playing at home, that would be Azure Event Grid.
Event Grid is NOT an event ingestion or processing system. Rather it is middleware meant to help you create applications with an event-based architecture. It is designed to help connect sources of event data to different endpoints or event handlers. So for example it can take event data from Service Bus or IoT Hub and connect it to your Azure Functions to create a serverless application stack. So think of Event Grid as the glue that connects your event data and downstream applications.
So finally, the remaining three services, Azure IoT Hub, Azure Event Hubs, and Azure Service Bus. All three can be used for event ingestion and processing, so how do we know which one to use?
I think the easiest approach is to think of them in terms of decreasing levels of specialization. So, Azure Service Bus is the most general purpose of the three. It is a cloud messaging service that can be used not only for events but any sort of asynchronous FIFO messaging system. If you are not even thinking in terms of events Service Bus may be the place to start. It also is great when you need ACID guarantees, meaning you need real transactions that are durable and won’t get dropped. This is especially important when dealing with temporal transactions with things like finance or manufacturing.
From there we go to Azure Event Hubs, a more specialized service than Service Bus. This is really your event “on ramp” for your entire infrastructure. It is definitely Azure’s most cost-effective and performant event handling system at scale. IoT Hub, by contrast, is more expensive and specialized even more. IoT Hub is designed specifically for IoT workflows. It allows for greater control of bidirectional events between devices and your backend system.
So in short, if you need something specialized for IoT and don’t have to be super tight on budget, IoT Hub is the way to go. If you need a more generalized event handling system that is extremely robust and competitively priced, go with Event Hubs. If what you really need is messaging with transactions and durability, go with Service Bus.
So that should about cover it all. Hopefully, now you have a clear sense of which service is best for a variety of situations. This will help for technology professionals trying to design a solution using Azure. From here we will move on to section 3 and get into the magical world of messaging. See you there.
Jonathan Bethune is a senior technical consultant working with several companies including TopTal, BCG, and Instaclustr. He is an experienced devops specialist, data engineer, and software developer. Jonathan has spent years mastering the art of system automation with a variety of different cloud providers and tools. Before he became an engineer, Jonathan was a musician and teacher in New York City. Jonathan is based in Tokyo where he continues to work in technology and write for various publications in his free time.