Sign up for a live Kubernetes or DevSecOps demo

Click here

DevOps Glossary

Application Migration

What is Application Migration?

Application migration describes the process of moving an application, along with its associated data and host servers, from one environment into another. As a growing number of enterprise organizations have adopted public and private cloud infrastructure, application migration frequently refers to the migration of enterprise applications from on-premise servers into private, public or hybrid cloud environments.

There are significant challenges associated with migrating an application into a new environment. For starters, there are always differences between the original environment and the target environment which can necessitate changes to the application's functions or architecture. The new environment may present unfamiliar security and compliance challenges that require the organization to develop new tools and capabilities for securing applications and data. IT organizations that pursue application migration without a defined strategy or with poor sensitivity for costs may find themselves initiating projects that are doomed for failure.

At the same time, IT organizations that are prepared to meet the challenges of application migration will find a range of potential strategies and software tools that help to facilitate and secure the application migration process.

Five Best Practices for Application Migration

IT organizations that undertake a structured approach to application migration are more likely to see their migration project executed on time and on a budget without causing significant disruptions to the business. Application migration is similar to application development in that it requires comprehensive project management and attention to detail. Organizations should follow these five best practices when planning and executing any application migration into the cloud.

Planning and Assessment

As an organization begins preparing to migrate applications and other assets into the cloud, it is advisable to conduct a full assessment of technological assets, application code and any related inter-dependencies. Application migration is a complex process, and overlooking key details can lead to migration roadblocks and performance issues that will eventually need to be fixed. IT organizations should obtain a comprehensive overview that includes:

  • Lists of active and inactive servers, applications and supporting technologies, including those deployed on-premise and in the cloud
  • An inventory of connections and inter-dependencies between applications
  • Accurate data transfer volume statistics that describe the real demand level that each application is servicing
  • Any hidden latencies or obvious performance challenges that should become the focus of the application migration project

Application Performance Monitoring

Low-level monitoring tools that offer basic information on CPU usage, disk space or network latency falls short of providing the performance monitoring capabilities needed to determine whether your application migration project is succeeding. IT organizations can take advantage of a cloud-native analytics platform to reliably measure application performance through the collection and analysis of event logs from throughout the cloud infrastructure.

System-level resource monitoring can be effectively combined with application monitoring solutions for all leading cloud service providers, including:

  • Amazon Web Services
  • Google Cloud Platform
  • Microsoft Azure
  • Pivotal
  • Salesforce.com

Security Validation

If the application that you are migrating into the cloud contains sensitive data, your strategy must include considerations for security validation. IT organizations that start thinking about security at an early stage in the application migration planning process do the best job of ensuring that the application in its new cloud environment does not contain any vulnerabilities that could be exploited by cyber attackers who wish to steal data.

Compliance Monitoring and Validation

Security and regulatory compliance are closely linked when it comes to applications that are hosted in the cloud. Companies that operate in highly regulated industries, or who are subject to industry-specific data security and privacy laws must take the utmost care to ensure that their compliance status is not jeopardized at any point in the application migration process. Some examples of possible compliance commitments for your company could include:

  • Payment Card Industry Data Security Standard (PCI DDS), for organizations who collect credit card information from their customers
  • Health Insurance Portability and Accountability Act (HIPAA), for organizations who collect and store sensitive patient data (health insurance providers, clearinghouses and claims processing companies, some health app publishers)
  • European General Data Protection Regulation (GDPR), for organizations who collect personal information from customers that live within the European Union

Organizations may also possess data security certifications that require them to follow best practices or meet a defined standard for information security and privacy, such as the ISO/IEC 27001 and 27001 Information Security Standard.

Implementing Key Performance Indicators (KPIs) for Your Cloud Deployment

Once an application migration has been completed, the IT organizations should determine the most important performance indicators that will be used to monitor its performance on an ongoing basis. When an application falls below KPI baselines, IT operations teams can work to identify and rectify the root cause of the performance issue before customers are negatively affected.

Application Migration Strategy & The 6R's

There are currently six popular general strategies for conducting application migration, represented by the 6Rs model described below.

Rehosting - Sometimes called "lift-and-shift", re-hosting is an application migration approach that uses automated migration tools to rapidly deploy a legacy system onto the cloud platform.

Refactoring - Sometimes called "lift, tinker and shift", refactoring involves making changes to the application code and adopting a Platform-as-a-Service cloud delivery model to support the application. Refactoring involves relatively minor adjustments that help optimize the application for use within the cloud framework.

Revision - Application revision takes refactoring a step further, enacting wholesale changes to the application code and architecture before completing its migration into the cloud. Making deep changes to the code requires an in-depth knowledge of the application, but the resulting application is fully optimized to take advantage of cloud deployment.

Rebuild - When an application's coding and architecture are not suitable for the cloud, or when the application no longer suits changing business needs, the IT organization may choose to rebuild the application entirely before migrating it into the cloud. Rebuilding an existing application gives developers the opportunity to rethink workflows, integration, and infrastructure components, optimizing for cloud performance and security each step of the way.

Replace - In some cases, it may be impossible to deploy an application to the cloud in its present state and cost-prohibitive to revise or rebuild it. Here, it is appropriate to replace the application with a third-party application that offers similar functions and capabilities along with better compatibility with cloud environments.

Retain - Retaining the application in its current form is not technically a form of application migration, but it is a valid result for an assessment whose goal is to determine the viability of application migration. If it doesn't make sense to invest the time and money to migrate an application into the cloud, the IT organization may be happy to continue hosting it on-premise until the situation changes.

Sumo Logic Streamlines and Supports Application Migration to Cloud Platforms

Sumo Logic's cloud-native platform provides capabilities that support application migration from on-premise IT infrastructure into the cloud. With Sumo Logic, IT operators can monitor cloud-based applications in real-time, maintaining their security and compliance status while rapidly detecting any new performance or operational issues. Sumo Logic provides the enhanced visibility and transparency that IT organizations need to optimize every step of the application migration process.