Azure VS AWS: Selecting a Cloud Provider for your IoT Product
Written by Jason Choi, former Software Engineer at MistyWest
Companies starting design and development on new IoT products have often heard about how cloud providers such as Microsoft Azure and Amazon Web Services (AWS) can help deploy and rapidly scale their product. Because of this, one of the most frequently asked questions from MistyWest’s clients is “What cloud provider would you recommend we go with?”.
We’ve previously written about choosing between Azure or AWS for your IoT framework. Both Azure and AWS have been greatly expanding their services over the past years, so we’re taking a deeper dive in to see which cloud provider might be right for you for your new IoT product.
Considerations when choosing between Azure and AWS
From a technical perspective, you want to choose a cloud provider that not only fits your immediate needs, but scales easily with your business years down the road. As both Azure and AWS can easily support most of your functional and non-functional requirements, let’s take a step back and look at it from a high-level perspective first.
- If you have an existing partnership with either vendor, continuing with the same vendor could minimize system level integration issues
- If your company relies on Microsoft Suite, working with Azure may position you to leverage internal features you’d like to use, such as Azure File Storage
- If you’re planning an international expansion, it’s important to consider the region and availability zones of each provider per country. This post is a couple years old, but gives a great overview
Off the shelf, Azure and AWS both provide highly secure and scalable offerings. You’ll have access to certification based security, be able to transmit data bi-directionally, and easily manage the number of devices you have going. Additionally, you’ll be able to update the underlying containerized software with their Over The Air (OTA) updates — just like a Tesla!
Azure’s unique IoT offerings lie within its integration with the Windows OS, hardware specialization, and additional special security features.
- Microsoft tries to make all of its products Windows OS compatible; this includes their IoT stacks. Although it’s not common, if your IoT device is running a Windows OS, Azure provides ease of compatibility to their IoT Hub
- Azure’s IoT Sphere service is a specialized hardware chip and underlying firmware that provides users with a true end-to-end security experience. This may be useful for hardware devices that must be HIPAA compliant
- Azure supports the Advanced Message Queueing Protocol (AMQP). AMQP provides additional security at connect, supports peer to peer connection, is more extensible, and has many other great benefits
AWS provides customizability and a wider variety of tools than Azure, as well as a selection of analytics services that are tailored and designed to work with IoT Core and Greengrass.
- AWS’s latest IoT service, IoT TwinMaker takes the Digital Twin concept to a new level, where you can create a virtualization of your IoT world. Visually being able to see, navigate, and manage your solutions is now much easier
- Working with IoT Analytics to analyze your device data with Device Defender allows you to mitigate issues that were found in audit findings, where Azure will only monitor without mitigating issues
- AWS IoT Core and IoT Device Management services are HIPAA eligible services and can be HIPAA compliant.
- One unique thing about AWS’s IoT framework is the direct C++ device SDK. Although both Azure and AWS provide many common languages for SDK, and Azure works with .NET, AWS’s C++ support is more advanced
We’ve generated a list of criteria and respective scoring of how well we believe both AWS and Azure are doing based on these latest service offerings, which are outlined below in Figure 1. Based on any project I may be currently working on, I would weight the importance of each criterion, multiply by the score for the respective cloud provider, and sum up the score.
Let’s do a couple examples!
Use Case A: Developing a new medical device
Company A is creating a new medical device to be launched across North America and to several countries across Asia. Company A has worked with both AWS and Azure on a case-by-case basis and must determine which provider to go with for the new product, which must be HIPAA compliant. Due to recent security concerns for international expansion, the product will have additional in-house developed security measures. As the business case is still in an early stage, the product’s communication protocol must scale to potentially diverse regulations.
As seen in Figure 2, the recommended cloud provider should be Azure in order to potentially leverage their AMQP protocol and IoT Sphere service if necessary. The use of Azure IoT service here is a risk management strategy, and the tradeoff would be that the C++ device SDK is not official and a workaround will be needed.
Use Case B: Monitoring and diagnostics of equipment
Company B is opening up a new manufacturing company with state of the art machinery to build electric vehicles. To monitor and track the condition of all of its major hardware components, the company directly partnered up with robotic suppliers to integrate IoT health telemetry reporting. Company B’s prime success metric is the number of hours of operation and ability to predict when each equipment will fail and why. This will be translated into continuous real-time telemetry measurements, simulating scenarios with device telemetry, and being able to understand the cause of failures. The additional security will be handled via the network of the factory itself, and suppliers are flexible with both the device development languages and using MQTT protocol for its lightweight feature.
From Figure 3, Company B should go with an AWS based framework as it provides audit mitigation and off the shelf analytics, IoT Sitewise and IoT Analytics. The potential trade-off here is they would lose on the hardware integrated security.
A summary practitioner’s guide
Here are some questions you can ask yourself about your product’s development:
- As you will most likely get to deployment fastest by continuing the relationship, do you have any partnership or already use a product suite with Microsoft or AWS?
- Does either cloud provider have a specific offering that is critical for your product solution?
- Based on the evaluation matrix scoring breakdown and your technical requirements, do you foresee a feature from a particular provider that can heavily accelerate your development?
- Do you feel that the default criteria in the weighted evaluation matrix accurately represents your product?
Selecting the right cloud provider for your new IoT product is complicated but can be made easier with the more transparency you have onto your product roadmap. When you know what criteria are most important, you can understand the differences between the offerings and match them with the technical requirements of your product solution.