DEV Community

Limani Ndou
Limani Ndou

Posted on

🚀 How I Ran 11 Microservices with OpenChoreo

I used OpenChoreo to deploy and manage the Google Cloud microservices demo (11 services) on my local machine. The result was a cleaner developer workflow, better service visibility, and a production-like platform experience without building custom platform tooling from scratch.

1️⃣ What OpenChoreo?
OpenChoreo is a developer platform for Kubernetes offering development and architecture abstractions, a Backstage-powered developer portal, application CI/CD, GitOps, and observability. It composes CNCF and complementary projects into a modular, extensible framework that provides both strong governance for platform engineers and simplified abstractions for developers.

OpenChoreo was developed by WSO2 and is now part of the Cloud Native Computing Foundation (CNCF) ecosystem.

2️⃣ Why OpenChoreo?
OpenChoreo it provides all essential building blocks of an Internal Developer Platform (IDP) :

High-level APIs for modeling cloud-native applications
A Control Plane that understands and enforces these APIs with GitOps support
A built-in workflow engine for CI/CD pipelines and automation
An opinionated Data Plane with runtime enforcement of design-time semantics
Built-in security, networking, and observability integrations
This is the key reason I used it for this 11-microservice demo.

3️⃣ GCP Microservices Demo: What It Includes
Repository: https://github.com/GoogleCloudPlatform/microservices-demo

🌐 frontend (Go): Serves the website and auto-generates user session IDs.
🛒 cartservice (C#): Stores/retrieves cart items in Redis.
📚 productcatalogservice (Go): Product listing, search, and product details from JSON.
💱 currencyservice (Node.js): Converts money values using ECB exchange rates (highest QPS).
💳 paymentservice (Node.js): Mock credit card charge and transaction ID generation.
🚚 shippingservice (Go): Shipping cost estimates and mock shipping execution.
✉️ emailservice (Python): Mock order confirmation emails.
🎯 checkoutservice (Go): Orchestrates cart, payment, shipping, and email flow.
💡 recommendationservice (Python): Suggests products from cart context.
📢 adservice (Java): Returns text ads based on context words.
🔄 loadgenerator (Python/Locust): Simulates realistic shopping traffic.
4️⃣ What I Did (Step by Step)

⚙️ Prerequisites
Ensure the following before you begin:
-Docker (Engine 26.0+ recommended)
-Allocate at least 4 GB RAM and 2 CPUs.
-If you plan to install with WorkflowPlane, allocate 8 GB RAM and 4 CPUs for optimal performance.
-5-10 minutes of setup time

Step 1: Start OpenChoreo Quick Start

docker run --rm -it --name openchoreo-quick-start `
  --pull always `
  -v //var/run/docker.sock:/var/run/docker.sock `
  -p 8080:8080 -p 9443:9443 `
  ghcr.io/openchoreo/quick-start:v1.0.0
Enter fullscreen mode Exit fullscreen mode

Step 2: Install OpenChoreo(two options):

./install.sh

Enter fullscreen mode Exit fullscreen mode

With observability

./install.sh --with-build --with-observability
Enter fullscreen mode Exit fullscreen mode

Step 3: Choose a Deployment Option
There are two ways to deploy the GCP Microservices Demo:

Option A: Use the built-in OpenChoreo deploy script for GCP Microservices Demo (11 services: frontend, cart, checkout, payment, and more)

./deploy-gcp-demo.sh
Enter fullscreen mode Exit fullscreen mode

Option B: Clone and deploy manually

git clone --depth 1 --branch v0 https://github.com/GoogleCloudPlatform/microservices-demo.git
cd microservices-demo
Enter fullscreen mode Exit fullscreen mode
kubectl apply -f ./release/kubernetes-manifests.yaml
I used Option B (clone and deploy).
Enter fullscreen mode Exit fullscreen mode

Step 4: Verify in OpenChoreo UI
Access the UI at: http://openchoreo.localhost:8080/

Default login credentials:

Username: admin@openchoreo.dev
Password: Admin@123

Check:

Project and component catalog
Deployment pipeline view
Environment progression

Step 5: Validate End-to-End App Behavior
I opened the storefront and validated core user flow (browse, cart, checkout).

📚 References
Documentation: https://openchoreo.dev/docs/
Documentation: https://insights.linuxfoundation.org/project/openchore
OpenChoreo Quick Start Guide:
https://openchoreo.dev/docs/getting-started/quick-start-guide/
GCP Microservices Demo Repository:
https://github.com/GoogleCloudPlatform/microservices-demo

Top comments (0)