Best Practices for Cloud Migration - TriNimbus

Best Practices for Cloud Migration

The many benefits of moving on-premise tools, applications and processes to cloud-based software and hardware infrastructure, such as greater availability, scalability and reduced capex, are well-known. Accomplishing such a migration in a cost-effective and timely manner is possible through careful planning, workload evaluation and an implementation plan that yields measurable results on a regular basis.

Set Clear Business Goals

A smooth transition to cloud-based operations requires significant upfront planning to yield early results and minimize implementation disruptions. Such planning should be based on a small set of clearly articulated business objectives.

Evangelize the goals to all stakeholders, especially those on the front line of IT operations and services while at the same time collecting their input and managing expectations with regard to results and operational changes. This may be an opportune time also to discuss breaking down existing operational silos, which a cloud-based paradigm can facilitate.

Triaging Workloads

TriNimbus has found that a careful evaluation and prioritization on a workload-by-workload basis is essential to a successful migration to AWS. Every workload has unique characteristics that determine the best migration approach. Which of the four methods below have tradeoffs in terms of timeline, budget, required skillsets, licensing plus impacts on customers and relevant compliance requirements.

Lift-and-Shift

Lift-and-shift, aka rip-and-lift, replicates a current application with minimal modification to its architecture or design. It requires the least time and effort. You continue to use your existing build/deploy methods and often existing licenses can be transferred to the AWS environment.

Most of the effort is spent identifying dependencies and other component requirements. Lift-and-shift apps typically do not take full advantage of cloud performance and resource optimizations however.

If a lift-and-shift candidate app runs in a virtualization environment, the VM can be exported to AWS EC2. AWS supports RAW, VMDK, VHD and OVA VM disk formats.

Refactoring Apps

Refactoring applications for AWS takes moderate effort and time, though often the changes are confined to architectural modifications that better support availability and security. Sometimes, relatively simple adjustments to configurations can take advantage of the dynamic resources available in the AWS environment, which will optimize consumption costs. Or, utilization of managed AWS resources can reduce overhead costs. Possible candidates for refactoring at migration time include resource-intensives apps, such as BI analytics.

Rebuilding Apps

An app rebuild requires moderate to high effort and a longer timeline. This approach will, naturally, take fuller advantage of what AWS has to offer in security, performance, scalability and availability. Aim to leverage all relevant native AWS services such as notifications, logging, storage and message queuing as well as any relevant managed services plus the capability for automated provisioning and deployment.

Greenfield Development

Though not strictly part of a current capability migration, you may wish to target current greenfield applications for the cloud rather than on-premise deployment, use them as replacements for existing apps or take this approach for a proof-of-concept. The relative timeline is typically the longest of the migration options but provides the ideal opportunity to architect an AWS full-on application from the ground up.

Regardless of which of the four approaches each workload is assigned, a qualified AWS partner such as TriNimbus will assist you in choosing the most efficient development, test and project management methodologies appropriate to each option.

Preparatory Organizational Evaluation

Once you have communicated the migration strategy and incorporated feedback, but before the first workload is moved to the cloud, take a step back to evaluate potential obstacles:

  • Do you have a clear idea of the migration costs and is budget allocated for those?
  • What is the organization’s level of AWS knowledge? Is training necessary? Should additional skillsets be developed or hired?
  • Should you adopt agile and/or DevOps methodologies, which are well-suited to cloud-based development and deployment?
  • How will work flows and day-to-day responsibilities potentially change as AWS becomes the norm?
  • What tooling, licensing and compliance requirements are necessary to complete migration?
  • What are the potential impacts on your customers and are they in the loop?

The creation of a cross-departmental program team of senior technical and business staff plus an experienced outside consultant is often the best way to perform such evaluations, develop a best practices center of excellence and monitor continue progress.

Next Steps

Workload Inventory

Produce a full inventory of all workloads identified for cloud migration. The inventory should include which of the four migration methods will apply to each workload, the schedule for deployment, organizational dependencies on that workload and expected measurable benefits once migration is complete. It should also note any customer, compliance or security issues involved.

Implementation Plan

Once you prioritize the workload inventory, you are ready to begin cloud migration. Depending on your organization’s AWS competency level, if you have not already performed a PoC, you might choose an appropriate app for that purpose using the lift-and-shift technique. Additional PoCs could be performed with other apps using refactoring and so on.

In parallel, assuming the test team already has a high-level test plan in hand, they should commence to validate functionality, performance, load, security and usability testing as each app comes online. They will fine-tune their test approaches as migration continues. They should absolutely take advantage of the ability to mirror the production environment to a twin AWS instantiation for testing.

Even if you are not employing an agile approach to your migration, follow program management best practices by scheduling weekly or bi-weekly reviews to ensure expectations are being met for resource capacity, time, cost and performance targets. Adjust resources and schedule as necessary.

Conclusion

Following best practices in planning, implementing and measuring your migration results is indispensable for cloud migrations although no one-size-fits-all set of guidelines exists. An experienced migration partner with in-depth familiarity with complex migration trade-offs will customize practices to fit the unique needs of your organization. Such partners pay for themselves by selecting the correct product/service combinations for your company, optimizing cloud resource usage and ensuring data and operations continuity.