Measuring Application Performance as a Baseline Before Migrating to the Cloud

Assessing applications for cloud readiness allows your business to determine what applications can be deployed to the cloud environment and what models (public, private, or hybrid) can support your migration.

When beginning your assessment, it often makes sense to start with applications that use minimal sensitive information (as these will be lower-risk) or by making a list of applications you are certain that you do not want to move to the cloud.

If you are not measuring (or not measuring the right metrics) when assessing your applications, you are going to deploy blindly and put your migration at a high risk of failure.

Consider these performance indicators as a baseline before migrating to the cloud:

Application Response, CPU, and Suspension Times

Response time is the time it takes the application to service a request – such as the time it takes to deliver a web page. This is arguably the most important metric from an end-user perspective (delivering the requested service) and a great input from a management perspective. Response time can be split into two factors: CPU and Suspension time.

CPU time tells how computationally intensive a transaction is. If there is an increase in the load of a system, CPU time often increases proportionally to the number of transactions.

Suspension times are time periods when a system is suspended and could not execute any code. An example would be the pausing, or lagging your system experiences during “Garbage Collection”. If there are massive Garbage Collections, it can result in high suspension times, leading to higher response times.

When and Where Applications are Run

Time and place are big performance indicators to investigate, however, they are both variables that are measured relative to the business and their specific goals.

If applications are currently running on a company’s private network or are very performance sensitive, you’ll have to be extremely delicate in the way you plan to migrate them.

It is recommended that you stay away from applications that run on platforms that are typically not supported (or may not be supported in the future) by cloud providers or applications that require frequent/high-volume transactions against an on-premise database that cannot be migrated to cloud computing.

Application Architecture

Your architectural pattern is where services are provided to the other components by application components over a network – it’s the basis of application mapping, the communication between applications.

A good start to building an understanding of the application architecture is to answer these key questions:
  1. Is the application web-based, or built with a service-oriented architecture (SOA)?
  2. Are there modular services? How hard is it to split into modular services?
  3. Is it monolithic, two-tier, three-tier, etc.?
  4. Does the application scale out? Up?
  5. What is the demand of the application? What impact will moving to cloud computing have on demand?
Lifecycle of Application

Understanding the lifecycle of an application is important for understanding the efficiency of migrating it. If there will be little efficiency gain from the migration, then it might serve the company better to keep at its current location.

You should have an understanding of the application stage: if it’s approaching retirement, needs to be redesigned or undergo a technology refresh, or if it is defined and ready for cloud computing. It is also important to analyze whether it would it be better to replace it with a new SaaS solution instead of IaaS or Paas. Weighing pros and cons of the lifecycle metric will be very influential in finding the best fit for your applications.

Data Sensitivity and User Count

Last, but certainly not least, it is important to look at data sensitivity and the number of users relying on the application.

Applications that are used by remote workers and that contribute information to the company’s broad management information databases should be highly considered for the cloud and its mobility.

On the other hand, if applications involve sensitive data (especially when legal risk is involved in any discussions) they will, at minimum, require special treatment to run on the cloud service.

Data governance, confidentiality, and integrity need to be preserved during the migration. When measuring, you should be aware of how much data exchange will occur between the components of the application and between the application and the user.

We hope this was helpful in determining which applications are cloud ready for your business migration. For more guidance on preparing for a migration project, download our latest eBook – Identifying Cloud, Data Center, and Security Vulnerabilities through Cloud Discovery.