This repository leverages the reddog applicaton codebase and was created to help users deploy a comprehensive, microservice-based sample application to Azure.
This repo contains the scripts and configurations to deploy the Red Dog Demo along with the backing Azure Resources. Here's how to get started:
- If you plan to make any code changes or contribute, we suggest you fork the repo first
- Create an GitHub Codespace
- Create a
config.json
file based on the example in the repo and update values accordingly- Azure Subscription and Tenant needed for Key Vault
- Use either
loganalytics
orprometheus
formonitoring
- Use either
cosmos
orredislocal
forstate_store
- Set
use_virtual_customer
totrue
orfalse
- Ensure
jq
https://stedolan.github.io/jq/download - Execute the
start.sh
deployment script.
Note: The
cleanup.sh
script will remove local log files and certs, but it does not delete the Resource Group.
This repository leverages bicep templates in order to execute the deployment of the Reddog applicaton and the supporting Azure Infrastructure. Bicep is a Domain Specific Language (DSL) for deploying Azure resources declaratively and provides a transparent abstraction over ARM and ARM templates.
A logical container which holds all resources needed to run the above solution in Azure
The application microservices will run in this cluster
A fully managed enterprise message broker with message queues and publish-subscribe topics used as the Dapr PubSub component implementation. This component is leveraged by multiple services, with the Order Service publishing messages to four other services in the application: Makelike, Accounting, Loyalty and Receipt
A member of the Azure SQL family, Azure SQL supports modern cloud applications on an intelligent, managed database service. This resource is created for the Accounting Service, which makes use of EF Core for interfacing with the DB.
Azuree Blob storage is optimized for storing massive amounts of unstructured data. Unstructured data is data that doesn't adhere to a particular data model or definition, such as text or binary data. Blob storage is used by the Receipt Service via Dapr Output Bindings to store order receipts.
Microsoft's NoSQL multi-model managed database as a service offering which is used as the Dapr State Store component implementation for the Loyalty Service
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.