Thursday, June 23, 2011

Windows Azure Platform Maligned by Authors of NetworkWorld Review

• Updated 6/23/2011 3:45 PM PDT with link to PCWorld copy of the NetworkWorld review and announcement of Windows Azure Wins Best Cloud Service at Cloud Computing World Series Awards; see end of post.

• Updated 6/22/2011 7:45 AM PDT with article comment by Bill Rohrbach and reply by Tom Henderson; see end of post.

My conclusion:

Tom Henderson provides no citations to support his refutation of my objections.

If you “can’t test it until it’s really, really ready” and believe the product isn’t “finished,” I contend NetworkWorld should not have reviewed it.

Tom Henderson and Brendan Allen asserted “Microsoft's vision of a Windows-only cloud is ambitious, but too many features are currently still in beta” as a deck for their First look at Windows Azure article of 6/20/2011 for NetworkWorld. Page 1:

imageThere's "the cloud" and then there's Windows Azure.

We tested the available production-level features in Microsoft's platform-as-a-service (PaaS) offering, and found that Azure is similar in many ways to what already exists in the cloud sky.

imageBut there are some key differences. Azure is homogeneously Windows-based. And big chunks of Azure are still in beta or "customer technology preview."

Three main components of Azure are currently available: Windows Azure 2008/ 2008 R2 Server Edition Compute Services, Windows SQL Azure instances, and storage facilities. These components are sewn together by Microsoft's AppFabric, an orchestration system for messaging, access control and management portal.

However, none of the Windows Azure instances are currently capable of being controlled by Microsoft's System Center management system. They can't be touched by an organization's Active Directory infrastructure today — only by beta, pre-release features. Instance availability through mirroring or clustering is currently unavailable, too*. [Emphasis added. See comment below.]

Overall, it's far too early to recommend Windows Azure. The architectural diagram looks very interesting, and while some pieces appeared ready in testing, big chunks of the Azure offerings aren't ready for enterprise use**. (See how we tested the product.)

What You Get — Today

Windows Azure provides production application support through Windows Azure 2008/2008 R2 Server Edition Compute services, Windows SQL Azure, and several forms of data storage. Customers can buy these services in graduated instance sizes, and deploy them into various geographies, and different Microsoft data centers within some of the geographies.

What's available today is a subset of the grander Windows Azure future architectural road map. Buying into the Azure vision may turn out to have great value in the future, and the pieces that are running today worked well, but they don't satisfy the wide number of use cases associated with IaaS or PaaS.

Another component of Microsoft's PaaS push is Azure Marketplace, where developers can buy, sell and share building blocks, templates and data sets, plus finished services and apps needed to build Azure platform apps. The DataMarket section's offerings are limited, while the apps section isn't commercially available yet.

Microsoft intends to expand the limited Azure Marketplace offerings with both community and also marketed development tools, Azure-based SaaS third party applications, and other business offerings. Ostensibly third-parties will replicate and offer the Azure model to clientele from these and other sources***.

Virtual machine roles

Windows Azure components are defined by roles, currently Web Roles and worker roles (based on IIS and .Net functionality), which can run against SQL Azure database instances. The deployed processes are managed through AppFabric, whose functionality exists inside the Azure resource pools as a management layer and messaging infrastructure.

Microsoft turns Windows Azure into cloud-based supercomputer

* Re: “Instance availability through mirroring or clustering is currently unavailable, too.” (Quotes are from the Windows Azure Service Level Agreements page):

Windows Azure compute instances run in clusters of customized multi-tenant Windows Server 2008 R2 instances. Assuring 99.95% availability with the Windows Azure compute SLA requires provisioning at least two instances. Two or more instances are required to “guarantee that 99.9% of the time [the Windows Azure Cloud Fabric] will detect when a role instance’s process is not running and initiate corrective action.”

For storage, the Windows Azure Platform maintains three replicas and guarantees “that at least 99.9% of the time [Windows Azure] will successfully process correctly formatted requests [received] to add, update, read and delete data. [Windows Azure] also guarantees that your storage accounts will have connectivity to [its] Internet gateway.

** Re: “big chunks of the Azure offerings aren't ready for enterprise use”:

A substantial number of organizations, ranging in size from Internet startups to Fortune 1000 firms have adopted Azure for numerous enterprise-scale applications. See the Windows Azure Case Studies page.

*** Re: Ostensibly third-parties will replicate and offer the Azure model to clientele from these and other sources”:

Fujitsu Limited announced in a Fujitsu Launches Global Cloud Platform Service Powered by Microsoft Windows Azure press release of 6/7/2011:

Fujitsu Limited and Microsoft Corporation today announced that the first release of its Global Cloud Platform service powered by Windows Azure, running in Fujitsu's datacenter in Japan, will be launched August 2011. The launch of the service, named FGCP/A5, is the result of the global strategic partnership between Fujitsu and Microsoft announced in July 2010. The partnership allows Fujitsu to work alongside Microsoft providing services to enable, deliver and manage solutions built on Windows Azure. As of April 21, 2011, Fujitsu has been offering the service in Japan on a trial basis to twenty companies. This launch marks the first official production release of the Windows Azure platform appliance by Fujitsu. …

The widely quoted press release preceded the authors’ review by 13 days, which should have been ample time to correct the assertion.

From page 2:

Re “Glaringly absent is the Virtual Machine Role. VM Roles are the commodity-version of Azure Windows Server licenses. We've seen them, but because they aren't available yet, extreme constraints are imposed on the current Azure platform.”

VM Roles are available as a beta, which the authors chose not to test, and emulate IaaS feature for applications that can’t be easily adapted to Azure’s PaaS implementation.

Re “Microsoft has developed the Azure infrastructure fabric to be emulated and replicated by future managed services providers (MSP) — likely at the point when both PaaS and IaaS become available.” 

See Fujitsu press release quoted above.

Re “We asked for access to the Azure Business Edition:”

There is no “Azure Business Edition.” Only SQL Azure has a Business Edition.

Re “Whatever is done inside of the Azure Cloud is controlled by Microsoft's AppFabric, which will place an instance of a predetermined/pre-selected size in one of its data centers — which are defined by region and specific data centers.”

The “Azure Cloud” is controlled by Microsoft’s Windows Azure Fabric Controller, not AppFabric, which is middleware. From Introducing Windows Azure - David Chappell (2009, sponsored by Microsoft Corp.):

[T]he Windows Azure Fabric consists of a (large) group of machines, all of which are managed by software called the fabric controller. The fabric controller is replicated across a group of five to seven machines, and it owns all of the resources in the fabric: computers, switches, load balancers, and more. Because it can communicate with a fabric agent on every computer, it’s also aware of every Windows Azure application in this fabric.

From Microsoft’s Windows Azure AppFabric Overview:

Windows Azure AppFabric provides a comprehensive cloud middleware platform for developing, deploying and managing applications on the Windows Azure Platform. It delivers additional developer productivity adding in higher-level Platform-as-a-Service (PaaS) capabilities on top of the familiar Windows Azure application model. It also enables bridging your existing applications to the cloud through secure connectivity across network and geographic boundaries, and by providing a consistent development model for both Windows Azure and Windows Server.

Finally, it makes development more productive by providing higher abstraction for building end-to-end applications, and simplifies and maintenance of the application as it takes advantage of advances in the underlying hardware and software infrastructure.

From Yung Chow, senior Microsoft IT pro evangelist:

One very important concept in cloud computing is the notion of fabric which represents an abstraction layer connecting resources to be dynamically allocated on demand. In Windows Azure, this concept is implemented as Fabric Controller (FC) which knows the what, where, when, why, and how of the resources in cloud. As far as a cloud application is concerned, FC is the cloud OS. We use Fabric Controller to shield us from the need to know all the complexities in inventorying, storing, connecting, deploying, configuring, initializing, running, monitoring, scaling, terminating, and releasing resources in cloud.

From page 3:

Re: “Public/Private interaction via the Windows Azure Appliance Platform works only for a few private customers, and is likely CTP”

See above re Fujitsu’s WAPA offering. 

Re: “Local storage persistence is CTP; only BLOB storage is guaranteed to be persistent after an instance reboot. Drive C is as good as the instance not rebooting unless you unload it from a BLOB first, after the local NTFS drive is initialized after a reboot.”

Local storage persistence is not CTP. Azure Blog, Queue and Table storage persistence has had production status since Windows Azure released to the Web in January 2010. High availability is provided by three replicas, the cost of which is included in the quoted storage price. 

Re: “Azure instances are controlled through AppFabric, which is an Azure-resident cloud middleware API and messaging infrastructure — a service bus in Microsoft parlance.”

See above re Windows Azure AppFabric vs. Fabric Controller.

From page 4:

Re: “All worked fine until an upgrade demanded a reboot of the instance. Then we discovered that NTFS local storage isn't guaranteed to be persistent, although Windows Azure Drives and BLOBs are. Indeed our storage disappeared as we'd mistakenly chosen NTFS local storage — after we rebooted the instance.”

Local storage created by any cloud based operating system isn’t persistent. For example, only Amazon S3 (blobs), SimpleDB (tables), SQS (queues), and EBS (drives) are persistent.

Readers of the NetworkWorld article should be aware that many of Amazon Web Services’ features were in the beta stage for several years of AWS’ commercial use and that the entire Google App Engine has been in preview mode since its inception.

• Updated 6/22/2011 with article comment by Bill Rohrbach and reply by Tom Henderson:

Unprofessional and Sloppy Article

By Bill Rohrbach (not verified) on Tue, 06/21/2011 - 4:39pm.

Perhaps the authors should have bothered to actually do their work before writing the article. Sloppy and flat-out inaccurate reporting... just view this to see a run-down of all the inaccuracies.

And I can say from personal experience that the Azure model works and works well. If this is the extent of Network World's ability to report on the cloud then I can assume they shouldn't be trusted.

Interesting blog; a lot of inaccuracies

By Tom Henderson on Tue, 06/21/2011 - 11:38pm.

With regard to the blog, let me answer by citation:

1st) Go ahead, mirror them. Go find the mirror. What-- not there? Can't cluster? Oh no!

2nd) I have NO doubt that many people are trying Azure, including developers and many different kinds of organizations. That's to be expected. So much of it's NOT production that it drove us crazy. I would have loved to have tested WORKING PRODUCTION FEATURES.

3rd) Great for Fujitsu! This is what we were told was to be expected: Azure replica through various MSPs.

4th) No-- we're forbidden to test beta or CTP or c'mere, kid-- wanna see what's in my coat. I wish we could report on them, but until there's a frozen code set, all bets are off. It's sad. And late.

5th) See third

6th) We were billed for: "Windows Azure Platform Development Accelerator Extended"

7th) Is a reiteration of what we wrote and we don't understand the citation

8th) We refute this; local storage is not production

9th) Another AppFabric citation that has no reference

10th) We also refute this

Overall, I understand people wanting to protect their turf. But too much is beta and CTP. I think it might be great once it's ready. Tough to tell, as we can't test it until it's really really ready. It's been a really really long time in the making. The roadmap looks juicy, and perhaps heaven-sent for Microsoft-only platform. But it is embarrassingly late. It's teaseware, and it shouldn't be. You can point to the roadmap all you want, but there is no asphalt, no bridges, and in some places, surveyors still mapping things out. It needs to be finished. Then we'd love to test it.

RJ: Tom Henderson provide no citations to support his refutation of my objections.

If you “can’t test it until it’s really, really ready” and believe the product isn’t “finished,” I contend NetworkWorld should not have reviewed it.

Update 6/23/2011 3:45 PM PDT: PCWorld posted a copy of the NetworkWorld review here.

The Windows Azure Team reported Windows Azure Wins Best Cloud Service at Cloud Computing World Series Awards in a 6/23/2011 post.


Tom Henderson said...

We both agree, disagree, and refute some of the comments made here. Please refer to the comment section of the review we wrote. Thanks, Tom Henderson, ExtremeLabs, Inc.