What does it mean to Rehost an application?
Rehosting is an approach to migrating business applications hosted in on-premises data center environments to the cloud by moving the application “as-is,” with little to no changes to the business functions performed by the application. It’s a faster, less resource-intensive migration approach that gets your apps into the cloud without much code modification. It is often a good first step to cloud transformation.
Organizations with applications that were initially developed for an on-premises environment commonly look to rehosting to take advantage of cloud computing benefits. These benefits may include increased availability and networking speeds, reduced technical debt, and a pay-per-usage cost structure. When defining your cloud migration strategy, it’s essential to analyze all migration approaches, such as re-platforming, refactoring, replacing, and retiring.
CHECK OUT OUR WHITEPAPER & LEARN ABOUT CLOUD-BASED APP MODERNIZATION APPROACHES
Before getting started with your rehost migration, it’s important to create a shared vision to understand why you’re migrating in the first place. You also want to consider various cloud benefits and fully understand the challenges and limitations of a rehost approach. If you haven’t established an executive sponsor to unite internal groups, secured sufficient budgeting, or defined a plan for organizational change management, consider revisiting the strategy. You want internal alignment, before kicking off the initiative, to ensure a rehost approach is the best fit.
Below, we outline important steps to take when planning for a migration using the rehost method. We base these steps off of our real-world experiences, moving both custom and packaged (commercial) on-premises applications to Microsoft Azure.
The challenges of moving on-premises business-critical applications to the cloud span technical, operations, and business and IT organization domains. The key areas we cover include:
- Defining the cloud availability and recovery strategy upfront
- Conducting a data center assessment
- Assessing the business operations impact
- Building an effective migration plan
- Defining the system cutover plan upfront
- Testing as a much as possible before cutover
Plan for Availability and Recovery Upfront
Migrating on-premises applications to a new environment they were not originally designed for needs careful evaluation concerning high availability and disaster recovery. The way these applications function, especially commercial off the shelf (COTS) packages, may rule out some of the standard cloud platform availability services typically leveraged in the cloud environment for custom applications.
Conduct a Data Center Assessment
From a technical standpoint, on-premises business applications may have several cloud migration “risk factors”. Risks include dependencies on Windows OS versions and frameworks that are out of support, no direct product upgrade paths, and even cases where the original application vendors no longer provide support. This could be due to changes in product strategy, merger/acquisitions of the vendor or the vendor has gone out of business.
Determining the readiness of an on-premises application when migrating it to the cloud, particularly COTS-package applications, is very critical. Prior to going down the path of migration, a fact-based assessment of the technical risk factors and available migration options must be conducted. A firm go/no-go decision on rehosting (versus retire/replace with a new system) should be made as early as possible in the project.
The readiness assessment needs to be thorough with consideration of all architectural components including proprietary data persistence storage mechanisms or data exchange communication protocols, add-ons or other vendor external product dependencies, customizations implemented for the specific client business processes, etc. Any gaps in conducting the data center assessment of the migration can potentially render the whole effort unsuccessful. Building the partnerships among on-premises systems stakeholders discussed earlier is key to supporting this analysis.
Some important aspects of this assessment include:
- Target Deployment Environment Compatibility Assessment: Examine all system upgrade paths and supporting platform system components to rule out any basic incompatibility issues in deploying the migrated applications in the cloud environment. For example, if the on-premises application is a COTS product, is there a version that runs on the available OS and Database platforms in the desired target cloud deployment architecture? Another important area to assess is the required connectivity between the application (or applications) to be migrated. Can the types of required communication methods be supported in a cloud virtual network environment with potential connections back to the on-premises network and applications. A related key consideration is latency and authentication/authorization issues associated with moving on-premises client/server-based applications with thick clients to a cloud environment. You’ll need to consider how the end-users will connect to the systems (ex: Virtual desktops) and do things like export data and reports from the on-premises system back onto their local PCs.
- Security and Compliance Assessment: Identify the security and compliance requirements for the system and identify what cloud-based controls and mechanisms will be needed to meet these requirements. Map out the key security and compliance scenarios and verify whether the new cloud environment will meet these scenarios.
- Performance Assessment: Creating a list of business transactions that are representative of the different workloads is essential. Define response time requirements for these business transactions based on business needs and the current system’s performance Service Level Agreements (SLAs). Performance feasibility needs to determine how these SLAs can be met in the new cloud environment.
- Scalability Assessment: Especially for COTS-packaged applications, what are the available options for scaling (scale-out or scale-up)?
- Availability Assessment: Again, for COTS-packaged applications, in particular, analyze possible failure scenarios and determine what mechanisms are available for early detection of failures and potential options for recovery/restart to meet required SLAs, Return to Operations (RTO) and Restore Point Objectives (RPO) requirements.
- Data Migration Assessment: The rehost method may include first time and incremental data migration as well. Detailed analysis of the data migration scenarios for the applications is required, and the amount of time required for the migration and its readiness during the cutover time window must be assessed.
- Production Cutover Method Assessment: The cutover strategy can vary significantly, based on the type of business application. Consider the constraints that interdependence between the migrated applications and remaining on-premises applications will have on the cutover approach. These can determine if the migration can be performed incrementally or must be done all at once. Determine if it’s possible to have the migrated system in the cloud run in parallel with the on-premises system. Can the parallel operations support running entire business functions or selected portions of business functions? You’ll need to consider what resource (technical, staffing, and budgetary) requirements exist for the cutover strategy, and the overall cost and productivity impacts to ongoing business operations.
Conduct a Business Impact Assessment
In addition to performing the technical assessment to determine the appropriate rehost approach, it is also important to consider the business operational impacts of the migration effort. This impact can be experienced during both the migration and post-migration stages of the project. Some key items to consider include:
- Operational Impacts: What are the new system’s operational dependencies in terms of the business users’ skills, support, and operational costs? This would determine the operational readiness of the new cloud-deployed system.
- Staffing and Vendor Impacts: Prepare a list of internal staff resources and roles required for performing the migration and a list of external parties, including on-premises system product vendors. Evaluate the costs of obtaining those resources.
- Schedule Impacts: This entails determining the timeline and the schedule based on the availability of all the resources involved, factoring in the interdependencies of various activities within each workstream and across workstreams. Allowing calculated room in the schedule to accommodate the unplanned delays in the availability of the resources, and assess the potential delays of dependent tasks and the impact of the business constraints related to cost and timing. This makes the drafting of the migration timeline and the schedule a complex process that needs serious effort and commitment.
Build an Effective Migration Plan
Business and technical ownership of on-premises application suites are spread across multiple entities and teams. While planning for migration of these apps, there are inherent dependencies across internal and external teams. Creating a comprehensive application cloud migration plan that captures the essence of the entire roadmap, timeline, and schedule is the key difference between success and failure.
Define Entry and Exit Gates
Migration of on-premises applications must be carefully managed to minimize the disruption to business operations. One way to ensure that migration plans progress in a stable way, is to have well-defined entry and exit gates for each phase of the migration. Consider the cloud architecture deployment definition, initial cloud environment configuration, and deploying initial test versions of the migrated application to the new environment.
Each gate should have well-defined entry criteria that must be reviewed and agreed to by all the stakeholders and approved by the migration project owner. All team leads (technical and business) that make up the migration team are also required to sign off at each entry/exit stage. Along with the entry/exit criteria, key technical, cost, and schedule risks must also be identified and managed throughout each phase of the project.
Expect Implementation Surprises During Migration
Migration to the cloud environment, especially for COTS-product based applications may uncover previously unanticipated technical surprises. This is often due to the lack of information/knowledge on the on-premises systems and their sometimes-hidden architecture dependencies on the original platforms for which they were designed to operate. Consider these types of risks when developing the migration plan and include planning for risks that the vendors of these COTS applications bring in.
Careful and upfront planning in defining the ownership of the final goal, data center assessment, master plan, and milestone checklists will reduce implementation surprises.
Perform Continuous Verification
In on-premises projects like these, there is a tendency to wait for a complete deliverable before verification activities begin. This is partly to do with how verification planning is laid out, and partly the mindset of initiating verification on having a complete deliverable. This adds to uncertainties that are quite difficult to resolve later in the schedule. On-premises migration would thus need continuous verification and validation that provides timely feedback for the course correction.
Generally, it is difficult to adopt a parallel run with on-premises application cutover because of the design constraints. This situation brings in two specific challenges; first – the cutover time window will be short. Secondly, the rollback from the cloud to an on-premises environment is a difficult composition.
Extra attention and careful planning can help alleviate some of these difficulties of cutover. Important aspects to capture in the plan are:
- Cutover tasks schedule, execution duration, the owner(s), and timeline
- Go/no-go verification checklist and test plan
- The makeup of the post-go-live stabilization team
- Execution of disaster recovery fire drills
- Consolidation of production operational procedures
- On-going production support as Managed Services
The rehost method of migrating the on-premises applications to a cloud environment is a way to achieve cloud computing benefits for applications not originally designed for the cloud. These benefits include increased availability, cloud-scale performance, and total cost of ownership. The realization of rehosting migration goals depends upon how much detailed planning, data center assessment, and impact analysis have been performed. This post provides some pointers to developing a detailed and elaborate planning exercise.
GET YOUR ORGANIZATION ON THE RIGHT TRACK TO TRANSFORMATION. CONTACT AIS TODAY TO DISCUSS YOUR OPTIONS.