This series of tutorials is for Developers who are new to
Kubernetes and Google Kubernetes Engine (GKE). In the series, you learn how to
transform Cymbal Books, a sample monolithic app, into a modular, containerized
app that runs on a GKE cluster.
Before starting this tutorial series, it's helpful if you have some experience
with Python programming and web application development. Although all the code
is provided and you won't need to write any code yourself, being able to read
and understand basic Python code will help you follow along better. You also
need to be comfortable using the command line to run commands. If you're new to
Google Cloud, containerization, or Kubernetes, don't worry—these concepts
are explained in the series.
Costs
You can complete this tutorial without incurring any charges. However, following
the steps in thefinal tutorialof this series incurs charges on your
Google Cloud account. Costs begin when you enable GKE and deploy
the Cymbal Books app to a GKE cluster. These costs include
per-cluster charges for GKE, as outlined on thePricing page, and charges for running
Compute Engine VMs.
To avoid unnecessary charges, ensure that you disable GKE or
delete the project once you have completed this tutorial.
Why containerize an app?
You might be wondering why you'd want to containerize your app. The following
list explains some of the advantages of containerized apps:
Isolation: each component runs independently in its own container.
Changes or updates to one component don't disrupt the rest of the app.
Scalability: you can scale individual components based on demand. If one
part of the app experiences high load, you can scale only that part. You
don't need to scale the entire app.
Fault isolation: issues in one component are contained and don't affect
other components. This isolation makes it easier to debug and resolve issues
without affecting the rest of the system.
Faster development and deployment: teams can work on different
components of the app simultaneously. They can develop, test, and deploy
independently, which can speed up development cycles.
Resource efficiency: containers help optimize resource usage, which can
reduce the costs of running your app.
Consistency across environments: each container runs the same way in
different environments, such as development, testing, and production.
Each tutorial builds on the previous one, and helps you understand key concepts
and practices in app modularization, containerization, and deployment. By the
end of the series, you'll have an app that's running on GKE and a
solid understanding of modularization, containerization, and Kubernetes basics.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["[Standard](/kubernetes-engine/docs/concepts/choose-cluster-mode)\n\n*** ** * ** ***\n\nThis series of tutorials is for Developers who are new to\nKubernetes and Google Kubernetes Engine (GKE). In the series, you learn how to\ntransform Cymbal Books, a sample monolithic app, into a modular, containerized\napp that runs on a GKE cluster.\n\nBefore starting this tutorial series, it's helpful if you have some experience\nwith Python programming and web application development. Although all the code\nis provided and you won't need to write any code yourself, being able to read\nand understand basic Python code will help you follow along better. You also\nneed to be comfortable using the command line to run commands. If you're new to\nGoogle Cloud, containerization, or Kubernetes, don't worry---these concepts\nare explained in the series.\n\nCosts\n\nYou can complete this tutorial without incurring any charges. However, following\nthe steps in the [final tutorial](/kubernetes-engine/docs/learn/cymbal-books/lp1/deploy) of this series incurs charges on your\nGoogle Cloud account. Costs begin when you enable GKE and deploy\nthe Cymbal Books app to a GKE cluster. These costs include\nper-cluster charges for GKE, as outlined on the\n[Pricing page](/kubernetes-engine/pricing), and charges for running\nCompute Engine VMs.\n\nTo avoid unnecessary charges, ensure that you disable GKE or\ndelete the project once you have completed this tutorial.\n\nWhy containerize an app?\n\nYou might be wondering why you'd want to containerize your app. The following\nlist explains some of the advantages of containerized apps:\n\n- **Isolation**: each component runs independently in its own container. Changes or updates to one component don't disrupt the rest of the app.\n- **Scalability**: you can scale individual components based on demand. If one part of the app experiences high load, you can scale only that part. You don't need to scale the entire app.\n- **Fault isolation**: issues in one component are contained and don't affect other components. This isolation makes it easier to debug and resolve issues without affecting the rest of the system.\n- **Faster development and deployment**: teams can work on different components of the app simultaneously. They can develop, test, and deploy independently, which can speed up development cycles.\n- **Resource efficiency**: containers help optimize resource usage, which can reduce the costs of running your app.\n- **Consistency across environments**: each container runs the same way in different environments, such as development, testing, and production.\n\nTutorials in this series\n\nThe series consists of the following tutorials:\n\n1. Overview (this tutorial)\n2. [Understand the monolith](/kubernetes-engine/docs/learn/cymbal-books/lp1/monolith)\n3. [Modularize the monolith](/kubernetes-engine/docs/learn/cymbal-books/lp1/modular)\n4. [Prepare the modular app for containerization](/kubernetes-engine/docs/learn/cymbal-books/lp1/prep-containerization)\n5. [Containerize the modular app](/kubernetes-engine/docs/learn/cymbal-books/lp1/containerize)\n6. [Deploy the app to a GKE cluster](/kubernetes-engine/docs/learn/cymbal-books/lp1/deploy)\n\nEach tutorial builds on the previous one, and helps you understand key concepts\nand practices in app modularization, containerization, and deployment. By the\nend of the series, you'll have an app that's running on GKE and a\nsolid understanding of modularization, containerization, and Kubernetes basics.\n\nTo get started, see [Understand the monolith](/kubernetes-engine/docs/learn/cymbal-books/lp1/monolith)."]]