Learning Path: Scalable applications - Overview

This set of tutorials is for IT administrators and Operators that want to learn how to deploy, run, and manage modern application environments that run on Google Kubernetes Engine (GKE) Enterprise edition.

In this set of tutorials, you learn by doing. You start by deploying a sample microservices-based application named Cymbal Bank to a GKE cluster. Cymbal Bank uses Python and Java to run the various services, and includes a PostgreSQL backend. You don't need experience with these languages or database platform to complete the series of tutorials, as Cymbal Bank is just an example application to show how GKE Enterprise can support the needs of your business. Each tutorial then builds on this sample application to show how a real production environment might look as you use different Google Cloud products and services to fit your business needs and goals.

As you progress through this set of tutorials, you explore the following key learning areas:

  • Modern application foundations: Deploy a single Google Kubernetes Engine cluster that runs a microservices-based application.
  • Monitoring and SLOs: Use Prometheus to monitor the performance and health of your applications, and use Anthos Service Mesh to set and track SLOs.
  • Autoscale and load balance: Scale your cluster to meet application demand with GKE Autopilot, and use horizontal Pod autoscaling for a database tier.
  • Simulate and test failovers: Verify that your highly available and geographically distributed deployment can failover to maintain access for customers.
  • Centralize change management: Minimize configuration drift and apply consistent changes with Config Sync.

The tutorials are designed for you to complete in order. Each tutorial builds on the previous tutorial as you create a sample application infrastructure that you can monitor and autoscale. As you progress through the set of tutorials, you learn new skills and use additional Google Cloud products and services. The goal is that you learn all of the core components that are needed to feel more comfortable running scalable applications in your own environment.

Your journey

For this set of tutorials, you play the role of the platform lead at Cymbal Bank. Cymbal Bank started as a small business for payment processing on two servers almost ten years ago. Since then, it has grown into a successful commercial bank with thousands of employees and a growing engineering organization. Cymbal Bank now wants to expand its business further.

Throughout this period, you and your team have found yourself spending more time and money on maintaining infrastructure than on creating new business value. You have decades of cumulative experience invested in your existing stack; however, you know it's not the right technology to meet the scale of global deployment that the bank needs as it expands.

You've adopted GKE Enterprise to modernize your application and migrate successfully to Google Cloud to achieve your expansion goals.

Costs

Enabling GKE Enterprise and deploying the Cymbal Bank sample application for this series of tutorials means that you incur per-cluster charges for GKE Enterprise on Google Cloud as listed on our Pricing page until you disable GKE Enterprise or delete the project.

You are also responsible for other Google Cloud costs incurred while running the Cymbal Bank sample application, such as charges for Compute Engine VMs and load balancers.

Before you begin

You don't need to be familiar with Google Kubernetes Engine (GKE) Enterprise edition or Terraform to follow these tutorials, but you should be familiar with basic Kubernetes concepts such as clusters. If you're not, learn more about Kubernetes basics first.

Each tutorial outlines specific prerequisites, such as needing a Google Cloud billing account and project or IAM roles.

Planning considerations

When you plan a production GKE Enterprise environment, there are a number of planning considerations to keep in mind. These considerations include available networking options, your cluster management mode, and cluster availability.

In this set of tutorials, some of these considerations are simplified so that you can focus on learning about key GKE Enterprise features and services. Because of this, these tutorials don't provide a complete production-ready environment, but rather give you the building blocks you need to learn how to deploy and run your own workloads. After you complete this set of tutorials, we recommend you review Scalable apps - Production considerations.

What's next

Get started by completing the first tutorial to a deploy a single GKE cluster that runs a microservices-based application.