So, what is Microsoft Azure and how it compares to Amazon's AWS
We had a Microsoft salesperson stop at our offices today to tell people about wonders of cloud computing and Microsoft's Azure will save us all.
The following is a short and non-exhaustive list of what Azure does not do according to their own experts:
- no Infrastructure as a Service - which means that they actually don't offer you servers to run you code on, they only offer Windows Server instances to which you can deploy your code. There is no imaging and no platform choice. In a half a year or so they plan to roll out Virtual Machine Instances where you will actually be able to upload your own images of what you want to run and then running Linux on Azure will be possible, but that will run with a double virtualization, so it is likely to be incredibly slow
- No fast key-value storage - they only provide SQL servers, with blob storage if you want, but nothing in the NoSQL scalability department
- their Windows Azure (limited version of Windows Server OS that they actually run in their cloud) does not run most of their current server solutions - they are working to migrate them one by one
- SQL service has no backup (but raw data storage has data triplication)
- No autoscalability as such (but they do provide a tool that you can install on your cloud servers to launch additional instances when load rises, or kill instances - reliability and configurability is unclear)
- No VPN (they are working on it, might be delivered in 12 months, meanwhile they suggest to use a Service Bus - their equivalent of Amazon SQS to communicate to you cloud servers, and pay a subscription fee + per-request fee + bandwidth fee)
- No way to launch a server with more than 14 Gb of RAM - both Amazon High CPU and High RAM server offerings were alien to the presenter
- Their SQL server offering is a monthly subscription - no pay-as-you-go there
- No reserved instances, but Microsoft is willing to talk about volume discounts, but later, at some point in a year or two when they start actually providing service contracts
- Their bandwidth fees for Asia are three times higher than in other regions for some reason
- If you think of any interesting feature, like CloudFront, CloudWatch, MapReduce, FWS, load balancing, notification service, ... Microsoft Azure does not have that.
The Microsoft presenter also repeatedly engaged in shady tactics when presenting his information:
- he implied that you need to pay for Windows licences on Amazon
- he claimed that starting up an instance on Amazon with any custom configuration (like from your own image) would take a lot of time
- he claimed the invention of container data centres
- he claimed that Microsoft is the only provider that you can trust to store your data in the location that they advertise - when confronted that Amazon has a EU datacenter and provides you a clear way to get your data there, he actually claimed that Amazon might leak your data to other datacenters - 'How can you know they will not?'
- He impled multiple times during the presentation that no other cloud providers can be trusted to keep data within EU - he even tried to say that Amazon only opened their first EU datacenter last month and was very surprised and annoyed when corrected (they opened an Asian datacenter and had a EU datacenter for a long time)
- Tried to pass off the fact that you can only run Windows provides a 'good choice for the customers'
- Talked about planned features like they were implemented and available already - like MS Systems Centre online which he spend 5 minutes talking about how it will enable to migrate services from your private cloud in-house to the Azure cloud and then barely mentioned that it might mature to a beta status at the end of 2010
- Tried to pass off Amazon as 'too low level and complicated' while contrasting it to 'niche' force.com and Google App Engine and then presenting their solution that will 'run all kinds of .Net and Silverlight applications'! Yeah, apparently their platform does not even run regular Windows .exe files
- Tried pass off their SLAs (non-contractual guarantees of service levels, which are unlikely to be enforceable beyond 'money back guarantee') as key selling point, even though they don't even offer actual service contracts Update: Also claimed that Amazon does not provide SLAs, while the actually do
- With fanfare claimed 14k applications running in their cloud, when pressed noted that most of these application don't even pay them, because they got in on special promotions.
So to summarize, Microsoft has build a cloud of Windows-like machines which can run your programs (as long as they are in .Net or Silverlight) and which does not have even a third of the features of such de-facto market leader as Amazon AWS. They try giving away their product for free and only get 14k applications in 6+ months.
Note: Amazon has at least 300 000 public applications and God only knows how many more private ones.
They will grow, due to companies locked-into Microsoft's way of thinking buying into their marketing, but if you have a head on your shoulders, you should avoid it as a trap, which it actually is. All that can be done on Azure, can also be done on Amazon. The opposite is not always true. In addition, if you will want have a mixed environment with both Windows and Linux servers, you will not be able to deploy Linux servers to Azure (or they will be very slow) and you'll have to put your Linux servers into Amazon (or another) cloud and pay double traffic fees for every byte of traffic between your own servers.
Microsoft Azure prices are exactly the same as Amazon EC2 prices with Windows instances. However on Amazon you actually get fully capable Windows Server instances. And if you don't need Windows, you can get a much better price on Amazon.
The only companies that can safely use Azure are companies that only have Windows servers AND plan to only have Windows servers for the foreseeable future. Knowing how dominant Linux is in the server market and how many 'Windows-only' shops actually have a few Linux servers in the back room, there is very little future for Azure, until they wise up and make Linux instances first class citizens in their cloud. If not because their customers need them, then because their customers think that they at least might need them in the future.
Update: Amazon now released a Reduced Redundancy storage for S3 that provides the exacts same level of storage guarantees that regular Microsoft Azure SLA (99.9%) for two thirds of the price, and also Amazons now explicitly says that their regular S3 is 'Designed for 99.999999999% Durability', which is worlds above what Microsoft provides. Now in this case Amazon again is cheaper than MS. Also Amazon bandwidth prices are 33% lower compared to Azure. In Azia the difference is simply staggering (0.45$ vs 0.19$ per Gb).