Terraform module that provisions opinionated Google Kubernetes Engine (GKE) clusters with node pools, network policy and IP masquerade configuration.
GoogleCloudPlatform/microservices-demo
Online Boutique, a 10-11 microservice e-commerce demo app from Google Cloud that runs on Kubernetes and talks over gRPC.
- Stars
- 21,155
- Forks
- 10,646
- Open issues
- 105
- Last commit
- 10 days ago
What is it?
Online Boutique is a sample web store built as a set of microservices written in several languages (Go, C#, Node.js, Python, Java). Users can browse products, add items to a cart, and check out. The services communicate with each other over gRPC, and Protocol Buffers definitions are included in the repository.
The project is meant as a reference for moving an application onto Kubernetes and Google Cloud. It covers deployment to GKE with a single kubectl manifest, and includes Kustomize variations for Istio or Cloud Service Mesh, Terraform configuration, and Cloud Operations tracing. It is also documented for running on non-GKE clusters such as Minikube and Kind.
Several services are mocks: payment and email are simulated, and shipping does not contact a real carrier. The repository also includes an optional Gemini-powered shopping assistant and a load generator that simulates shopping traffic.
Key features
- 01Browse products, add to cart, and check out in a web frontend with no login required
- 02Services communicate over gRPC with Protocol Buffers definitions provided
- 03Deployable to GKE with one kubectl command or with Terraform
- 04Kustomize variants add Istio or Cloud Service Mesh and Cloud Operations tracing
- 05Runs on any Kubernetes cluster, including Minikube and Kind
Use cases
- Learning how a multi-language microservice system is structured on Kubernetes
- Testing service mesh or observability setups against a realistic workload
- Practicing gRPC service-to-service communication in a working app
- Demonstrating GKE deployments to a team
Quick start
- 1
Ensure you have a Google Cloud project and gcloud, git, and kubectl
- 2
Clone the latest major version
git clone --depth 1 --branch v0 https://github.com/GoogleCloudPlatform/microservices-demo.git - 3
Create a GKE Autopilot cluster
gcloud container clusters create-auto online-boutique --project=${PROJECT_ID} --region=${REGION} --labels dev-tutorial=online-boutique - 4
Deploy Online Boutique to the cluster
kubectl apply -f ./release/kubernetes-manifests.yaml
Things to know
- Designed for Google Kubernetes Engine and needs a Google Cloud project for the quickstart.
- It is a demo app with mock payment, shipping and email services.
In collections
Topics
FAQ
- What is microservices-demo?
- Online Boutique, a 10-11 microservice e-commerce demo app from Google Cloud that runs on Kubernetes and talks over gRPC. Online Boutique is a sample web store built as a set of microservices written in several languages (Go, C#, Node.js, Python, Java). Users can browse products, add items to a cart, and check out. The services communicate with each other over gRPC, and Protocol Buffers definitions are included in the repository.
- Is microservices-demo free to use? What license does it have?
- microservices-demo is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is microservices-demo still maintained?
- Actively maintained. The last commit to microservices-demo was on Oct 27, 2026.
- What can I use microservices-demo for?
- Learning how a multi-language microservice system is structured on Kubernetes Testing service mesh or observability setups against a realistic workload Practicing gRPC service-to-service communication in a working app Demonstrating GKE deployments to a team
- How do I install microservices-demo?
- Ensure you have a Google Cloud project and gcloud, git, and kubectl Clone the latest major version: git clone --depth 1 --branch v0 https://github.com/GoogleCloudPlatform/microservices-demo.git Create a GKE Autopilot cluster: gcloud container clusters create-auto online-boutique --project=${PROJECT_ID} --region=${REGION} --labels dev-tutorial=online-boutique Deploy Online Boutique to the cluster: kubectl apply -f ./release/kubernetes-manifests.yaml
- Where can I get microservices-demo?
- The source code and installation instructions are on GitHub: https://github.com/GoogleCloudPlatform/microservices-demo
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A polyglot microservices sample app for deploying a realistic online store to Azure Kubernetes Service (AKS), with optional OpenAI-generated product content.
A GitHub Action that runs the Gemini CLI inside your repository to review pull requests, triage issues, and handle @gemini-cli requests.
A Kubernetes-native API gateway implementing the Gateway API on top of Envoy, with support for AI gateway use cases.
A reference .NET 10 e-commerce application built with services-based architecture and .NET Aspire, for studying how a multi-service shop is structured.
A declarative GitOps continuous delivery tool that syncs Kubernetes applications to the state defined in Git repositories.