Questions to consider before moving legacy systems to the cloud
- By Jim Tootell
- Aug 31, 2020
Considering the hype surrounding the benefits of running in the cloud, it is no surprise that migrating legacy applications is a top priority for many agencies and their IT departments. While cloud computing has fundamentally changed how agencies manage their infrastructure, many still run core business functions on commercial-off-the-shelf or in-house applications that predate the cloud era.
Applications that earn the “legacy” moniker are typically based on older technology and often have no source code or skilled maintainers available. Naturally, agencies would like to migrate these legacy applications to take advantage of operational efficiencies, better workforce management and reduced costs that running in the cloud can provide, but rushing into this migration shouldn't be done without answering some vital strategic questions.
Before making any decisions about legacy migration, a detailed business case with quantifiable migration goals should be developed. Whether it's a reduced on-site footprint, enhanced security or scaling – the reason for the migration must take into account all the technical challenges and the short- and long-term impacts. Executives should brace themselves for the possibility that the cost and risk of migrating a legacy application are not worth it. This kind of assessment requires application admins, network engineers and other technical stakeholders to quantify their input early in the business case development. Some questions to ask include:
- What are the sunk or projected costs for legacy compute resources versus cloud equivalents?
- Does current staff have the skills required, and are they able to restore from backup?
- What is the data strategy behind the migration? For example, can two instances run harmoniously and merge/share records?
- How will experimentation, test-prep and acceptance testing be paid?
Agencies should also consider whether the migration will:
- Require changes in the application or the addition of new features to run in the cloud.
- Necessitate additional staff members to maintain the application.
- Meet all security needs with a single or multi-tenant infrastructure.
- Streamline operations or require contracting outside support.
- Comply with applicable governance and risk management standards.
- Provide enhanced security requirements for potential high-risk vulnerabilities.
Laying out the goals versus facts (inputs) of the business case is an iterative process, not a linear one. While the business goals may be realistic, the migration of a legacy application is an objective reality. Among the technical questions that engineers should consider are:
- Can the legacy application even run in a virtual machine? (Some apps require bare metal.)
- Is containerization an option?
- Does the application store its own data or can it use a detached data repository?
- Can the application be clustered?
- In elastic compute environments:
- Will the application respond gracefully to startup and shutdown?
- Will clustering or elastic computing break any application security mechanisms?
- Does the application's licensing model prohibit running multiple instances?
An often overlooked aspect of legacy migration is that execution requires significant highly technical planning and testing. These reviews incur costs and schedule impacts that must be considered in any business case ROI calculation. Generally, the IT team will need a testbed to set up one or more instances of the application and explore its behavior in the cloud (including edge cases).
Another factor to consider is where the real value resides: in the application itself (e.g., proprietary algorithms, workflow customizations, interfaces to other legacy systems, etc.) or in the data it manages? Typically, data migration is more cost-effective and less error-prone than legacy application migration.
Proactively anticipating the answers to these types of questions will help agencies determine if a legacy to cloud migration is viable or if they should consider maintaining their application while they start shopping for a cloud-friendly replacement.
Jim Tootell is the chief software architect at PMAT, Inc.