IT Showcase On: Adopting Cloud Computing At Microsoft
Quick Reference Guide
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.
Quick Reference Guide, 138 KB, Microsoft Word file
Situation: Microsoft Information Technology (MSIT) is adopting cloud computing as the first choice for developing new IT solutions and applications. Cloud computing is providing a new way to develop and imagine IT at Microsoft.
How Cloud Computing is Different
Together, the following qualities differentiate cloud computing from other solution models.
On Demand Self-Service: A cloud-computing consumer is able to provision resources on demand, as the customer or the application requires them.
Broad Network Access: Broad network access means always available connectivity. A customer can consume and provision resources from anywhere. Location of physical data centers becomes largely transparent to the end user within the scope of their use.
Pooled Resources: Economy of scale is one of the largest benefits of cloud computing. This economy is often achieved by pooling a large amount of computing resources into one or more data centers.
Elasticity: Cloud computing resources can be scaled both smaller and larger, to provide whatever level of provisioning the customer requires.
Measured Services: Cloud computing is provided as a measurable and controllable product. This means that computing resources are measurable and quantifiable. Usage can be monitored, controlled, and reported. The customer pays for only the resources that they have consumed.
Examining Cloud Computing Implementations
Traditional IT: Traditional IT is what the computer industry has come to identify as IT over the last quarter century. An organization's servers reside in the organization's data center, and typically run different applications and environments, which are maintained and managed by the organization's IT team.
Public cloud: In the public cloud, an organization sells cloud services to a large industry group or groups, or the public. This model provides global scale, resource-intensive capabilities such as content delivery networks, and cost savings through economies of scale. Unlike with some private clouds, customers will never need to provision, manage, upgrade, or replace hardware.
Private cloud: A private cloud hosts only one organization. The private cloud hardware may be hosted and managed on-site by the organization itself, or it may be hosted and managed off-site by another enterprise. The private cloud is the model of choice for enterprises with concerns about data security and information privacy. However, the private cloud may lack public cloud features such as economies of scale and global distribution.
Hybrid cloud: Adopting the cloud
technology does not have to be an either/or proposition. Public cloud, private
cloud, and traditional IT can coexist in an organization's infrastructure, as they
do at Microsoft. Each model is leveraged for its strengths, and the models
remain unique entities that are linked by technology that enables the models to
work together and utilize each other's infrastructure.
Identifying Cloud Computing Delivery Models
Infrastructure as a service (IaaS): IT departments typically use IaaS to run client and server applications on virtual machines. The vendor manages the network, servers, and storage resources so that IT managers no longer need to buy, track, or decommission hardware. However, IT managers must continue to manage operating systems, databases, and applications. Depending on the service provider, IT managers may be able to configure networking components in limited ways. IT staff can manage configuration remotely either through application programming interfaces (APIs), or through a web portal, for example to increase application instances with spikes in demand. On-demand provisioning and data center location makes IaaS a viable option for organizations with limited infrastructure budget.
Platform as a service (PaaS): Enterprises use PaaS to develop, deploy, monitor, and maintain applications, while the cloud provider manages everything else. Developers can manage configuration remotely as with IaaS, but they need not configure the virtual machine image directly.
Software as a service (SaaS): This is perhaps the most familiar service delivery model, in which companies subscribe to pre-packaged applications that run on a cloud infrastructure and allow access from a variety of devices. Enterprises are rarely responsible for much beyond limited configuration, and data quality management.
Cloud computing can consist of any combination of one or more of these delivery models. Assessing the needs of the organization, and the functionality required by an application or solution will determine which model is appropriate.
Why Cloud Computing Matters
MSIT has identified three key benefits of adopting cloud in an organization:
Agility: Applications and solutions that are based on cloud computing can be deployed much faster and more efficiently. Public and private cloud environments can scale available resources up or down quickly to meet application demand.
Focus: Cloud computing requires less maintenance and management than traditional IT infrastructures. Infrastructure is abstracted and resources are pooled, so IT runs more like a utility. IT staff can then dedicate itself to more innovative and strategic roles.
Economics: Economically, cloud computing lowers the cost of delivering IT, and increases the utilization and efficiency of a data center. Delivery costs go down with cloud computing, because applications and resources become self-service, and usage of those resources becomes measurable in precise ways. Hardware utilization also increases, because infrastructure resources are now pooled and abstracted. For example, when a self-service application is finished, the server and storage resources it used will go back into the resource pool.
Important Considerations for Adoption
MSIT has identified three key points to consider when adopting cloud computing:
Security: Security involves development standards, code reviews, and many other aspects of the development and deployment process. Microsoft has embraced all of those processes, and has a well-documented security life cycle. Microsoft recognizes that security is not a feature that you add before or after you deploy your application. Security needs to be built both into the operating system, and into the application.
Compliance: As organizations contemplate adopting cloud technologies—particularly in certain geographies and in certain industries—regulatory and compliance concerns are becoming more and more prominent. Involving compliance at the beginning of cloud adoption ensures that the solution will satisfy the compliance needs of the organization.
Compatibility: Microsoft cloud services preserves organizations' investment in standards, APIs, and skills. Microsoft cloud services focuses on the Microsoft® .NET Framework, which reduces both the learning curve and the effort involved in migrating applications.
Cloud Computing in Action
Migrating a Low-Risk Application
The Auction Tool is a component of the Microsoft Annual Giving Campaign. The tool experienced anticipated spikes in resources (otherwise known as a predictable bursting workflow pattern). Usage was virtually nonexistent for most of the year, low for most of one month, and then became inadequate for the last-day spike. (20 percent of bids are made on the last day of the auction.) This left many bidders unable to place bids that would benefit the Annual Giving Campaign.
Auction Tool Migration Results
The following points summarize the results of the Auction Tool migration:
Windows Azure™ provided an appropriate environment within which to build the application.
The cloud computing-based solution scaled easily to accommodate the last-day spike in application bidding traffic.
All bids were received. The application processed 100 percent of incoming bids successfully.
Creating Hybrid Solutions—Business Case Web
Business Case Web is an internal, web-based application that Microsoft employees use to create business cases for exemptions to product pricing. Because Business Case Web is so deeply integrated into the corporate network environment, and because it holds compliance-controlled business information, migrating Business Case Web to cloud computing as an entire solution did not make logistical sense at the time. Rather, MSIT assessed the application, and then broke it down into logical components. Some components fit well into the Windows Azure and Microsoft SQL Azure™ platform architecture, and some were better off being left as on-premises components.
Business Case Web Results
The following were the results of the Business Case Web hybrid migration:
The core user interface and functional elements were migrated to Windows Azure and SQL Azure.
Elements of the solution that did not require the elasticity and on-demand functionality of the Windows Azure platform were not migrated.
Several reusable monitoring and integration components were created to enable complete monitoring and maintenance across the entire solution.
Cloud Computing Adoption Lessons from MSIT
Moving to cloud computing is both a business and technical decision. When making the decision to migrate to the cloud, both the business and technical factors need to be balanced. At the core of every cloud computing decision should be the business problem that the organization is trying to solve.
One size does not fit all. It is up to each organization to choose where to start and how to grow cloud computing. Each organization's approach will vary based on its business needs.
Take advantage of the opportunity to redesign. Many IT professionals have historically lived by the doctrine "if it's not broken, don't fix it." With the introduction of cloud computing, IT now has the opportunity to dramatically change the cost profile of older applications, and to move them onto a more scalable platform.
Review all environments for cost savings. Behind every production environment are several upstream environments—such as test environments—that often go underutilized or even unused.
Cloud computing will change both the organization and the role of the chief information officer (CIO). CIOs need to prepare themselves for the evolution of the CIO role. The CIO should organize around business processes as opposed to organizational boundaries.