Why Migrate to Cloud
Now this question is more or less irrelevant — Almost Every Business wants to move more and more of their workloads to cloud infrastructure for better cost savings, flexibility, scalability, on-demand availability of computing resources, etc. The more relevant question is when and how.
As per a survey report from Digital Ocean in December 2022, Eighty Five Percent (85%) of 500+ Businesses would like to migrate to cloud if process is easier. For these business owners/CTO/CEO/CXO the top drivers for migration to clouds are Cost savings, Additional Product/Features, solutions tailored to business needs, Better Support and Increased Team Efficiency.
How to Migrate to Cloud
At CloudBuilders Technologies we have helped many customers to migrate their Servers, Databases, Workloads, etc. to Cloud. We helped customer migrate from on-prem to cloud, one cloud to other (Azure to AWS or Vice Versa) and setup an Hybrid Multi cloud, Multi Account, Infrastructure with Security, High Availability, Resiliency, Scalability, Optimized Cost and Automation. Here is an glimpse of process we follow to migrate customer workloads to cloud.
Phases of Cloud Migration
There are four different phases of cloud migration
first phase starts with Planning , second phase is Design, third phase would be, Execution , and the last phase is Testing or Verification
The Planning Phase
In the first step in planning phase for cloud migration would be Discovering the existing workloads in on-prem are the cloud from where you want to migrate. The discovery phase involves identifying the workloads business functionality, platform, build (off the self vs in-house built), the dependencies, etc.
Once you have all of your workload Discovery done the next step would be to decide the strategy for each of this workloads migration to cloud. There are 6 Strategies for cloud migration also know as 6 R’s. Re-Host (also called as Lift and Shift), Re-Platform (also called as Lift-tinker-and-Shift), Re-Purchasing, Refactoring/Rearchitecting, Retire and Retain. More of these strategies please check this Article.
Once you completed the discovery and have an strategy for each application, it would be good to define the success criteria for the migration and expectation of each stakeholders. For example the for business users they would be looking at KPI as reduction in cost of ownership where as for developers it would be easy to maintain, scale, on-demand availability of infrastructure resources.
The Last step in the planning phase would be to decide the sequence in which the resources would be migrated. Instead of having a big bang approach, it is always preferred to plan the migration in a iterative and incremental way. Migrate resources which have no or less dependencies on others — For example if you have a database server, or storage or SCM or similar server, they can be moved to cloud first and applications which are dependent of these can be configured to connect to cloud. This hybrid approach in middle of migration would provide everyone an opportunity to review and optimize the process.
It is very critical to have a target architecture for your Hybrid Cloud infrastructure which outline important aspects like Security (Network Security, User Access Management/IAM, Encryption, IDS/IPS, SIEM) , Resiliency, Disaster Recovery/Backup, etc. You should migrate workloads in iterative phased manner but must have a target view of your future cloud presence and connection with your existing infrastructure should be clearly outlined before hand. Some critical decisions you need to take regarding network access like virtual private cloud, VPN connectivity, Users access/SSO, etc. Postponing or making a wrong decision would be very costly.
Other important aspect to finalize is Infrastructure as Code (IaC). It would be highly beneficial to choose an IaC platform like terraform.
If you have multiple departments, applications offerings, customers hosting, etc. consider using multi account strategy.
Once you have Identified the strategy and have a prioritized list of workloads/servers/resources to migrate with an Infrastructure Architecture, start building the it in cloud. The basic infrastructure like networking components, security rules, etc. should be created using IaC code like Terraform Scripts.
Once the Network and basic infrastructure is ready, start migrating workloads/servers/resources according to the strategy decided for that resource. Like if you have an legacy application and you want just lift and shift, use AWS application migration service which can copy bit-by-bit into cloud. If you have an database server, better approach would be to use cloud managed services like AWS RDS and do an export and import into DB. If looking for scalability of application with optimized cost re-platform you application to run in containers and deploy on Kubernetes or AWS ECS.
If your workloads are developed in house you must have DevOps process setup to automatically build and deploy your applications. It would save a lot of your developers time, make your process independent of developers, Agile and help in rolling out features faster.
Testing or Verification Phase
Once you migrate the workloads into cloud, its important to verify all the aspects of the application functioning — Like Business Functionality, Performance, Scalability, Cost of operations, Security, etc.
The cloud migration process should be iterative and incremental and after each cycle there should be an review of the various success criteria’s decided in planning phase. Based on the review the process should be tailored in next iterations.
In our experience to migrating many customers workloads and servers into cloud could be very easy process if it performed in the phased way with proper reviews and consolations with stakeholders.