Using Windows Azure to Build and Expand Microsoft.com Social Media Capabilities
Technical Case Study
Published: December 2011
The following content may no longer reflect Microsoft’s current position or infrastructure. This content should be viewed as reference documentation only, to inform IT business decisions within your own company or organization.
The Social eXperience Platform (SXP), which is powered by Windows Azure and SQL Azure, has been providing Microsoft.com with social media features for over eighteen months. The Windows Azure platform has enabled SXP to grow and expand its capabilities on Microsoft.com by delivering performance, scalability, elasticity, and remarkable return on investment (ROI).
Technical Case Study, 291 KB, Microsoft Word file
Products & Technologies
The Social eXperience Platform (SXP) was developed on the Windows Azure platform to provide social media capabilities on the Microsoft.com website. Since its inception in 2010, the SXP customer base continues to grow as greater numbers of Microsoft.com tenants become eager to maximize the SXP features and business value.
Eighteen months after the SXP implementation, the platform has grown from hosting a single tenant with thousands of requests, to over 70 tenants with millions of requests processed daily. Windows Azure allows Microsoft IT to scale SXP to meet this increase in demand and provide increasingly stable performance and availability, all at a fraction of the cost of the previous solution.
The Microsoft corporate website, www.microsoft.com, is among the top ten most-visited websites in the world. Microsoft.com averages over 250 million unique visits per month, 70 million page views per day, 15,000 connection requests per second, and an average of 35,000 concurrent connections over 80 web servers worldwide.
SXP was developed to enhance social media features, thereby amplifying the voice of the customer on Microsoft.com. In April 2010, SXP began serving its first tenant, the Video Showcase site on Microsoft.com.
In its first implementation, SXP provided several features in its first implementation on the Video Showcase site, including managed comments and ratings, profanity and spam filtering, and the ability to comment on or rate video content.
The Windows Azure platform hosts the primary SXP components, which are distributed across several Windows Azure Compute instances and SQL Azure databases.
SXP is implemented on Windows Azure as a number of different components that work together to provide a full set of social media capabilities:
SXP Web Services. Most of the SXP workload exists on SXP Web Services. The SXP Web Services run as a single Web Role across multiple compute instances in Windows Azure. SXP stores tenant data in SQL Azure databases.
SXP Monitor. The SXP Monitor is a small web application, running in a single instance Web Role that runs in the same data center as the Web service. The SXP Monitor provides the following functionality:
Pings the Web service every five seconds to determine service availability and performance
Summarizes the data from the Windows Azure Diagnostics storage tables
Windows Azure Storage. Windows Azure Storage provides diagnostics and log information.
Windows Azure Management Pack for Microsoft® System Center Operations Manager. System Center Operations Manager monitors the SXP key components through the Windows Azure Management Pack. The Windows Azure Management Pack provides insight into the performance and state for important aspects of the SXP environment. Operations Manager also trims the Windows Azure Diagnostics tables.
Keynote. Keynote is a third-party solution that provides global availability information.
Moderation Tool. The Moderation Tool manages comments, ratings, and feeds. The Moderation Tool is authenticated by Active Directory® Federation Services, which allows extending Active Directory Domain Services authentication into the cloud.
As of November 2011—eighteen months after the Video Showcase implementation—SXP has become an integral part of the social and community-driven aspects of Microsoft.com.
Integrating a Cloud-Based Solution
As a cloud-based platform on Windows Azure, SXP integrates with any portion of Microsoft.com in much the same manner as it did originally with the Video Showcase site. A cloud-based solution has the capability to connect to on-premises components without being reliant on on-premises data centers. This means that integration with on-premises solutions is a modular process that can be reused from site-to-site, decreasing time and costs associated with integration. The ease of integration provided by SXP resulted in a steady stream of new tenants, each able to leverage the SXP capabilities alongside their own content. SXP has become more than a platform as a Service (PaaS); it provides social as a service to website tenants on Microsoft.com, enabling easy to implement social media capability.
Leveraging the Windows Azure Platform to Make SXP First and Best
SXP on Windows Azure continues to provide excellent results, thanks in part to its design and partnership with Windows Azure. The following areas of SXP implementation result in tangible and significant benefits for tenants.
With Windows Azure, SXP service releases are literally push-button activities with zero planned downtime. The SXP team uses the Virtual IP (VIP) Swap feature on the Windows Azure Platform Management Portal to promote its staging environment to a production environment. Service releases have occurred approximately every six weeks since SXP launched in April 2010. The process on Windows Azure is so refined and so simple that the team no longer accounts for service releases when anticipating events that may cause downtime. Since May 2011, SXP has been 100 percent available for over 200 consecutive days. Not one single transaction has been lost.
Performance, Scalability, and Elasticity
There have been no performance issues reported on the Video Showcase site. Resource utilization for the single tenant was insignificant when compared to the resources available in the medium compute instance of Windows Azure. Because of this resource availability, adding more tenants as demand for SXP grew required no scaling of provisioned components, simply the addition of tenants to the SXP Web service and the associated data stores. Site requests per day have grown from one tenant averaging 9,000 requests per day in April 2010, to over 2 million requests across 71 tenants in October 2011. Even with this increase in customer traffic, additional Windows Azure resources were not needed, with the exception of one week of inordinately high traffic. During this week, the Windows Azure compute instances were doubled to handle the increased traffic, a process that took less than one hour to increase, and then again, to decrease once normal capacity was again reached. This high level of elasticity enabled SXP to handle traffic and request peaks of over 1,800 percent of normal.
The following figure shows request traffic to SXP of a 72-hour period in June 2011. No increases to Windows Azure resources were required to handle this traffic.
Figure 1. SXP traffic over a 72-hour period in June 2011
SXP has benefited from the resiliency of the Windows Azure platform and become a highly extensible application. SXP uses a multi-staged environment and instantaneous and uninterrupted switchover from development to production environments. These allow SXP modifications and additions to be tested more rigorously and implemented more frequently, without concern for negatively impacting the production environment. Due to the cloud-based nature of SXP, integration with new sites on Microsoft.com has been a simple and repeatable process, without need for complicated development.
Cost and Pricing
Statistically, the most measurably impressive numbers for SXP have come from pricing and ROI. For the previous solution utilized by the Video Showcase website, the Microsoft Information Technology (IT) monthly hosting costs were $15,000 US. With Windows Azure and SXP, hosting costs for all 71 tenants—including the Video Showcase website—are currently under $900 US per month. If the Video Showcase site was the only tenant, SXP would provide a 91 percent savings over the previous. Factoring in the other SXP tenants, based on traffic consumption, costs are less than $46 per month. That is more than a 99 percent reduction in cost for the Video Showcase website. Figure 2 reviews the "Before" and "After" data points used to calculate ROI.
Figure 2. Return on investment comparison
Growing Beyond the Platform as a Service Model
As SXP's adoption has continued to grow, so have the abilities and options for SXP to be more than a cost savings for Microsoft IT to pass on to its customer and more than a PaaS. Solutions such as SXP—which can be leveraged across several sites to serve several clients—have created a new business model in IT departments. The significant lowering of application costs has evolved into completely recouping these costs and even making a profit from applications. The unique Windows Azure capabilities and infrastructure allow IT departments to create application environments that generate new possibilities for these departments to become a contributing part of the business model, rather than a necessary cost to maintain business operations.
The benefits of SXP on Windows Azure are both quantifiable and compelling:
Reliability and availability. Hosting a solution on the Windows Azure platform removes almost all infrastructure maintenance requirements. By utilizing the Windows Azure built-in failover and backup features, developers can now focus instead on developing and expanding the website itself, rather than the infrastructure required to host it.
Performance consistent across significant usage peaks. The processing capacity of the Windows Azure Compute instances used for SXP allows for significantly more system load than the typical averages. This provides both resiliency across traffic spikes and consistent performance during extended periods of high traffic.
Easy-to-provision platform resources . As SXP grows and acquires new tenants, and as demand for resources expands beyond the current allocation, new instances can be provisioned and made part of the production environment in minutes, rather than days or potentially weeks.
Outage-free application maintenance and platform upgrades . The development and staging environments in Windows Azure allow SXP to transition between releases without impact to the production environment. This enables the SXP team to update and improve SXP on a more regular basis, without negatively affecting SXP tenants.
Measurable ROI and cost savings . The ROI for SXP on Windows Azure can easily make the case for Windows Azure on its own. A 99 percent savings on solution costs reduces the cost impact of the solution and allows IT departments to consider leveraging the platform for other solutions that may have been previously cost-prohibitive.
Ability to leverage applications and solutions into profit centers . Because of the flexible nature of SXP and its ability to provide services to multiple tenants using the same Windows Azure resources, SXP provides a new profit center business model for Microsoft IT. With Windows Azure-based solutions, organization can utilize the platform to not only reduce costs, but to create profit while developing new ways of providing IT application and platform solutions.
Lessons Learned and Best Practices
Microsoft IT has gained considerable knowledge of the specific Windows Azure qualities that make it unique from other development environments through the continued growth and adoption of SXP.
Treat Windows Azure as a "Black Box" . Organizations need to learn to treat Windows Azure as its own platform, rather than thinking in terms of integrated, on-premises solutions that have been used historically.
Actively Monitor Operations . Because of their separated nature, Windows Azure-hosted solutions need to be monitored differently from on-premises solutions. Windows Azure-hosted solutions should be monitored using a combination of Azure-based and on-premises monitoring solutions.
Plan for Integration and Refactoring . When migrating an existing solution to Windows Azure or integrating Windows Azure with on-premises components, plan for modification of code and communication between platforms. Windows Azure will require different integration methods than a solution that is hosted on-premises
Delineate Environments . With Windows Azure, it is easy to provide separation between development, staging, and production environments. Use this separation to create clear borders between the environments, and to test the deployment process with new releases of application code.
Participate in the Windows Azure Community . Windows Azure requires a new way of looking at application and platform development. New ways to utilize Windows Azure for innovative solutions are being created daily, and new tools and integration components are being created by both Microsoft and third-party developers to solve issues they encounter. Organizations can take advantage of the Windows Azure community to develop their own solutions by leveraging the work and development of other Azure customers.
After eighteen months, SXP has grown beyond original expectations and created an entirely new infrastructure type for Microsoft IT. Windows Azure provides SXP with the capability to perform and scale better than any on-premises solution. Its cloud-based architecture has simplified the implementation and maintenance process considerably, while still maintaining a reliable and always available presence. Most significant of all, SXP on Windows Azure costs far less than its predecessor, and has shown the potential to evolve from a cost center into a profit center, thus creating an entirely new business model for applications of its type.
For More Information
Learn more about SXP, Windows Azure, and Cloud Computing with the following links:
MSDN: Learn more about the Windows Azure Platform
Microsoft Technet: Cloud Computing
TechNet Radio: Developing Applications on Windows Azure
Microsoft Technet: Microsoft IT Showcase: How Microsoft Does IT
For more information about Microsoft products or services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada information Centre at (800) 563-9048. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information via the World Wide Web, go to:
© 2011 Microsoft Corporation. All rights reserved.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Microsoft, Windows, Windows Azure, SQL Azure, System Center Operations Manager, Visual Studio, and Social eXperience Platform are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.