- |
- |
Checklist for Porting an Existing Application to Cloud
This sample checklist lists out major tasks required for porting an existing application to the cloud platform. It is based on the following scenario -
- The existing system includes a web based Internet application managed by the application owner ( "owner" ) with an application server, a database server and a web server.
- The exercise involves porting all of the three-tiered servers to a Platform-as-a-Service (PaaS) cloud provider ( "provider" ) with fully compatible OS and server software.
- The application owner will have the technical expertise (which can be acquired through outsourcing) to perform the porting.
Porting an existing application to cloud normally involves three key steps: (a) Preparation, (b) Migration and (c) Switchover.
During the preparation step, checking and customizations will be required on the environment setup, application configuration and data security settings to ensure compatibility and tighten data security in the cloud environment. The cloud platform will also be configured during this step. Network service settings (such as firewall, load-balancing and other access controls) should be reviewed and updated according to the network connectivity requirements of the cloud provider and also the application owner.
In the migration step, application software and respective data from the latest backup will be migrated to the cloud platform and thoroughly tested to ensure that the application can work under the cloud environment. To facilitate migration, Physical-to-Virtual (P2V) tools can be deployed where applicable to minimize the discrepancy in server configuration setup between the physical and virtual environments. The P2V tools can convert majority of physical machines and third-party clone image formats to virtual machines for working in the cloud. The final switchover date can then be fixed when the migration and testing have been completed.
During the switchover step, the application service will often need to be suspended (or frozen) for a short period during which the last minute production data will be copied to the cloud platform. Subsequent access to the application will be switched to the cloud platform and the whole porting process will then be completed.
The major tasks for porting to the cloud platform will basically be the same for both development and production sites. Porting of development site should be conducted first so that the experience gained can be used to enable a smoother porting of production site and minimize the risks.
Checklist of Major Tasks
Preparation | Responsible Parties | |
1. | Ensure that domain names (instead of absolute IP addresses) are used for the key components (e.g. DB connection) if possible. [In many cases the IP addresses of the destination site will be different from the source site.] | Owner |
2. | Ensure proper value for DNS refreshing interval is set. | Owner |
3. | Ensure database schemas in development and production are synchronized. | Owner |
4. | Setup and configure the server and network environment on the cloud platform (e.g. firewall rules, load-balancing setup, API or web service libraries, DB connections, etc.). | Provider / Owner |
5. | Prepare a testing plan for verification of the system healthiness after migration and switchover, and a fallback plan for handling exceptions. | Owner |
Migration | Responsible Parties | |
1. | Disable server routine jobs (e.g. cron jobs) on the existing system (can be resumed after migration steps 2-4 below). | Owner |
2. | Perform P2V conversion and migration of applicable components (e.g. application server programs). | Provider / Owner |
3. | Migrate database data from the existing system to the cloud platform. | Owner |
4. | Migrate static web content from the existing system to the cloud platform. | Owner |
5. | Fine-tune application configurations (e.g. amending startup scripts / configurations to use new IP addresses) and verify the connectivity between various server tiers. | Owner |
6. | Conduct testing (according to the test plan) to ensure that the cloud platform is ready. | Provider / Owner |
Switchover | Responsible Parties | |
1. | Hoist a maintenance page on current and cloud platforms (if necessary). | Owner |
2. | Confirm that the existing system can be stopped (e.g. confirm that all outstanding batch jobs have been completed and the outstanding working files have been cleared up on the application server). | Owner |
3. | Stop the current application and database servers. | Owner |
4. | Migrate the last minute changes of static web contents, and working files on application server (if any) from the existing system to the cloud platform. | Owner |
5. | Migrate last minute database data from the existing system to the cloud platform. | Owner |
6. | Verify and confirm migrated data. | Owner |
7. | Perform testing (according to the test plan) on the migrated application. | Provider / Owner |
8. | Confirm cloud platform is ready for switchover. | Provider / Owner |
9. | Switch public DNS entries from the existing system to the cloud platform. | Owner |
10. | Enable server routine jobs (e.g. cron jobs) on the cloud platform. | Owner |
11. | Confirm that applications have successfully migrated to the cloud platform (according to the test plan). | Provider / Owner |
12. | Remove maintenance page on the cloud platform (if hoisted). | Owner |
13. | Decommission the existing system after completing the reliability test of the cloud platform for a preset period of time. | Owner |
Sample Test Plan
Areas of Testing | Applicable for | |
1. | Compatibility test
|
Preparation |
2. | Network connectivity test
|
Migration / Switchover |
3. | Functional test
|
Migration / Switchover |
4. | Performance and Load test
|
Migration / Switchover |
5. | Failover test
|
Migration / Switchover |
6. | Stress and Elasticity test
|
Migration |
7. | Security Risk Assessment and Audit (SRAA)
|
Migration / Switchover |
The Government of the Hong Kong Special Administrative Region of the People's Republic of China