Microsoft IT (MSIT) currently uses mostly conventional on-premises products, but is moving rapidly to a mixed-use environment in which it utilizes some combination of on-premises software, software as a service (such as Microsoft® Exchange Online), and Windows Azure products. Microsoft developed the Windows Azure platform as a foundation for developing applications that run in the cloud. Approximately 20 million businesses and more than a billion people use Microsoft cloud services, which are the products, services, and customer experiences that Microsoft offers through hosted and online services. The Windows Azure platform provides a group of cloud technologies, each providing a specific service set for application developers, and both applications running in the cloud and on local systems can use it. MSIT’s cloud-services strategy is consistent and highly complementary with the Microsoft on-premises offerings. Rather than an all-or-nothing approach, MSIT (and Microsoft customers) can leverage new cloud technologies and existing capabilities. MSIT estimates that by moving applications to Windows Azure, an enterprise can save between 35 and 40 percent of overall addressable expenditures for support; application development and maintenance; and hardware, hosting, and software licenses. MSIT has a three-prong approach to developing applications in Windows Azure:
- Identify existing applications that are not mission-critical, that have solid fallback positions, and that have workload patterns that are suitable for the cloud. These are the first applications that MSIT migrates to Windows Azure, and are used to develop best practices and reusable components for other, more-complex migrations.
- Ensure that new applications that developers can write or deploy on Windows Azure indeed are written and deployed on Windows Azure. Make Windows Azure the default application-development platform.
- Create multiyear plans, and then begin moving some of MSIT’s biggest and most-critical applications to Windows Azure. This enables the leveraging of experience gained from earlier, less-complex migrations.
Moving Existing Applications
When an organization moves existing applications to Windows Azure,it is important to remember that it:
- Can be more complex than building new applications designed for Windows Azure or cloud computing.
- Is better to choose applications with lower risk and complexity for the first migration, to become familiar with the process. Enterprises then can attempt migration of more complex applications that have regulatory exposure, integration issues, downstream dependencies, or other complicated attributes.
- Helps to understand an migrating application’s technical aspects and how the enterprise is utilizing it before migration.
- Helps to understand the application’s monitoring implications and its life span, to ensure alignment with the Windows Azure solution plan.
- Is beneficial to understand workload patterns, which indicate suitability with Windows Azure. The following table illustrates these patterns:
|Pattern ||Description |
|On and Off ||Typically includes seasonal or time-bounded workloads that have processing requirements only during certain periods. |
|Predictable Bursting ||Includes predictable bursts of activity during certain days of the week or times of the year. |
|Unpredictable Bursting ||Typically includes unpredictable events that trigger heavy usage requirements. Therefore, the enterprise must scale design considerations to predict. |
|Growing Fast ||Typically associated with new development, and in particular, with startups or specific groups in larger companies. |
Windows Azure Projects
Moving a Low-Risk Application: the Auction Tool
The Auction Tool is a component of the Microsoft Annual Giving Campaign. The tool experienced very high spikiness (Predictable Bursting workflow pattern). Usage was low for most of the month, and then inadequate for the last-day spike, as 20 percent of all bids were made on last day. This left many bidders unable to contribute because the Auction Tool was unavailable due to heavy last-day usage. This roject had three sets of Internet Information Services (IIS) and Microsoft SQL Server® virtual machines.
- Utilized a hybrid Windows Azure cloud and on-premises architecture.
- Utilized single sign-on (SSO) through Active Directory® Federation Services (AD FS).
Auction Tool Results
- The solution scaled easily from four to 24 instances for last day’s high traffic.
- Every user that wanted to bid could actually do so.
- It was a record year for the Microsoft Annual Giving Campaign, with approximately $500,000 U.S. dollars raised.
Lessons Learned from Moving and Using the Auction Tool
Learning curve for development was relatively small, because the Windows Azure development tools are similar to the current Visual Studio development environments.
- Scaling the environment to meet demand is a strong point of the Windows Azure platform, and the process was straightforward and easy to implement.
- The Windows Azure platform is consistent. Development, preproduction, and production environments are the same and allow for a smooth path to production.
New Application—Social eXperience Platform (SXP)
The Video Showcase site on Microsoft.com provides access to more than 8,000 marketing videos. Personnel used the previous on-premises solution to manage the site’s comments and ratings, filter profanity and spam, and perform site moderation. However, there were problems with scalability, maintenance costs, upgrades, performance, and availability.
- Utilized a hybrid Windows Azure cloud and on-premises architecture.
- Enabled multitenant capabilities. Any subsite on Microsoft.com can use SXP. The first tenant was the Video Showcase site, and as of mid-2011, the service has 57 tenants.
- Utilized a separate SQL Azure database for each tenant, in which to store comments and ratings.
- Utilized the Microsoft System Center Operations Manager Connector to provide alerts and notifications via Systems Center Operations Manager.
- Reduced monthly costs from $15,000 USD to $45 USD.
- Increased availability from 99.1 percent to 99.997 percent.
- Improved the speed of new releases dramatically. Previously, issuing new releases could take as much as six weeks, but was reduced to 45 minutes.
- Facilitated easy push-button upgrades that had no planned downtime. Ten upgrades have occurred, and no transactions have been missed.
- Enabled 10,000,000 error-free transactions since December 2011.
- Reduced the average response time to less than 10 milliseconds (ms). MSIT’s service-level agreement mandates 250 ms.
- Enabled MSIT to replace more than 37 separate instances of a third-party competitive product with a Microsoft cloud-based solution that operates at enterprise scale.
SXP Lessons Learned
- Windows Azure greatly decreases the time and developer participation necessary for application maintenance and upgrades.
- Engineering and operations departments must partner early to ensure that application development includes operational integration, such as monitoring and maintenance.
- Windows Azure presents a fundamental shift in how IT departments approach the spending and resource allocation on which cloud computing is based. Spending patterns now focus on operational costs and not capital expenditures, while resource allocation now focuses on development and innovation, rather than maintenance and operations.
Additional Education Resources can also be found at