Accelerate migration from Pivotal Cloud Foundry to Google Kubernetes Engine

Accelerate migration from Pivotal Cloud Foundry to Google Kubernetes Engine

Jun 12, 2023 • 7 min read

Of the three main cloud providers–Google Cloud Platform (GCP), Amazon Web Services (AWS), and Microsoft Azure (Azure)–GCP can definitely be considered a pioneer in terms of solutions evolution.

Many of the IT products we consider to be “industry standard” today, were created or based on Google designs. For example, Kubernetes itself was created by Google, as well as the GO programming language and BigTable (concept behind the implementation of open-source HBase). When we speak about these products in the scope of GCP, we are not only highlighting the fact that they are the concept creators, but also the approach they have taken to adapt concepts into enterprise products.

While GCP may have fewer SaaS/PaaS products than AWS or Azure, this doesn’t mean that their coverage of enterprise customer requirements falls short.

The way Google approaches their cloud architecture is simple from a user experience perspective. With a developer-oriented platform made up of modular products, services, and best-practice industry solutions that offer a PaaS-like experience, developers can easily maintain and add new tools, and accelerate production from day 1.

True Google experience

There are a number of challenging cloud integration features that GCP makes easy. Here are a few examples:

  • Built in logging, monitoring and SRE tools: All logging and monitoring in GCP, from cloud audit to application logs, is gathered by default into a single logging and monitoring space in your project, removing the need to create or reinvent additional entities. From day 0, your cloud is auditable and has everything you need to start building your support foundation.

    If you are ready to go beyond classic support teams and adopt site reliability engineering (SRE) practices in your enterprise, GCP also has you covered. AI-backed, free-of-charge tools, such as Error Reporting, send grouped and trackable events in the cloud, helping you to solve problems without having to identify them first.
  • Security: Most enterprises require secure environments inside private networks; not only because it’s best practice, but because access to environments should be restricted to internal use only. One feature that delivers this level of security is IAP. IAP enables you to manage your project IAM, paired with GCP OAUTH, with one-button load balancing integration, delivering a completely new and different experience to access your internal-only setups without the need to manage application authentication.
  • Developer-focused experience: All SaaS GCP products have supported libraries and integrations for many different languages. They are easy to understand and easy to build solutions around. There is a huge library of architecture templates and docs for many cases, and you can easily find the most suitable guidance for specific cloud approaches.

This is definitely not the full list of GCP features, but does include those that have a huge impact on time-to-market when you choose GCP with any underlying compute base (Kubernetes, serverless solutions, etc.)

Now let’s explore one of GCP’s most popular products: Google Kubernetes Engine (GKE).

Google Kubernetes Engine - an expert product

As the creators, main contributors, and experts in building PaaS solutions, GCP approached Kubernetes as a service at a completely different level compared to any other available on the market.

The most scalable and fully automated Kubernetes service” is not just a catchy tagline from GCP, it’s actually an implementation vision statement.

Let’s dive deeper into the main features of GKE:

  • Autopilot: GKE Autopilot is a managed mode in GKE where Google handles your cluster setup, including nodes, scaling, security, and predefined configurations. Autopilot clusters are optimized for running production workloads and allocating computing resources according to your Kubernetes manifests. The simplified configuration aligns with GKE best practices for cluster and workload setup, scalability, and security.

    Even though this is only one of the GKE modes, it’s a great solution to start managing your own product faster, before moving into a standard cluster setup when you’re ready.
  • VPC native networking: VPC native networking is an approach that helps prevent IP exhaustion within your networks by utilizing secondary IP ranges in subnets. This method allows you to overcome the limitations of cloud networks by using alternative ranges for pods in your cluster, making them accessible for routing through load balancing.
  • Cloud config: Cloud config offers a viable solution for managing cloud entities directly from a Kubernetes cluster. With cloud config, you can define and deploy your application dependencies using a limited set of available resources for provisioning. This approach allows you to avoid relying on other teams for fulfilling these dependencies.

This outline of GKE features is not exhaustive, but provides teams with a new vision for working with Kubernetes to build a foundation for your enterprise.

Without further ado, we move on to how Pivotal Cloud Foundry (PCF) can be abandoned for a better Google-driven environment.

Rose-tinted glasses of Pivotal Cloud Foundry

PCF, now known as VMware Tanzu Application Service, is favored by many small to medium businesses due to its comprehensive selection of pre-configured components. However, large enterprises have discovered that PCF is extremely restrictive in terms of customization and scalability.

For example, you’re not able to optimize PCF itself because of the way in which the PaaS is built, resulting in one of its core issues–an inability to observe workload type size. Subsequently, you are left with an enormous pool of nodes where teams are allocated into chunks of computing resources instead of workloads, and no information is provided on how to optimize workloads or decrease costs.

And on top of that, even though PCF promises an ecosystem that is fast and simple, the truth is: you cannot optimize external dependencies made from it.

Despite these glaring issues, many enterprises still fear the cost and complexity of building a new foundation…until now.

Enter the Pivotal Cloud Foundry to Google Kubernetes Engine Migration Starter Kit.

Accelerate migration from PCF to GKE from months to days

When it comes to PCF migration, selecting the right migration approach is crucial.

PCF to GKE migration blueprint
PCF to GKE migration blueprint

We explore two migration options below.

Migration scenarios

The two main migration scenarios to consider are:

  1. Lift and Shift: This approach offers out-of-the-box support with tools that require minimal changes to the application code. By extending the application build with a predefined set of actions, containerization becomes a straightforward process. Continuous Delivery (CD) is managed separately, allowing for seamless integration with existing workflows.
  2. Retire: With this approach, new applications are built to replace the old ones, incorporating best security practices and coding standards. These new applications are designed to be more resilient, faster, and adaptable for future enhancements. Leveraging a wider range of modern tools, it is important to follow best practices in building, delivering, and testing these applications.

CI/CD

Effective management of continuous integration (CI) tools can be challenging. Common obstacles include unclear responsibilities, inaccurate estimation of needs, and a lack of expertise required for successful CI implementation.

Our starter kit provides a CI/CD component that can be adopted from our library or customized using curated libraries and workflows. It offers a wide range of tools to support your digital transformation journey. Combined with our expertise, these tools maximize efficiency and enable the smooth delivery of your applications to customers. The starter kit includes:

  • Generation of charts and manifests for CD applications;
  • Pipelines as Code using shared libraries for all teams;
  • Library of pipelines for different CI tools;
  • Best practices in CI/CD usage.

Migration process

The migration process can be divided into the following steps:

PCF to GKE migration process
PCF to GKE migration process
  1. Analysis of the PCF ecosystem using conversion tools. These tools utilize the PCF API to identify microservices and components within the target application stack. They also identify CF-native services connected to the application. The results are converted into configuration files for further use.
  2. Enriching the generated configuration files with external data, such as additional role mappings for IAM users, mapping between CF and IAM users, or Git repositories containing application source code.
  3. Replacing PCF's organization and spaces with Kubernetes namespaces. This transition preserves the same user access level based on predefined sets of namespace roles, which can be adjusted as needed for higher or lower user access to APIs. Cloud access is also defined during this stage, allowing sufficient time for teams to familiarize themselves with the new platform.
  4. Generating Kubernetes manifests for the identified applications. This ensures that ArgoCD has all the necessary information to deploy the applications, including configuration options, variables, and settings.
  5. Infrastructure deployment begins. The starter kit's automation mechanism maps CF-native services to their corresponding counterparts based GCP, unless new features are required. Additionally, secrets are replaced with GCP-based service credentials using Secrets Manager.
  6. During the provisioning stage, the starter kit utilizes its own ExternalSecrets add-on. This software utilizes information from Cloud Foundry on bound services and data from the secret manager on Azure-based services to create Kubernetes secrets. These secrets mimic the VCAP_SERVICES variable used by PCF applications, eliminating the need for changes to the application code.
  7. The applications are now up and running in GKE!

Final thoughts

Embarking on a cloud migration journey from PCF to GCP presents its fair share of challenges, especially when aiming for modernization and delivering an enhanced experience to your business and customers. However, you don't have to face these challenges alone. Our comprehensive starter kit helps you achieve your migration goals seamlessly, rapidly and at lower cost.

With our Cloud Migration and Microservices Platform solutions, we offer more than just a starter kit. We bring years of experience and expertise in building cost-efficient and resilient setups for companies worldwide. By leveraging our knowledge and proven methodologies, we help our customers attain new milestones and accomplishments in their business ventures.

By partnering with us, you gain access to valuable insights and strategies that have been refined over time. We understand the intricacies of cloud migration and the complexities involved in establishing a robust microservices platform. Our aim is to empower your organization to navigate these challenges successfully and unlock the full potential of your cloud infrastructure.

Together, we can pave the way for successful cloud migration, enabling you to leverage the advanced capabilities and scalability of GCP while ensuring cost-effectiveness and resilience in your setup. Let us guide you on this transformative journey, bringing your business closer to its desired goals and achievements.

If you're interested in a more in-depth review of the implementation or specific features of the starter kit and technology, get in touch with us to start a conversation!

Subscribe to our latest Insights

Subscribe to our latest Insights