This sample demo app consists of a group of containerized microservices that can be easily deployed into an Azure Kubernetes Service (AKS) cluster. This is meant to show a realistic scenario using a polyglot architecture, event-driven design, and common open source back-end services (eg - RabbitMQ, MongoDB).
The app is inspired by another demo app called Red Dog.
Note: This is not meant to be an example of perfect code to be used in production, but more about showing a realistic application running in AKS.
The application has the following services:
Service | Description |
---|---|
makeline-service |
This service handles processing orders from the queue and completing them (Golang) |
order-service |
This service is used for placing orders (Javascript) |
product-service |
This service is used to perform CRUD operations on products (Rust) |
store-front |
Web app for customers to place orders (Vue.js) |
store-admin |
Web app used by store employees to view orders in queue and manage products (Vue.js) |
virtual-customer |
Simulates order creation on a scheduled basis (Rust) |
virtual-worker |
Simulates order completion on a scheduled basis (Rust) |
ai-service |
Optional service for adding generative text and graphics creation (Python) |
mongodb |
MongoDB instance for persisted data |
rabbitmq |
RabbitMQ for an order queue |
Architecure Diagram:
- AKS Documentation. https://learn.microsoft.com/azure/aks
- Kubernetes Learning Path. https://azure.microsoft.com/resources/kubernetes-learning-path