May 11, 2010

Memories from David Chappell's Lecture or Why does MS Azure still in its Alpha?

Clarification: This post is based on my understanding of the cloud computing market. I may not fully understood the full Microsoft offer, and probably in some aspects my colleague David Chappell and I have different perspectives and opinions.
UPDATE 1: (May 16, 2010) Based on conversation with
David Chappell.
I attended yesterday David Chappell's great lecture regarding the Microsoft Azure platform. Except for letting you know that you cannot find a decent WiFi Access in the Microsoft R&D offices, I would like to share with you several technical and product details regarding Azure and my opinion regarding Microsoft Cloud Computing GTM:
  1. Both auto scale and getting back to the original state are supported through the API and not automatically . You should do it manually. (UPDATE 1)
  2. There is no admin mode: you can install (almost) nothing, no SQL Server, no PHP, no MySQL in service mode and no RDP... or in other words total vendor lock-in. Since HA system requires service mode you must use the Azure stack for HA systems. (Update 1)
  3. No imaging or "stopped suspended staged server" mode where you pay only for the storage. You must pay for suspended staged machines (like in GoGrid. unlike Amazon EBS based machines)
  4. Bandwidth - few people complain regarding it, because few people use it "there is a lot of room right now...". Please notice that having a lot of room is good. However, only time will tell how Microsoft will
  5. Storage - S3, SimpleDB and SQS like storage mechanism that is accessed using REST (no SOAP in the system):
    1. Blobs: 
      1. EBS like binary data storage
      2. Can be mapped to "Azure Drives" that can be used as EBS: NTFS files
      3. CDN mechanism Support
    2. Tables: 
      1. Key value storage (NoSQL)
      2. Table>Entiity>Property {@Name;@Type;@Value}. 
      3. Don't expect for SQL and it really scalable. You are right, it is sounds just like SimpleDB.
    3. Queues: SQS like
      1. Used for task distribution between workers
      2. Please notice that you should delete messages from the Q, in order to make sure that the message does not appear again (there is a configurable 30 seconds timeout till messages will reappear)
    4. Access: grouping data into storage accounts
  6. Fabric:
    1. Fabric Controller: controls the VMs, networking and etc. A fabric agent is installed on every machine. It is interesting that Microsoft exposes this element and tells us about it, while Amazon keeps it hidden... (UPDATE 1): Please notice that this is a plus for MS, as turns out that Amazon for example does not tell us everything about its infrastructure, and maybe it is time to expose this information.
    2. Azure Development Fabric: a downloadable framework that can be installed for development purposes on your premises. Why should you have this mess of incompatibility between development and production environments for the aim of saving few dozens of USD a month? Maybe MS knows... (UPDATE 1): Please notice that saving few bucks is a great idea. However, based on my experience WAN effects and real hosting environment can present different behavior than the one you had on your development premises. Therefore, I highly recommend you to install both your integration and production instances in the same environment.
  7. SQL Azure Database:
    1. Up to 10GB database. Sharding is a must if you really have data. But hey, if you really had data, you were not here... (UPDATE 1): If you have critical systems with a lot of data, I don't recommend using Azure yet. However, you can find a previous post of mine regarding SQL Server Sharding implementation.
  8. Windows Azure Platform AppFabric
    1. Service Bus: a SOA like solution that is aimed to connect between intranet web services and the cloud. This a major component that does not exist in other players offering, due to the MS Go To Market (GTM) strategy (see below). If you use other cloud computing environment, you may use this service while integrating it with  your internal IT environment.
    2. Access Control
Pricing
Pricing is the #1 reason for using the cloud, and it seems that Microsoft is lagging behind in this
  1.    Computing: $0.12-$0.96 per hour. that is X3 AWS spot prices. (UPDATE 1): Please notice that spot prices are not the official Amazon price list. However, it is common method to use it and it is well explained in a previous post of mine.
  2.    Storage: $0.15/GB per month + $0.01/10K operations
  3.    SQL Azure: $10/GB per month. Yes it is limited to 10GB. (UPDATE 1): Please notice that the Amazon offering is extremely different both in options and in pricing model, so decisions should be taken based on detailed calculation..
  4.    Traffic:
    1. America/Europe: $0.1/GB in, $0.15/GB out
    2. APAC: $0.3/GB in, $0.45/GB out
Target Applications
The Azure plarform best fits the following case scenarios according to Microsoft (based on Amazon experience) David Chappell (David does not work for Microsoft, nor does he speak for them):
  1. Massive scale web applications
  2. HA apps
  3. Apps with variable loads
  4. Short/Unpredictable life time applications: marketing campaigns, pre sale...
  5. Parallel processing applications: finance
  6. Startups
  7. Applications that do not fit well to the current organizations:
    1. No data center cases
    2. Joint venture with other parties
    3. When biz guys don't want to see the IT
Microsoft Go To Market Strategy
(Update 1): Please notice that is my analysis regarding Microsoft Go To Market strategy and is based on my market view, and from conversations with market leaders and may not reflect David Chappel's opinion:
  1. Microsoft is building on their partnerships and marketing force rather than providing the best technical/pricing solution. They build on these ISVs to expand their existing platform to Azure as part of their online/cloud/SaaS strategy and portfolio. (UPDATE 1): I believe that currently the Azure solution is less flexible than IaaS offers in the market, and with higher cost.
  2. MS currently focus in establishing itself as a valid player in the cloud computing market, by comparing itself to Amazon, Google, Force.com and VMware. (UPDATE 1): Microsoft, of course, do not say it by themselves. However, they sponsor respected industry analysts to pass this message
  3. It seems that Microsoft was trying to focus in solving enterprises requirements, rather than approaching the Cloud native players: web 2.0 and internet players that are native early adapters... Is it a correct marketing move? Are enterprises really head to this platform, when there are better and more stable platforms? Will they head at all?
  4. My 2 Cents: we probably gonna see here another Java/.Net round. However, this time is not just operating system and development environment, but the whole stack from hardware to applications: Microsoft oriented players will try the Azure platform, while others will probably use other solutions. However, this time Microsoft is not in a good position, since (1) major part of the new players in the market prefer Java/Python/PHP/Erlang stacks instead of the .Net stack; and (2) other players already offer Microsoft offering as part of their stack.
(UPDATE 1): Personally I think that Microsoft has a great development force, and it shown in the past that it can get into existing markets with strong leaders (Netscape in the browsers, Oracle in the database, Oracle and SAP in ERP and CRM) and turn in a leader in the market. I believe that this is their target in the cloud computing arena and I'm sure that in the future Azure will be a competent player. However, this is still a first version, and I would not recommend you to run your critical system based on it, as you probably did not run your critical system on the first MS SQL Server version.

Keep Performing,

2 comments:

Tim said...

Dear Moshe,

It is a great post, and the comments regarding the Microsoft go to market strategy are valid. However, as a current user of the Azure platform, I can report that the platform is stable, and it performs well under various load conditions.

Tim

Moshe Kaplan said...

Hi Tim,

10x,
I really glad that you have good experience with Azure. Please notice that this post is my personal view of the cloud market. This view can biased based on the companies I'm working with the case studies I was exposed to.

Best,
Moshe

ShareThis

Intense Debate Comments

Ratings and Recommendations