Roadmap to Cloud Migration

The Verys' cloud migration process highlights how our team of experts solve complex problems and deliver modern solutions that boost the performance and scalability of our client cloud infrastructure.

Cloud migration has the capacity to substantially impact your company's digital transformation efforts. Whether you are migrating from an on-premises environment or from one cloud vendor to another, any system migration needs meticulous planning and streamlined execution.  Verys’ well-established framework will help guide you through each of the 4 phases.

Phase 1: Discovery

During the discovery phase, it is essential to identify the type of migration that best fits your business goals and objectives. The most common types of migration are:

  • Lift and Shift

  • Refactor and Move

  • Rip and Replace

Lift and Shift, also known as rehosting, is the process where you will move your entire application suite, without any changes from on-premises to public or private cloud.

Refactor and Move is a heavily involved process, where you break your monolithic application to modern microservices before moving it to the cloud.

Rip and Replace is a process that involves a complete re-design of the application from scratch using only cloud-native components. This is often considered a last resort, when no other approach will effectively bridge the gap between what is expected and what the existing application can deliver.

Next, we recommended working side-by-side with your engineering team to take inventory of your current ecosystem. Products like StratoZone and CloudPhysics can automate this step. The outcome of this exercise would include infrastructure that holds the inventory of your databases, message topics, data lakes, firewall, load balancers, content delivery networks and network appliances, licenses and application dependencies shared among them, and a service inventory based on criticality and dependencies.

Assess your people. Do you have a workforce that can support your operations in the cloud? If not, can you hire new developers or train your existing developers.

Collaborate with your operations and development team to establish your end goal.

In the first phase, identify your availability zones, specifically the geographic location of your cloud data center. Then, you need to decide what resources would be global, regional, and zonal.

Once you have done that, find the ideal configuration for compute, memory, storage, and network when moving to the cloud. One of the biggest advantages of migrating to the cloud is having access to managed services. For this reason, choose which managed services your organization might need from day one and allow room for changes. Locking yourself in to one managed service will not be a promising idea.

Assuming you have a plan in place for your infrastructure, it is time to move onto data. Start by evaluating the amount of data that needs to be migrated. Calculate your total cost of cloud ownership. Most of the cloud vendors provide calculators and it will be a great place to start to avoid any surprises. Once you have a solid plan for data migration, it’s time to establish a roadmap. Pick your first migration candidate and start with an application or service which has fewer business complexities so you can focus more on the actual cloud migration.

Phase 2: Design

Throughout the design phase, you will first start designing your network topology, firewall rules, and establish connectivity. Once the basis of the network is established, it is time to provision and configure the cloud infrastructure and services. Tasks that need to be managed:

  • Establish user and service identities.

  • Design your organization in the cloud.  

  • Define groups and roles for resource access.

  • Connect your existing environment to the new cloud environment with tools like Cloud VPN and Cloud Interconnect. You will be in a hybrid stage where part of your infrastructure remains in your existing environment and the rest has migrated.  

Phase 3: Deploy

Take advantage of off-the-shelf CI/CD pipelines that you can use to automate the deployment of software artifacts from the start. Depending on your organizational needs, you should customize the pipeline and apply either a fully automated deployment or a deployment process with manual approval steps.

  • If you are going for a cloud-native development with containerization, it would be worthwhile investing in Kubernetes, a container orchestration tool that can fully automate the process of running the containerized workloads and resources.

  • Automating the provisioning of infrastructure as code will let you rinse and repeat the provisioning process as you move from one environment to another with greater speed, less risk, and reduced cost.

Phase 4: Refine

At last, while you are building and training your team in the new cloud landscape, expert team members can fine-tune and raise your DevOps maturity. Inspect your existing process and identify what can be automated to increase efficiency. Before you expose your environment to production traffic, we recommend that you design and implement a monitoring system where you define metrics that are important to assess the correct operation of the environment and its components, including your workloads. Arrange a framework to keep tabs on both black box and white box monitoring.

Automate Everything

Manual operations are exposed to a high error risk and are also time-consuming. In most cases, you can automate critical activities such as deployments, secrets exchanges, IAM Key rotation, and configuration updates. Automation leads to cost and time savings and reduces risk. Teams also become more efficient because they do not have to spend effort on repetitive tasks.

Codify Everything

By implementing processes such as Infrastructure as Code and Policy as Code, you can make your deployed environment fully auditable and repeatable. You can also apply a test-driven development approach to aspects other than code, to obtain immediate feedback on the modifications you intend to apply to your environment.

Use Managed Services Instead of Self-Managed Ones

Cloud vendors have a portfolio of services and products that you can use without having to manage any underlying servers or infrastructure. In this phase, you could either expand your workloads to use such services or replace some of your existing workloads with these services.

Optimize for Performance and Scalability

Reduce costs by integrating open-source cloud tools like Infracost that continuously support DevOps and developers.  This will allow you to show your cloud cost estimates for infrastructure as code projects such as Terraform as part of pull request analysis. It helps developers, DevOps, and other team members to quickly see a cost breakdown and compare different options upfront before merging their infrastructure as code.

This framework conveys how Verys would engage with their clients during a cloud migration. If you'd like to learn more regarding how you can modernize your business, schedule a meeting with a Cloud Practice Director.

Share this article
The Author

Related Insights

View All Insights

interested in working with us for your next project?

Let's Chat