aks-store-demo  by Azure-Samples

Polyglot microservices app for Kubernetes, featuring generative AI

Created 2 years ago
261 stars

Top 97.4% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

This repository provides a sample polyglot microservices application designed for demonstrating realistic scenarios on Azure Kubernetes Service (AKS). It targets engineers and power users looking to explore event-driven architectures, containerized deployments, and Azure services, offering a practical example for tutorials and experiments.

How It Works

The project features a collection of containerized microservices, showcasing a polyglot architecture with components written in Go, Rust, Node.js, Python, and JavaScript. It employs an event-driven design, using RabbitMQ for message queuing and MongoDB for data persistence. An optional AI service integrates with OpenAI or Azure OpenAI to generate product descriptions, demonstrating generative AI capabilities within a microservices context.

Quick Start & Requirements

Deployment to AKS is achieved via kubectl apply -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-all-in-one.yaml -n pets. Local execution uses Docker Compose; clone the repository, configure OpenAI API keys in docker-compose.yml for the ai-service, and run docker compose up. GitHub Codespaces integration is available via DevContainer configurations. Prerequisites include Docker Desktop for local runs and API keys for AI features.

Highlighted Details

  • Polyglot Microservices: Demonstrates a diverse technology stack with services implemented in multiple languages.
  • Event-Driven Design: Leverages RabbitMQ for robust inter-service communication and order processing workflows.
  • Generative AI Integration: Features an optional AI service for dynamic product description generation using OpenAI models.
  • Realistic AKS Deployment: Serves as a comprehensive example for deploying complex, real-world-like applications on AKS.

Maintenance & Community

No specific details regarding maintenance, community channels, or notable contributors are present in the provided README.

Licensing & Compatibility

The README does not specify the project's license or provide compatibility notes for commercial use.

Limitations & Caveats

This sample application is explicitly stated as not being production-ready code. Its primary purpose is for demonstration, tutorials, and experimentation within AKS environments.

Health Check
Last Commit

2 weeks ago

Responsiveness

1 week

Pull Requests (30d)
3
Issues (30d)
2
Star History
11 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.