Migrating to Google Cloud - Coursera course notes
Tags: googlecloud
Published: 2021-06-09 16:49:42

Having gone through this course recently, I want to jot down some notes for future reference and for anyone interested in learning about how to migrate workloads to Google Cloud Platform (GCP).

In general, I think this course is useful for those interested in learning about how to migrate virtual machine (VM) workloads from on-premise data centers or from another cloud to Google Cloud Platform. It's only useful if you want to do "lift and shift" of VMs and move them to Google Compute Engine (Google virtual machine baed IaaS offering). If you want to migrate your VMs to Kubernetes/containers to run them on Anthos (on-premise Kubernetes clusters) or Google Kubernetes Engine (GKE), there's a different track for Google Anthos that covers Migrate for Anthos (https://www.coursera.org/specializations/architecting-hybrid-cloud-infrastructure-anthos).

###What It Covers

1. The steps to properly assess, discovery, plan, migrate and optimize virtual machine (VM) workloads from on-premise data centers or another public cloud provider to Google Cloud Platform (GCP) Compute Engine.

2. Theory (video lectures, slides), demos and hands-on labs (Qwiklabs)

3. Hands-on labs covers migration assessment & discovery tools StratoZone, Migrate for Virtual Machine (previously Valostratos) on how to migrate VMs from VMWare sphere environment and AWS EC2 to Google Compute Engine.

###What It Doesn't Cover

1. All the GCP migration assessment and discovery tools in the market. The lab and demos specifically covered CloudPhysics (demo) and StrataZone (Hands-on Qwiklabs).

2. Migration of VMs to Anthos (Kubernetes). This is a separate course and specialization track as mentioned previously.

3. Although Migrate for Compute supports migration of VMs from Microsoft Azure, no details for Azure were covered in this course but the process should be similar to migrating from AWS EC2.

###Migration Phases

1. Assessment/Discovery: Create an inventory of our VMs in Vsphere or AWS/Azure cloud environment. This is done with 3rd-party tools such as StratoZone or CloudPhysics,etc. The inventory and report would have host specs (for Vsphere env), guest OSes, storage, RAM, etc. You can tag them based on applications, OSes and so on. This is where the tool helps you with cost estimation. Most important thing to note here is properly plan the destination VM specs properly based on either 99% or 95% peak usage to avoid paying more than you should when migrating VMs to GCP.

2. Planning: Once you have the VM list from step 1, you decide which workloads make the most sense to migrate first. These can be workloads with unsupported host OS, unsupported hardware (vsphere), applications with little to no dependencies or complex licensing. Proper tagging makes things easy for the migration phase. 

3. Migration: Install GCP Migrate for Virtual Machine software on the source environment and GCP. Start migrating VMs. Migration can be done in "waves" which consists of groups of VMs. That's the best way to migrate workloads in production. Migration requires down time since source VMs need to be shutdown for snapshots to be created so maintenance window and proper planning for failover needs to be taken into consideration. VMs can be spun up in GCP quickly (within minutes) while data from source environment are being streamed to VMs in GCP. You can use test mode to migrate VMs in an isolated GCP, test and make sure everything works before doing the migration cutover. 

4. Optimization: Once VMs are migrated to GCP, use logging, monitoring tools in GCP to continue to optimize the workloads to get the most efficiency and cost out of your deployment.

That's it for now. The next write-up will be on Anthos course when I get a chance to go through it.