chapter 5.pptx: drainage and irrigation engineering
AWS IoT vs Azure IoT
1. AWS IoT
• AWS IoT is a fully managed platform for
building complete IoT solutions on AWS.
• Communication over HTTP(s), MQTT,
WebSockets
• Supports cloud-to-device and device-to-cloud
messaging
• Pricing is relatively straightforward
• Each device that connects with AWS as a
represented as a Device Shadow.
• AWS IoT comes with a declarative rules engine
3. Azure IoT
IoT Hub is Azure’s managed IoT solution for bi-
directional device to cloud communications.
• IoT Hub supports AMQP,
MQTT, and HTTP.
• IoT Hub comes in 4 tiers,
ranging from a free tier up to
the high throughput S3 tier
• Event Hubs is another option
for device-to-cloud scenarios
• Azure IoT can be used with
any type of device.
5. Similarities
Support of billions of
devices and messages.
Device shadow can be
implemented on both
platforms.
Connect devices with
each other and with web
services
7. Integration with other
services (e.g. machine
learning services)
1
Almost the same set of
supported platforms and
languages
2
The way of monitoring a
device’s state is the same.3
Both support
authentication
based on X.509
certificates
Allow to apply
routing to the
messages.
9. HTTPS, MQTT, AMQP
and it is possible to use
custom protocol via
Azure IoT protocol
Gateway
Mutual authentication
HTTP, HTTPS, MQTT
Server Authentication
Differences
Azure IoT
Protocols
Security
Protocols
Security
AWS IoT
10. Database
AWS IoT
Differences
• Azure IoT relational
database is SQL db
• For NoSQL, it has DocumentDB
• About data warehouse, Azure
has SQL DataWarehouse
• For table storage, Azure’s one is TableStorage
• Concerning caching, Azure uses
Azure Redis Cache
• Azure has SQL Database Migration
Wizard
• AWS IoT relational database
is RDS db
• For NoSQL AWS has DynamoDB
• AWS has Redshift as
data Warehouse service
• AWS is SimpleDB for table
storage
• AWS uses ElasticCache for
caching
• AWS has its SQL Database
Migration Service”
Azure IoT
11. Storage and content delivery
Analytics and Big data
Big data processing:
Azure has its “HDInsight”, Amazon
has Elastic MapReduce “EMR”
Data Orchestration:
Azure has “DataFactory” and AWS
has its own ‘Data Pipeline” For the case of object storage, Azure has
Blob Storage while Amazon has its famous
S3 services.
For content delivery, AWS has a service
called “CloudFront”, Azure has “Content
Delivery Network”
13. What about $$$? AWS IoT Pricing
Models Metering Pricing
Connectivity 1 minute increments
$0.08 per million minutes of
connection
Messaging
number of messages
transmitted between
your devices and AWS
IoT.
$1 per million messages, with
volume pricing falling as low as
$0.70 per million.
Rules Engine
each time a rule is
triggered
$0.15 per million rules-triggered and
$0.15 per million actions-executed
Device Shadow
& Registry
Updates
number of operations
to access or modify
Device Shadow or
Registry data
$1.25 per million operations
14. Crunching the numbers…
Usage AWS IoT Microsoft Azure IoT
Devices: 1000
Message Size: 8KB
Message Rate: 2 per minute
$183.60/month $250/month
Devices: 200
Message Size: 50KB
Message Rate: 2 per minute
$174.96/month $2500/month
Devices: 1000
Message Size: 4KB
Message Rate: 60 per minute
$2084.42/month $2500/month
15. Other technical comparisons
if you prefer working on open source platform if is better to go with AWS since it is
excellent for open source developers as it welcomes Linux users and offers several
integrations for different open source application
However if you use Hybrid cloud systems, it is preferred to choose Azure as it is open
to such systems unlike AWS that is less open to private or third party cloud providers
If you consider windows platform in most of your app designing, Azure will be easy to
use as it is a windows platform and it’s easy to integrate on-premises windows
servers with cloud instances to create a hybrid environment.
Azure Stack allows companies to run an Azure-like (or compliant) environment on their
own servers. Useful if you live in countries where there are some restrictions for public
clouds.
16. Technical comparisons (Security)
Multilevel security. for host operating systems,
virtual instances, and virtual guest OS, as well as
firewalls and API calls.
Isolation instances. Multiple guests can be
deployed on one machine given access to the
virtual data storage. It provides a high level of
security for each instance.
Security of the host OS. A multifactorial
authentication system is implemented for
administrative access to the host's management.
Firewall. By default, all firewall ports are closed.
This means that the customer himself must open
the ports for incoming traffic.
Guest OS security. For testing purposes
API access. API calls to start or interrupt
instances, change firewall settings, and other
functions are signed by a secret key (the Amazon
Secret Access Key)
All traffic are encrypted. Even simple commands
Management of certificates and private keys.
Certificates and keys are generated by a separate
mechanism, which is not available from the
application code. They are encrypted and stored in
a secret repository. Additional password protection
is available
Data access control. Each client's account
generates a secret key that provides access to the
vault tied to their account.
Isolation of hypervisor, host OS, and guest
virtual machines. Isolating client virtual machines
is critical for sharing disk space safely. The
hypervisor and the root OS are responsible for the
isolation of guest virtual machines.
Packet filtering. The hypervisor and the root OS
filter unsafe packet traffic
Azure IoTAWS IoT
17. Security in a nutshell
"AWS has the upper hand in security and alert managment ..."
~ threatstack.com
18. What to choose - cheatsheet
if (already using other AWS or Azure products) then => go for the related
IoT platform, integration is key;
else {
if (you need protocol that is not http nor mqtt) then => go for Azure,
you can implement custom protocols via its IoT protocol gateway;
if (you need ultra-massive volume) then => choose Azure for its pricing
cuts;
if (you need to run your own cloud servers) then => Azure allows you to
run an Azure-compliant environment;
else => go for AWS, it is generally cheaper, more secure and has a more
friendly UI;
};
19. Thank you
Ahmed Jalal - Artem Sauchuk - Damir Mukametkarim,
Gianluca Galli - Marawan Hassaan - Shany Guetta