Infrastructure and Application Modernization with Google Cloud – Strategies and Approaches

Cloud

December 23, 2022

Enterprises rely on the data center infrastructure to cater to their business requirements. There are too many entities in the Data Centers like legacy hardware, applications, SLAs, staffing, security compliance, capacity demands, licensing and support, data center contracts, etc. On top of this, when there is a peak in business demand, the physical IT infrastructure needs to be scaled up considering the application workloads. It is a nightmare for enterprises to procure and install the hardware within a stipulated time. At the same time, when there is lesser demand, the new hardware sits idle consuming unnecessary costs.

There is a push for enterprises to concentrate more on their IT infrastructure instead of their core business processes. Also, the legacy hardware in the data center doesn’t support the application in line with respective business demands. Considering these bottlenecks, the Google Cloud has custom-made infrastructure modernization plans catering to meet the requirements of businesses. Google Cloud provides customized solutions for Infrastructure Modernization, Application Modernization, Data Management, and Rapid Assessment and Migration Programs.

As the first step of your Google Cloud infrastructure modernization, you need to identify the existing environment as part of the migration scope. It might be on your on-premises or co-location facility or private cloud. You also need to classify workloads if they are legacy or cloud native.

Legacy workloads, like monolithic applications, can be transformed to microservices by refactoring them in the form of application modernization as they have limited scope for scaling resources such as disks and compute and can be expensive to run and maintain on-premises.

Once you have classified your workloads for Google Cloud application modernization, you need to start defining your migration methodologies. There are 3 major types of migration approaches.

  • Lift and Shift
  • Modernize and Move
  • Remove and Replace

Lift and Shift

You plan to move your workloads from a source environment to a target environment as-is with minimal changes or a little bit of refactoring. These might be non-cloud-native workloads running on the target environment. These workloads cannot take full advantage of the Google Cloud platform features, such as autoscaling scalabilities, fine-grained pricing, and highly managed services.

Modernize and Move

In this case, the workloads needs to be refactored while migrating it to take full advantage of cloud-native capabilities. The Modernize and Move migration approach lets your app leverage features of a cloud platform, such as scalability and high availability. However, the Modernize and Move methodology takes a longer time than the Lift and Shift strategy because refactoring has to happen for the app to be migrated.

Remove and Rewrite

Existing apps are decommissioned and completely rewritten as cloud-native apps. The Remove and Rewrite migration strategy lets your app take full advantage of Google Cloud environments and features, such as horizontal scalability, highly managed services, and high availability. Because you’re rewriting the app from scratch with the latest frameworks like microservices, the technical debt is removed from the existing legacy version.

Migration Phases

Even though moving to cloud may seem like an easy decision these days, it isn’t an activity to be undertaken lightly. Regardless of the migration approaches, the journey normally involves 4 phases: Assess, Plan, Deploy, and Optimize.

1. Assess

You need to perform a thorough assessment and discovery of your existing environment to understand your application inventory, dependencies, network, security, licensing, and compliance requirements. You also need to check the total cost of ownership and app performance benchmarks and streamline the workloads sequence to migrate. Google’s StratoZone can be used for Assessment and Discovery. Stratozone discovers the workloads using an agentless process and is hypervisor, physical/virtual server agnostic. The tool also assesses the workloads and provides optimized recommendations for migration and modernization and TCO analysis reports on the target environment. With this assessment, we plan the R-Lanes for migration.

2. Plan

In this phase, you create the basic cloud infrastructure landing zone for your workloads and plan how you will move your apps. Landing zone includes Identity management, Organization and Project Structure, Virtual Private Networks, Security and Categorizing your apps, and developing a prioritized migration strategy.

Consider the below factors while creating a landing zone.

  • Compliance Requirements: Consider the regulatory compliance requirements (HIPAA or GDPR) and decide on the location where your data can be stored and processed in accordance with your data residency requirements.
  • Resource hierarchy: Map your existing business and Org Structure to Google Cloud. The organization is the root node of the Google Cloud resource hierarchy. It can contain one or more folders, and each folder has one or more projects. The projects contain the resources.
  • Authentication and Authorization: Cloud Identity is used for Authentication, and the Cloud IAM is used for Authorization on the Google Cloud. Cloud Identity can be federated with the On-premises Active Directory or other Identity providers.
  • Connectivity and Networking: Virtual Private Network is a foundational component of your network architecture. Your on-premises environment can be connected to the Google Cloud VPC’s services either using Cloud VPN or Cloud Interconnect or Direct or Carrier Peering.
  • Security: You will have the Zero Trust Security model for your Google Cloud Infra. Google provides data security at 3 levels., Authentication, Integrity, and Encryption.
  • Monitoring and Logging: Stack Driver can be used for Monitoring and Logging in your environments. In addition to real time monitoring, Cloud logging aggregates data from Google Services that can used for auditing, analysis, metrics, and alerting.

3. Deploy

You design, implement and execute a deployment process to move workloads to Google Cloud. The cloud infrastructure needs to be redefined on the flow catering to the migration requirements.

You need to identity the migration approach based on the workloads to be deployed. Google Cloud offers different types of tools for different workloads.

  • Migrate for Compute Engine: Used to migrate VM-based applications from your existing environment (VMware, Azure, AWS) to Google Cloud.
  • Migrate for Anthos: Used to migrate your application workloads on VMs as containerized workloads to GKE.
  • Database Migration Solutions: This service helps to lift and shift MySQL, PostgreSQL, and SQL Server workloads into Cloud SQL. In addition, you can lift and modernize your Oracle workloads into Cloud SQL for PostgreSQL.
  • VMware Engine: Used to lift and shift your VMware-based applications to Google Cloud without changes to your apps, tools, or processes. Includes all the hardware and VMware licenses to run in a dedicated VMware SDDC on Google Cloud.
  • Deploy by using Container Orchestration Tools: If your workloads are already existing on containers, you can use the Google Kubernetes Orchestration tool to migrate container workloads to Google Cloud.
  • Deploy Automatically: Google supports all market-leading CI\CD tools. Workloads can be configured and deployed using configuration management tools by implementing a continuous integration and continuous delivery (CI/CD) pipeline. Manual approval steps can be inserted if required.
  • Infrastructure as a Code: This is used to automatically provision all the necessary resources to run your workloads. In this process, your infrastructure is more observable and repeatable. Terraform and Deployment managers can be used as IAC tools.

4. Optimize

After deploying your workloads, you can start optimizing your new target Google Cloud environment. You need to make sure that you are following the best practices for areas such as monitoring, alerting, backups, and high availability.

  • Set up Stack Driver Monitoring to ensure that everything in your environment is working as expected and make improvements based on the monitoring data.
  • Automate critical activities such as deployments and configuration updates using Cloud Build.
  • Deploy Infrastructure as a Code and Policy as Code to make your environment fully auditable and repeatable using Terraform or Deployment Manager.
  • Move to PaaS (ex – Cloud SQL, App Engine) services from the IaaS (Compute Engine) model.
  • You can use horizontal scaling features like auto-scaling for Managed instances groups (MIGs) to elastically add or remove virtual machines, cluster nodes, and database instances.
  • You can use vertical scaling options to add more resources to your existing instances by changing the machine type of Compute Engine instances.
  • Label your resources based on the types and configure billing accounts for individual projects to know how the cost is consumed for various types of resources.
  • Use right sizing recommendations and reconfigure your resources accordingly.

About the Author

Senthil Kumar Mohan

Senthil Kumar Mohan

Senthil is part of the Hexaware Cloud Pre-Sales team. He is a certified Google Professional Cloud Architect and works on Solution Design and Proposals for Google Cloud. His expertise includes Designing Greenfield deployments, Pre Migration Assessments, Planning, Designing the Migration Strategy, and driving Migration projects end to end.

Read more Read more image

Related Blogs

Every outcome starts with a conversation

Ready to Pursue Opportunity?

Connect Now

right arrow

ready_to_pursue
Ready to Pursue Opportunity?

Every outcome starts with a conversation