How to Determine Which Applications You Should Prioritize for Cloud Migration
Over the past few years, we’ve helped many enterprises plan their move to the cloud. In every case, one of the primary questions they face is trying to decide which applications they should prioritize for migration. When you consider the complexity of the cloud and the thousands of applications an enterprise can have, this can be a pretty daunting challenge. While a variety of considerations can play into addressing this, application complexity and application suitability are two factors that have provided these enterprises with clarity and a roadmap for their migration plan.
According to recent research from IDG, 70% of organizations have at least one application or a portion of their infrastructure in the cloud. Over the next three years, 90% of all organizations will have apps or infrastructure in the cloud. For these companies, understanding application complexity and suitability are critical because they’re key factors for ensuring a smooth pilot, which will build internal confidence in their decision to move to the cloud.
Understanding application complexity requires that you consider, as a whole, the application’s performance, classification, the environment in which it runs, and the other applications and infrastructure it communicates with. As a general rule of thumb, you should migrate the least complex applications first. Beginning with complex applications can create major headaches for an organization and if this is your organization’s first experience with the cloud, it may make you wary of migrating anything else.
- Applications that are mission-critical are usually not good candidates for migrating first, since any problems they experience have the potential to reverberate throughout the business. Applications in these classes include home grown applications. Save these applications for migration later when you have a few under your belt. Applications that are less mission critical, such as non-production environments like development, staging, and disaster recovery, are good candidates to be at the front of the line. These applications are less likely to cause problems that impact the business and your customers if something goes wrong during migration.
- A critical consideration when determining an application’s complexity is its connections. You’ll need to map your application dependencies to understand all the other applications and servers it communicates with, how often they communicate, and whether it’s bidirectional or unidirectional. Look for multi-tier dependencies and dependencies between different parts of the organization. Applications with more dependencies will be the hardest to migrate and therefore should be moved in later phases.
- The applications that consume the least amount of resources – compute, storage and network – will have the lowest impact on your other applications and will take less time to migrate. Consider these applications for early migration.
- You’ll also want to take into account the “5rs” of migration when evaluating an application’s complexity. Applications that you’re simply re-hosting should move in phase 1 of your migration. However, applications that you’re re-factoring, revising, or re-building require more work and therefore should be migrated later on.
Cloudamize speeds the process of analyzing application complexity by automating performance analysis and dependency mapping. Learn more about these capabilities here.
When prioritizing applications to move to the cloud, consider that some applications will be more suitable for the cloud than others, meaning that because of their performance profile and usage patterns, they will gain the most agility and efficiency - and therefore cost benefits - from moving to the cloud.
- Determine if there are suitable options in the cloud for your application. You do this by analyzing the performance profile of the application and comparing it to what’s available in the cloud. If you can’t find a virtual machine that meets your application’s performance requirements at a reasonable cost, then it’s not a good option for moving to the cloud.
- Applications that have variable usage patterns are great candidates for migration. Since they can have bursty behavior from an CPU/IOPS standpoint, they’re likely creating a lot of waste. Keeping these applications on-premises may not make sense since you’ll have to continually provide the resources to meet their peak usage times. By moving them to the cloud, you can take advantage of auto-scaling, which can automatically increase the number of virtual machines available during demand spikes so that you maintain performance and decrease capacity during lulls to reduce costs. This on-demand nature of the cloud is what makes it perfect for applications with dynamic workloads. Think of retail environments that may have apps supporting seasonal fluctuations in customer demand, or organizations that perform year-end reporting. You’ll have a high load during peak periods, and lower demand load – or even none – when the app is not being used. When you need the resources, simply spin them up; and when you don’t, turn them off. Or, if you’re using auto-scaling, this will happen automatically. Paying only for the compute capacity you use can help you save on costs.
By prioritizing your migration with each application’s cloud suitability and complexity in mind, you’ll be on your way to a successful migration that will build organizational confidence in your decision to move to the cloud.