Cloud-Based Application Evaluation, Planning, and Migration
Microsoft Information Technology (MSIT) is at the forefront of the Microsoft directive to lead with cloud computing. To support this initiative, MSIT has developed application assessment and migration tools that evaluate an application’s suitability for migration to Microsoft cloud services. MSIT has also documented best practices that can help Microsoft customers evaluate and migrate their infrastructures, applications, or services, to cloud computing.
|Intended Audience||Products & Technologies|
Article, 110 KB
Cloud computing is providing a new way to imagine IT at Microsoft. With the Chief Executive Officer (CEO) directive to lead cloud computing, MSIT has approached its application portfolio with a cloud-first commitment. Cloud computing is now the preferred and default environment for new and migrated applications at Microsoft.
Microsoft Chief Information Officer (CIO), Tony Scott, has set a goal that 85 to 90 percent of Microsoft workloads will be based on cloud computing. To support this strategy, MSIT has developed a methodology and set of best practices for analyzing their current application portfolio for possible candidates to migrate to cloud computing. This analysis enables MSIT to select the ideal cloud computing-based environment for each application. MSIT has captured these best practices and documented them for other Microsoft customers that wish to migrate their organizations to cloud computing.
Cloud-Based Computing at Microsoft
Microsoft is committed to be its own first and best customer. Microsoft considers early adoption and enterprise-level usage of its own products as the best way to provide feedback to their product teams. Internal usage enables Microsoft to improve their own cloud services by testing them in a work environment, and by discovering different ways to utilize their own products. MSIT can then test and document best practices for other companies that are adopting Microsoft cloud services.
Microsoft utilizes their own cloud offerings (Microsoft cloud services), which include online services, application development and hosting services, and private cloud services. Using these services, MSIT tests its own products in differing application environments to determine which environment best suits an application. MSIT tests applications in four distinct application environments: traditional IT, public cloud, private cloud, and hybrid cloud:
- Traditional IT: Traditional IT is what the computer industry has come to identify as IT during the last quarter century. An organization’s servers reside in the organization’s data center and typically run different applications and environments, which the organization’s IT team maintains and manages.
- Public cloud: In the public cloud, a tenant purchases cloud services from a service provider that hosts and manages the public cloud. The tenant may share this cloud with other large industry groups, or with the public. This model does not offer the same security levels as the private cloud. However, 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, public cloud tenants will never need to provision, manage, upgrade, or replace hardware. MSIT has adopted Windows Azure™ and SQL Azure™ as the default platforms for public cloud application hosting platforms.
- 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 a service provider. 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. Microsoft uses its Windows® operating systems, combined with the cloud-enabled capabilities of Microsoft® System Center 2012 to host and manage private cloud environments.
- Hybrid cloud: Adopting the cloud technology does not have to be an either/or proposition. Public cloud, private cloud, and traditional IT can all 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. This enables the models to work together and utilize each other’s infrastructure. Development tools that span all of the delivery models—such as Microsoft Visual Studio®, and the Microsoft .NET Framework—enable organizations to develop integrated hybrid solutions.
Cloud Computing-Based Delivery Models
Cloud computing-based delivery models define where the cloud begins, and where it ends. MSIT delivery models fall into one of the following three models:
- Infrastructure as a service (IaaS): IT
departments typically use IaaS to run client and server
applications on virtual machines. In an IaaS model, 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, for example to increase application instances with
spikes in demand. IT staff can manage configuration remotely
either through application programming interfaces (APIs), or
through a web portal.
On-demand provisioning and data center location makes IaaS a viable option for organizations with limited infrastructure budget. IaaS provides the most customizable application environment, but also requires the most maintenance of the three cloud computing-based delivery models. Private cloud environments are often designed to provide IaaS to their clients.
- 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. With PaaS, the customer still has a large degree of control over the application’s operating environment, but they are not responsible for maintenance and management tasks such as operating system updates, security patches, and other routine tasks. PaaS provides a managed operating environment so developers can focus on the solution. The PaaS environment enables MSIT to have a completely functional application-hosting environment without having to perform maintenance.
- 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. SaaS enables the developer to decouple the development process from infrastructure and operating system management. The customer of a SaaS solution manages the application and only the application.
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.
The MSIT Approach to Migrating Applications to Microsoft Cloud Services
Cloud adoption is not an all-encompassing decision stating that every application will move to cloud computing. Instead, MSIT analyzes and considers application suitability and business benefits before deciding what approach they will take with each application.
Assessment Criteria and Tools
MSIT’s approach to assessing the application portfolio for cloud computing candidates begins at the most basic level. MSIT determines if the application is still relevant and necessary, and whether or not it will still be relevant and necessary in 6 months. If an application is no longer used or is scheduled to be retired, then it does not make the list for migration. If the application does pass the first test, then the remainder of application selection criteria generally falls into three categories: workload, application categorization, and assessment tools.
An application’s workload is an important consideration for cloud computing analysis. One of the key benefits of cloud computing is on-demand resources. This means that cloud computing–enabled applications and environments are assigned and consume only the resources that they require. Idle resources—such as random access memory (RAM) and processor cycles—are reassigned to processes or applications that need them within the cloud environment.
The following workloads are good candidates for cloud computing.
Table 1. Workloads suited for cloud computing
On and Off
This type of workload typically includes seasonal or time-bound processing requirements that fall only during certain times. This workload is a good prospect for cloud computing because it is assigned and only consumes resources when it needs them.
This type of workload includes predictable bursts of activity during certain days of the week or times of the year. In traditional IT, applications with predictable bursts are often hosted on infrastructure that is capable of handling the heaviest workload, which is typically during a burst period. However, the remainder of the time that infrastructure is wasted, especially if bursts are short or sporadic. In cloud computing, bursts are managed by temporarily scaling up resources during peak periods, and then scaling them back down when workloads are light.
This type of workload includes unpredictable events that trigger heavy usage requirements. Therefore, the enterprise must scale design considerations to predict and be prepared for the heaviest usage imaginable. This is similar to predictable bursting in the way the workload fluctuates. However, unpredictable means that it is generally unknown when bursts will occur, or how heavy the workload will be. However, just as with predictable bursting, the remainder of the time that infrastructure goes unused. In cloud computing, unpredictable bursts are managed by temporarily scaling up resources when needed, and then scaling them back down when they are no longer needed.
This type of workload is typically associated with new development, and in particular, with startups or specific groups in larger companies. Cloud computing environments can scale to meet the demands of the application as it grows.
Determining how an application is used within Microsoft is another important part of the assessment process.
- Technical factors (such as the complexity of the application) may limit its migration to a cloud computing environment. Available features in cloud computing must be evaluated against an application’s technical dependencies before being considered for adoption.
- Business factors also contribute heavily to the decision to migrate an application. The importance of the application’s functionality to the organization, how critical the data contained within the application is, and whether migration development costs provide a positive return on investment (ROI) can influence the decision of whether or not to migrate.
MSIT uses several assessment tools to properly analyze an application’s suitability for cloud computing:
- Microsoft Assessment and Planning Toolkit (MAP)
MAP provides detailed readiness assessment reports, executive proposals, and hardware and software information, along with recommendations to help organizations accelerate the application migration process for both private and public cloud planning assessments. MAP also analyzes server utilization data for Microsoft Hyper-V® Server virtualization planning, including identifying server placements and performing virtualization candidate assessments, including ROI analysis for server consolidation with Hyper-V.
- Windows Azure Migration Assessment Tool (MAT)
The MAT for Windows Azure encapsulates all the information to be aware of before attempting the application migration to Windows Azure. Based on the response to a series of simple binary questions, the tool generates a report that outlines the amount of development effort involved to migrate the application, or the architecture considerations for a new application.
- Windows Azure Pricing Calculator
The Windows Azure Pricing Calculator analyzes an application’s potential public cloud requirements against the cost of the application’s existing infrastructure. This tool can help to compare current operational costs for an application, against what the operating costs would be on Windows Azure and SQL Azure.
Building the Business Case
By using the assessment tools outlined in this article, organizations should be able to make a reasonable estimation of an application’s suitability for migration to cloud computing. However, there are some additional considerations that exist for each delivery model.
- Organizations may still require traditional IT to satisfy specific technical requirements or dependencies.
- Traditional IT will likely exist to some extent in most organizations. The goal of cloud computing adoptions is not to completely remove traditional IT, but to use the most suitable delivery model for the application.
- The private cloud can often be a compromise between the manageability of traditional IT and the flexibility of a public cloud.
- Private clouds are used quite often in hybrid solutions.
- Private clouds are the answer to many situations when public cloud feature limitations prevent an entire solution from migrating to cloud computing.
- The Public cloud is typically the most cost-effective of the cloud computing solutions, and can offer the most dramatic ROI, provided the migration scenario is favorable.
- Public clouds most commonly host SaaS solutions, but PaaS and IaaS offerings in the public cloud are beginning to become more common.
- Public clouds typically provide the best location-independence and global reach.
MSIT has documented several lessons learned and best practices developed based on their application migration experiences:
- Organizations can realize significant technical and business benefits from the movement of their application environments to cloud computing.
- Cloud computing is not an all-or-nothing approach to traditional IT and hybrid environments will continue to exist. Furthermore, organizations should make use of hybrid environments when the application is best suited to those environments.
- For the first few test migrations, organizations should select applications with lower risk and complexity until they become familiar with the process. Organizations can then attempt more complex application migrations that have regulatory exposure, integration issues, downstream dependencies, or other complicated attributes.
- Understanding application workload patterns is beneficial. These patterns will indicate which cloud computing platform is most suitable.
- Moving to cloud computing should be both a business and technical decision, and 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.
MSIT has developed a consistent and dependable approach to cloud computing adoption, and migration of applications to Microsoft cloud services. Their approach evolved through migration and adoption experience, involvement with product and service groups, and exploration of alternative solutions. As a result, Microsoft continues to grow closer to its goal set by CIO Tony Scott, that 85 to 90 percent of Microsoft workloads will be based on cloud computing. Based on its success, MSIT will continue to be a leader and innovator in cloud computing adoption.
For More Information
For more information about Microsoft products or services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Order Centre at (800) 933-4750. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information via the World Wide Web, go to:
© 2012 Microsoft Corporation. All rights reserved.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Microsoft, Windows Azure and Windows Server 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.