I’ve got a comment from a user calling himself “AzureBizAndTech” to my previous post . Unfortunately the comment was deleted in in DDJ’s move to a new blogging platform over the weekend. The person, who apparently works in Microsoft (per his first point- see below) posted the comment with the title “Many mistakes in this post”. Below are his points and my reply
1) VMRole is not IaaS. This is not my opinion. It is Microsoft’s (my employer) stated position.
Sorry however, whether an offering is IaaS or PaaS or anything is determined by its capabilities not by the label some marketing person put on it. The VM role is more IaaS than PaaS. It is true that it isn’t a realy IaaS since it has a limited support of VMs (e.g. you can’t run Linux on it)
2) Yes, it is a good idea to allocate one service per role. How else are you going to scale?
First off, scale is not the only reason for moving to the Cloud, probably not even the major reason to do so. Reduced IT costs, right-sizing hardware needs, flexibility are some of the other reasons to move. From a pricing perspective this can prove to be a poor choice. Let’s do the math. The particular client mentioned in the post has 4 web sites (variations on the product) and some 20 services. If you have an IO bound application (which they do) than you should probably use a medium instance (smaller instance have moderate or low IO performance). You’d want to run 2 instances per role (to get the 99.5 uptime guarantee ). Yearly cost =0.24$ * 24 hours * 365 days * 24 roles *2 > 100K$ where we can probably pack everything into 2 extra large instances at 16K$ per year. Yep great idea indeed
3) Services (Web or REST) can be implemented on either Web or Worker roles.
It seems that by services you mean “web-services” but that’s not the only way to implement services. In any event I didn’t say you can’t. However Worker role (or VM) is where you can implement stateful services if you need them
4) The cost of a proper architecture in Azure is a business discussion not a technical one.
See point 2 above. Generally speaking architects who ignore the cost of their architecture are bound to fail. It is never just a business discussion (same goes for other “business” concerns like time-to-market etc.)
5) Worker roles are NOT where you put all of your stateful services. Worker roles are used to implement non-web tier services. Which also need to be stateless in order to scale.
Again the scale thing (it reminds me this :)) So basically you are saying that unless you are stateless you cannot scale? is SQL Azure Federation a hoax then? Or is Microsoft the only company with the smarts to build stateful scalable solutions?! or what?
6) CloudValue is attempting to use the Windows Azure Platform as a host. Cloud platforms are not hosting platforms That is a different paradigm.
Let me get that right – Are you telling me to advise my clients to move off of Windows Azure? Is this an official Microsoft stand??? Seriously, I know it is not as we are working with MS reps in Israel and UK to help get them to the cloud but come on…
Don’t get me wrong. Azure has some really nice features and it keeps improving all the time. I think worker roles (or something on top of it) need to provide a higher level of abstraction from the mapping to an instance so that you can really right-size your IT spending. Not every solution needs to scale to Google or Facebook size