Azure Features for Startups
For my cloud service that I founded I decided to use Windows Azure as my cloud platform of choice. The service I created with my partner staxmanade is called Resgrid, and it’s a cloud based service for first responder organizations to manage personnel, units, departments and logistics.
My primary reason for choosing Azure was the price, coupled with BizSpark Program I have almost no out of pocket expenses for Azure for the first 3 years.
My secondary reason was my existing familiarity with the Microsoft development stack, but given the wide range of support for non-MS technologies I probably would have still chosen Azure based on the price.
My third reason, was the massive feature set that Azure provides. In one place I can get PaaS, IaaS, Mobile Support, Database, ESB and much more.
I found this original table on http://www.theworkflowelement.com/2013/02/feature-comparison-azure-and-amazon-from-10000-feet.html, really nice compilation of what Azure has compared to AWS. Their table was a little old, so I updated a little but with some Jan 1 2014 information.
All credit goes to TheWorkFlowElement for the initial table. This is by no means complete, but just a quick overview of what Azure offers and why it’s another reason I feel it’s good for startups needs to keep provider creep to a minimum.
Compute |
Azure |
Amazon |
PaaS |
Cloud Services |
N/A |
|
Websites |
N/A |
Mobile Services | ||
IaaS |
Virtual Machines |
EC2 Reserved Instance |
N/A |
EC2 Spot Instance |
|
CPU Cores Capacity |
Shared core – 8 cores |
1 core – 32 cores |
Memory Capacity |
768 MB – 56 GB |
1.7 GB – 244 GB |
GPU Support |
N/A |
2 GPU |
Local Storage Capacity |
20 GB – 999 GB *>9TB supported by Blob storage |
160 GB – 48 TB |
SSD Storage Support |
No |
Yes |
Operating System Families |
Linux, Windows |
Linux, Windows |
Database |
Azure |
Amazon |
Autoscaling & Monitoring |
Built-In |
CloudWatch |
Health based load balancing |
Yes |
Yes |
Public DNS |
N/A |
Route 53 |
Services for mobile devices |
Mobile Services |
N/A |
Reports as a service |
SQL Reporting |
N/A |
Message queue |
Queue and/or Service Bus |
Simple Queue Service |
Content Distribution Network |
CDN |
CloudFront |
Memcached compatible cache |
Caching |
ElasticCache |
Media encoding |
Media Services |
Elastic Transcoder |
Identity |
Active Directory or Access Control Service |
Identity and Access Management |
VPN & Cloud Networking |
Virtual Networks |
Virtual Private Cloud |
Dedicated network connection |
N/A |
Direct Connect |
Hadoop |
HDInsight |
Elastic Map Reduce |
Partner marketplace |
Azure Marketplace |
AWS Marketplace |
Workflow as a service |
N/A |
Simple Workflow Service |
Bulk & Transaction Email Service |
SendGrid (via 3rd party) |
Simple Email Service |
Push notification service |
Mobile Services / Notification Hubs |
Simple Notification Service |
Merchant service |
N/A |
Flexible Payment Service |
Packaged deployment |
Cloud Service Package |
Elastic Beanstalk or CloudFormation |
Cloud deployment management |
Octopus Deploy |
OpsWorks |
Scheduled data processing |
Azure Scheduler |
Data Pipeline |
IaaS |
Azure |
Amazon |
Compute |
Virtual Machines |
EC2 Reserved Instance |
EC2 Spot Instance |
||
Network | Virtual Network | N/A |
Bus | Service Bus | N/A |
Notification Hubs | N/A | |
Database |
Azure |
Amazon |
Relational DB |
SQL Database |
Relational Database Service (MySQL, Oracle, SQL Server) |
NoSQL |
Azure Storage |
DynamoDB |
Petabyte level data |
N/A |
Redshift |
Storage |
Azure |
Amazon |
Scalable blob storage |
Blob |
Simple Storage Service |
VM mountable volume storage |
Azure Drive |
Elastic Block Store |
Archive storage |
Azure Backup |
Glacier |
Bulk loading |
N/A |
Import/Export |
On-Premises Storage Appliance |
N/A |
Storage Gateway |
Management |
Azure |
Amazon |
Administration |
Azure Portal |
Management Console |
Visual Studio | ||
Powershell | ||
Azure API |
If I missed anything or made a mistake just let me know and I’ll get it fixed. When you look at it, it’s clear, at least to me, that Amazon looks more positioned to larger scale more power computing. Unless you expect your startup to reach Netflix style scale right away, or at least in the first 3 years, Azure should be able to handle the load easily. By then they may match Amazon’s scale, i.e. 32 cores, 244GB of RAM style scaling.
The virtual or horizontal scaling offered by Amazon is very attractive and will be something I’ll be keeping an eye on in the future. But as a developer being able to Git push deploy to Azure Websites, or have Azure pick up a deployment from a TFS server is very nice. As a startup we have to keep our friction down to an absolute minimum, the time we spend on issues like that, long deployments or writing documentation and troubleshooting issues is time we can’t spend developing our product, marketing or interacting with customers.
To that end here at Resgrid we have our deployments to Staging and Production environment’s fully automated via deployments from TeamCity using Powershell. Our TeamCity server also CI’s all of our code, so with a couple of button presses we can fully deploy our system, (6 workers and a database) without much hassle.
All in all, I’m very happy with Azure as our startup choice and I feel that this is where it’s best positioned. For Netflix, Facebook, etc style scale I still think Amazon is the winner. But maybe in a couple of years Azure will get there and there will be some good use cases for us to see.