The googlecloudplatform/microservices-demo repository, also known as Online Boutique, is a cloud-first sample application designed to demonstrate modern microservices architecture and deployment patterns on Google Cloud Platform. The application implements a functional e-commerce platform where users can browse products, manage shopping carts, and complete purchases, serving as a practical reference implementation for enterprise application modernization.
The application consists of 11 microservices written in multiple programming languages including Go, C#, Node.js, Python, and Java, all communicating through gRPC. The frontend service exposes an HTTP interface for the web application, while supporting services handle specific business functions such as cart management in Redis, product catalog queries from JSON files, currency conversion using real European Central Bank data, payment processing, shipping cost estimation, email notifications, order orchestration, product recommendations, text-based advertising, and continuous load generation using Locust. This polyglot architecture demonstrates how different languages and technologies can coexist within a unified microservices ecosystem.
Google created this repository to showcase integration with multiple Google Cloud products including Google Kubernetes Engine, Cloud Service Mesh, Cloud Operations, Spanner, Memorystore, AlloyDB, and Gemini AI capabilities. The application is designed to work on any Kubernetes cluster, not exclusively on GKE, making it broadly applicable for demonstrating Kubernetes, Istio, and gRPC concepts across different environments. The repository includes comprehensive deployment options through Terraform, Kustomize-based variations, and support for non-GKE clusters like Minikube and Kind.
The repository's contributor base overlaps with major open-source projects including Microsoft's VSCode and TypeScript implementations as well as the Rust language project.
The repository is classified across multiple technical domains including microservices architecture, cloud-native design, resilience patterns, distributed systems, circuit breakers, service mesh implementations, load balancing, observability, containerized applications, continuous delivery, cloud infrastructure, Kubernetes orchestration, monitoring, and load testing. The codebase is primarily written in Go and includes extensive documentation covering development setup, deployment variations with different Google Cloud services, and integration patterns for Istio and service mesh configurations. The project maintains continuous integration workflows and provides a live demonstration instance accessible at cymbal-shops.retail.cymbal.dev, making it a practical reference for developers implementing microservices on modern cloud platforms.