
|
Overview

|

|
Microsoft's Windows Azure platform (WAp) was a key focus at Microsoft's recent Professional Developers Conference (PDC), where Microsoft also announced the next generation of its on-premises application server technology. Microsoft is in the midst of a strategic investment in the next generation of its platform infrastructure, aiming its platform technology toward the higher-end and broader markets than ever.
- Windows Azure is the name of Microsoft's cloud operating system (OS). It is primarily an infrastructure-as-a-service (IaaS) offering, including both compute and storage capabilities. Based on Windows Server (WS) 2008, Windows Azure OS includes the traditional Microsoft WS application server technology and thus includes elements of a platform as a service (PaaS) as well.
- WAp is the Microsoft PaaS offering including the database management system (DBMS) as a service, application server as a service, enterprise service bus as a service and other components to be delivered over time.
- "AppFabric" is not the name of any product or service; however, WS AppFabric and WAp AppFabric are. WS AppFabric is an add-on layer over the traditional Microsoft WS application server technology that extends it into an advanced extreme transaction processing (XTP)-style application server (not a cloud service). WAp AppFabric is a middleware technology-as-a-service offering, at present limited to communication services.
- A key part of Microsoft's cloud strategy is the hybrid Server/Service continuum, aimed at delivering application portability and skills continuity between its on-premises and on-cloud application infrastructure offerings. Microsoft plans to implement the hybrid Server/Service in future versions of WAp AppFabric, to be compatible with WS AppFabric.
- Consider WS AppFabric stack as a competitive enterprise-class application server for on-premises, service-oriented architecture (SOA)-style business application projects, including those with XTP requirements (with the caveat of relative immaturity of some of the most recent additions).
- Expect limited cloud elasticity from the early Windows Azure applications, making the use of Windows Azure OS as an application platform comparable more to Web hosting than to cloud computing.
|
|


|
Table of Contents

|


|
List of Figures

|


|
Analysis

|

|
At PDC 2009, held in Los Angeles in November, Microsoft announced WS AppFabric a new application server extension technology layer aimed for deployment of demanding enterprise-class applications on-premises on WS platforms. Microsoft also announced the WAp AppFabric a connectivity and identity service in its first version (the plans call for an implementation of WS AppFabric technology as a component of WAp AppFabric). Microsoft also discussed its intent to deliver, at some future date, a hybrid on-premises and off-premises application platform based on WS AppFabric and WAp AppFabric.
WS AppFabric was announced to be generally available in 2010 (expected in 2H10). WAp AppFabric connectivity services will be fully commercially available in April 2010 (a free version is available now). The date for the extended version of WAp AppFabric, compatible with WS AppFabric, was not announced and is not expected until 2011.

2.1 WS AppFabric Adds Advanced Technology to Microsoft Application Server
Microsoft has never had a product offering called an "application server." Nevertheless, Microsoft competes effectively with the leading application server providers, such as IBM, Oracle and Red Hat. Its application server technology (which is not a named product, but which we refer to as "WS application server technology") is available with WS 2008 and includes the combination of the Internet Information Server (IIS) Web server, runtime container and .NET Framework code libraries (ASP.NET, Windows Workflow Foundation [WF], Windows Communication Foundation [WCF] and others). Microsoft offers a standard deployment configuration of its WS 2008, called an "application server role," that includes all relevant capabilities. This application server is a role designation of a configured machine, not a name of a software application server. Starting with WS 2008, the Windows OS includes Windows Process Activation Service (WPAS; see Note 1), a separately identified container that enables IIS 7.0, as well as WS AppFabric, BizTalk Server and a number of other Microsoft programmable platforms, to function in a multiprotocol SOA-style architecture.
The past limitation of building an application server platform on the base of a Web server (IIS 6.0 or earlier) was that such an application server is naturally optimized for creating Web-facing (user-facing) applications and not well-suited for clientless back-end application services that are typical to the advanced ("enterprise") SOA-style business applications. Many users have developed enterprise-class back-end application components leveraging the prior versions of the .NET WS application server technology; however, it was not the natural use pattern for the IIS-based platform, which was designed for HTTP-access scenarios. Moreover, the pre-AppFabric application server technology is meant to support mainstream application requirements and offers little support for the demanding performance, availability, scalability and manageability requirements of XTP-class applications for large-scale Web commerce, online gaming, travel reservations, financial trading and other high-end scenarios.

2.1.1 Former Project Dublin (Management and Scale)
As SOA grew in mainstream adoption, Microsoft began to build an extension layer to its WS application server technology designed to support the SOA back-end deployments, equipped with advanced performance, management and availability features and accessibility, in addition to HTTP, by multiple other protocols, thus suitable for non-Web-serving business application services. This project was code-named Dublin and is now part of WS AppFabric. It adds a layer of management and scalability to the WS application server technology. It also includes declarative support for asynchronous message processing using .NET, similar to Java Platform, Enterprise Edition (Java EE) message-driven beans. In effect, the Dublin technology is designed to match Microsoft's WS application server technology to Java EE for hosting complex, distributed applications, an area where Microsoft has lagged.
After two years in development, the Dublin software has been delivered as part of WS AppFabric. It reflects the fundamentals of SOA, designed to support the high-performance back-end services, and complementing the separately standing IIS-based front-end Web application server. Dublin technology utilizes the advanced features of the new .NET Framework 4 and adds durable application scale-out, availability, declarative configuration and new administration/management capabilities to Microsoft's core WS application server technology.

2.1.2 Former Project Velocity (Distributed Caching)
At the same time as Microsoft was developing the high-end Dublin technology, other industry leaders have been moving toward the model of XTP. A core component of XTP is distributed caching capability, allowing, in some cases, a dramatic improvement of transaction performance, availability and scalability by managing application data in a replicated and distributed in-memory object data space. Microsoft engineering was part of this trend, with its project code-named Velocity.
As projects Dublin and Velocity evolved, it became clear that they provide complementary capabilities, both focused on high-end and ultra-high-end enterprise-class transaction processing services. By the time the PDC was held, the two projects were combined. The former Velocity distributed caching platform was incorporated into the Dublin technology to offer not just a capable back-end application server for enterprise applications, but also an advanced XTP-style application platform the WS AppFabric offering.
Like Dublin, Velocity software is out of the lab development stage and is on track for production release in 2010 (expected in 2H10). Velocity has been available as a technical preview for well over a year, and some users have already deployed Velocity-based applications in production.

The new WS AppFabric layers the advanced workflow and service management technologies of project Dublin and the distributed caching technology of project Velocity over the latest versions of the well-established Microsoft application server technologies (including IIS, .NET Framework 4 and WPAS). It fills a long-standing gap in Microsoft architecture by offering a pairing of the well-established WS application server technology for the Web-facing application logic and the new WS AppFabric-extended WS application server technology for the advanced back-end application logic. Other user-facing application logic might be implemented using Microsoft SharePoint, Silverlight, or other Microsoft or non-Microsoft technologies all utilizing the WS AppFabric-based back-end application services. WS AppFabric Beta 1 is available immediately, and Microsoft announced at the PDC that its general release is planned for 2010 (expected in 2H10).
Under normal circumstances, a release of an advanced, potentially industry-leading high-end application server rendition by Microsoft, would have been very big news. However, the WS AppFabric technology was designed and is offered as a "traditional" on-premises product, while the core focus of the PDC keynote presentations by Microsoft leadership was cloud computing. It is clear that Microsoft remains committed to its on-premises WS solutions, as evidenced in continuing investment and delivery of new server technologies. However, the lack of a dedicated time to introduce the new enterprise-class advanced application server capabilities by Microsoft leadership sent a dissonant message to enterprise users of Microsoft platform technology and, internally, to the company engineers invested in innovating on behalf of strategic company goals in enterprise computing.

2.2 PDC Focus: Windows Azure and Cloud Computing
Microsoft is the first of the trio of the application infrastructure giants (IBM and Oracle being the other two) to make a visionary strategic commitment to cloud computing on a broad scale. The first day of Microsoft's PDC 2009 was devoted to cloud computing and its Windows Azure family of offerings (see Figure 1). SQL Azure and Windows Azure OS including elastic storage, elastic compute and networking are generally available. Commercial availability of the WAp AppFabric communication services is scheduled for April 2010 (a free version is available now).
Figure 1. Windows Azure Application Technology Stack
Source: Gartner (February 2010)


2.2.1 Windows Azure OS as an Application Platform
Windows Azure OS uses (and extends) the core WS 2008 technology and thus includes the traditional Microsoft application server technology (IIS, ASP.NET and .NET Framework 3.5). Because of this packaging, Windows Azure OS includes not only the system infrastructure services mentioned earlier (compute, storage and others), but also some application infrastructure services (including the application server capability). However, the application server technology in Windows Azure OS is not modified for cloud computing. Its potential for elasticity and multitenancy derives entirely from the lower-systems' infrastructure level and is not automatic. To facilitate Azure-specific elastic resource allocation services, developers must use a specialized Azure Software Development Kit (SDK). Thus, the pre-Azure .NET applications deployed on Windows Azure OS will run, but will not have any cloud elasticity and essentially will be hosted on Windows Azure OS. (Some pre-Azure .NET applications may need to be modified, as some functionality of WS 2008 has been removed from Windows Azure OS to prevent cross-tenant interference.)
Windows Azure OS alone is, at best (if the SDK is properly used), a shared-hardware cloud application platform or, in most real-world use cases, simply an application hosting environment (not cloud at all). Whether an application deployed on Windows Azure OS can take advantage of its cloud characteristics depends on two core factors: whether the application uses the automatic scaling offered by the Fabric Controller layer of Windows Azure OS (see Note 2), and whether the application is designed with stateless, distributable and replicable services that can take advantage of the underlying shared-hardware elasticity. We expect the majority of current .NET applications, if deployed on Windows Azure OS, will only use Windows Azure OS as a hosting platform (not cloud). We expect the majority of new .NET applications for Windows Azure (developed primarily by application independent software vendors [ISVs]) will utilize the new SDK to build shared-hardware elasticity and multitenancy in their applications to gain some benefits of cloud computing. Many of the larger ISVs considering new cloud-style projects for Windows Azure will likely choose to wait for the full implementation of the WAp AppFabric (including the technology of WS AppFabric and better built-in support of multitenancy and version control), thus delaying some of the wave of new .NET cloud-style applications.
Different models of elasticity and multitenancy in cloud computing are defined in "Reference Architecture for Multitenancy: Enterprise Computing "in the Cloud"." The shared-hardware model of elasticity and multitenancy has some advantages over its primary alternative, the shared-everything model:
- The shared-hardware model preserves backward compatibility of most software and developers' skills, and allows for relatively low-cost migration of production applications to cloud deployment.
- The shared-everything model (offered by salesforce.com, Google and others, but not yet as part of the Windows Azure strategy) offers fine-grained elasticity and billing, advanced tenant customization, near-instant tenant provisioning and lower costs of operations.
By virtue of its unique control of the OS level, the virtualization level and the application container levels of the Windows software stack, Microsoft is in the best position of any of its competitors to optimize the shared-hardware model operations.
Microsoft Windows Azure OS will likely evolve to offer the levels of elasticity and cost that are comparable with the characteristics of the leading shared-everything cloud platforms. However, the agility and productivity of development and life cycle control of applications will be more difficult to match. These characteristics are of particular importance to ISVs. We believe that, ultimately, the new paradigm of cloud computing will include a new programming model, supporting a genuine cloud-designed metadata-based shared-everything application platform architecture. The immediate availability, familiarity and backward-compatibility of the shared-hardware model of Windows Azure will prove attractive to the early adopters of the basic cloud-computing capabilities. However, we believe that to meet the requirements of the new breed of cloud application ISVs by 2014, Microsoft will offer a metadata-driven shared-everything application platform service in addition to its initial backward-compatible shared-hardware platform.

In addition to the pre-cloud WS application server technology and the Windows Azure SDK in Windows Azure OS, Microsoft offers an additional layer of application infrastructure technology services deployed above the OS. The full Microsoft cloud platform stack, including this layer, along with the underlying Windows Azure OS, is referred to as "WAp." For now, the services layer above the OS consists of WAp AppFabric and SQL Azure. The first release of WAp AppFabric is simply a renaming of the former .NET Services. It includes Service Bus (communication service) and Access Control (identity management service), but no application server technology.
Despite the common name with the WS AppFabric, the WAp AppFabric is a separate set of technologies. In future releases (starting in 2011) WAp AppFabric is expected to include some WS AppFabric functionality. Meanwhile, the use of a shared name of AppFabric for two sets of technologies that have little in common (WAp AppFabric and WS AppFabric) serves to create confusion and misunderstanding.
Users and prospects should understand that by the end of 2010 Microsoft is expected to offer:
- On-premises an optional, advanced XTP-enabled enterprise application server technology (WS AppFabric layered over the WS application server technology in WS 2008 R2), as well as its traditional backward-compatible WS application server technology (enhanced with the features of .NET Framework 4).
- Off-premises basic single-tenant hosting using the mostly backward-compatible WS application server technology available in Windows Azure OS. Plus, shared-hardware-style .NET cloud applications can be developed using the new Windows Azure SDK.
The value of the WAp AppFabric offering in 2010 is limited to network connectivity services for applications deployed on Windows Azure OS. Some on-premises applications may also use WAp AppFabric to expose their interfaces through cloud-based proxy entry points. In 2011 or later, WAp AppFabric will be upgraded to include some application platform capabilities of WS AppFabric, but its cloud multitenancy model will remain shared-hardware. This model, weak on fine-grained elasticity, multitenant customization and version control, will likely be sufficient for early off-premises IT projects and will support early adoption by the established Windows ISVs, but will fall short of expectations for new cloud ISV projects.

Microsoft's core strategy for Windows-based cloud computing is the seamless continuum of WS and Windows Azure deployments. It is a natural extension of its larger and earlier Software-plus-Services strategy. Under this vision, the same platform services and APIs will be offered on-premises using WS, and off-premises using Windows Azure. Microsoft refers to this as a "Server/Service continuum." This strategy will serve mainstream organizations and ISVs that are looking to migrate their Windows .NET applications to the cloud by reducing the cost and risk of such a transition. It also will reduce the cost of new Windows Azure application development by preserving the use of the accumulated Windows development skills. The strategy will enable Microsoft to retain its loyal customers and partners, and to benefit from the opportunity to up-sell new capabilities and tools into its massive installed base.
To deliver on this vision, Microsoft must constrain its cloud software development to retain the substantial backward compatibility in its Windows Azure services and APIs (and, at least partly, in the internal underlying system code). Thus, Microsoft must design its cloud offerings to meet the requirements and expectations of its installed base, while also delivering cloud-computing benefits. Some of Microsoft's competitors have neither the advantages nor the burdens that accompany a highly profitable installed base. Such relative newcomer competitors have the advantage of relatively unconstrained innovation
Historically, the core underlying hypothesis of Microsoft's Server/Service strategy is not assured. It is based on the premise that the majority of the current users of Windows .NET applications would like to utilize the cloud-computing opportunity by taking their existing Microsoft applications to the cloud. However, in prior years, the mainframe users never endorsed the Customer Information Control System (CICS) clones for distributed systems, and the majority of COBOL programmers did not take it with them to distributed systems. We believe that most organizations, including ISVs, will invest to develop new, genuinely cloud-style applications and will leave their current applications on-premises.
If the trend that emerges has, as we expect, the current applications largely remaining on-premises and Windows Azure cloud applications developed anew, then the Microsoft strategy of seamless Server/Service portability and its consequent design sacrifices will not fully pay off. The continuity of skills that is also a consequence of this strategy is its clearest advantage, reducing the costs and risk for enterprises making the initial transition to cloud software engineering.
Users and prospects must understand that although Microsoft is aggressively moving into the cloud-computing platform market, much of the work still remains to be done. Most mission-critical projects will find the Windows Azure environment not ready for their requirements until 2011 or later. On the other hand, some website development projects and some experimental and cloud-innovation projects will see Windows Azure and the early versions of WAp AppFabric as an opportunity offering them the first-mover advantage in a long-term strategic change in the software industry.

WS AppFabric represents a major step forward for Microsoft in the enterprise application server market, and it lays the foundation for greater future compatibility and interoperability between Microsoft's on-premises and in-the-cloud application platform offerings. Through WS AppFabric, Microsoft will increase its competitive appeal against IBM and Oracle with the high-end and ultra-high-end on-premises application projects.
WS AppFabric will also challenge XTP pure-play vendors like Appistry, GigaSpaces, maatG, Majitek and Paremus through strengths in business viability, industry support and market clout (even if some of Microsoft's XTP technology lacks maturity compared with the XTP leaders). Users should also take into account that, although built over proven WS platform technologies, WS AppFabric software (former projects Dublin and Velocity) is new technology, fresh from development labs, with very few real-life production deployments, and with some functional limitations versus the established players. It will likely take 18 to 24 months after general availability for WS AppFabric to reach the degree of production readiness needed to address the more challenging project requirements. The core container technology of WS AppFabric includes the new .NET Framework 4, now in beta and pending production proof as well. Therefore, users are advised to approach the new capabilities of WS AppFabric in the near term with some caution, and by initially adopting it for non-business-critical projects.
Microsoft's commitment to continuity between its on-premises and on-cloud application platforms will offer the benefit of continuity of skills, but 100% portability of applications between on-premises and on-cloud are unlikely to be delivered by Microsoft or missed by its customers. Few organizations will want to move their precloud applications to the cloud without changes. Most organizations moving to cloud computing will plan to develop genuine cloud applications, not simply clone their legacy systems.
The continuity of on-premises and on-cloud deployments also implies backward compatibility of WAp AppFabric. To achieve it, Microsoft is migrating its nearly decade-old programming model of .NET to the cloud. While many project developers will appreciate the familiar programming environment, the leading innovators, and especially the new ISVs, will demand genuine cloud characteristics that is, metadata-driven productivity of development and management of applications, fine-grained resource allocation and billing, instant on-ramping of tenants and applications, multitenant version control and governance. To meet these challenges by 2014, Microsoft is likely to deliver a new cloud application platform, complementing AppFabric but built on a new cloud shared-everything technology stack.
The long-term success of Microsoft's WAp strategy will depend on its ability to attract ISVs to the platform. The same challenge faces Microsoft's competitors seeking to establish leadership in cloud platforms. ISVs are the key to cloud platform leadership, because the primary driver leading mainstream enterprises to cloud computing is not lower prices or elastic resource allocation but unique cloud-only applications and services. The cloud platform where such unique cloud-only applications emerge will drive adoption ahead of all competitors. The more ISV partners that use a particular cloud platform, the more likely that unique cloud "killer apps" will emerge in the context of that platform, driving its providing vendor to industry leadership.
Microsoft's ability to attract partners to its platform has been proven many times (the company's recent partnership announcement with Intuit is a good example). However, Microsoft's current cloud platform technology strategy (shared-hardware elasticity, minimal built-in support of multitenancy, traditional pre-cloud programming model of .NET) is oriented more toward IT organizations and partners seeking to preserve their .NET investments than to the innovating ISVs, which are seeking to offer differentiated cloud-based services. This strategic direction is natural and helpful for the established Microsoft ecosystem of customers and partners, but often will be a problem when competing for the next-generation cloud-style application projects, especially with ISVs.
In the short term, Microsoft will not be pressured by its primary competitors, because Oracle and IBM have not yet offered a compelling public-cloud platform strategy and the new players, such as salesforce.com and Google, lack mainstream enterprise confidence. However, this market situation will change; and as long as Microsoft retains its legacy-compatibility strategy as the sole approach to cloud computing, it remains at risk of being surpassed and ultimately missing the strategic cloud opportunity, despite its early strategically funded investment in the cloud-computing infrastructure.
 © 2010 Gartner, Inc. and/or its affiliates. All rights reserved. Gartner is a registered trademark of Gartner, Inc. or its affiliates. Reproduction and distribution of this publication in any form without prior written permission is forbidden. The information contained herein has been obtained from sources believed to be reliable. Gartner disclaims all warranties as to the accuracy, completeness or adequacy of such information. Although Gartner's research may discuss legal issues related to the information technology business, Gartner does not provide legal advice or services and its research should not be construed or used as such. Gartner shall have no liability for errors, omissions or inadequacies in the information contained herein or for interpretations thereof. The opinions expressed herein are subject to change without notice.
|
|
|
|
|

WPAS is Windows common application container code. It orchestrates worker processes for applications that include WCF and Windows WF services. WCF and WF services are not bound to using only HTTP protocols; therefore, worker processes managed by WPAS may use a range of TCP dialects via specialized listeners. WPAS offers on-demand activation of applications at message arrival, making WPAS-managed processes ideal for asynchronous messaging applications in a similar fashion to Java's message-driven beans (MDBs). Previously, this model was achievable only by using plain WCF and significant programmer effort. WPAS simplifies the work required from the application programmer by supporting a declarative syntax. Prior to IIS 7.0, WPAS was tightly coupled with the IIS Web server, and so it was primarily seen as a way to manage ASP.NET worker processes. Starting with WS 2008, WPAS is a generalized service that does not require a Web application to initiate requests.
|
|

|

|
|
|
|

|
|

Fabric Controller is a key technology of Windows Azure OS layered over its foundation of WS 2008. The role of Fabric Controller is to enable dynamic allocation, de-allocation, load balancing and global replication of Windows virtual machines (VMs) in the Windows Azure OS environment, utilizing, in part, Windows Azure hypervisor services. In addition to VMs, Fabric Controller manages the allocation of storage and other resources enabling operation of Windows Azure-based applications. Fabric Controller technology is available only in the Windows Azure environment, although some of it may be migrated to WS 2008 over time.
|
|
|