Many organizations beginning their conversational AI journey struggle with fragmented deployments, inconsistent environments, and unclear security boundaries.
Aura solves this by providing a repeatable, infrastructure-as-code deployment model for Azure CLU-based chatbots with:
- clear system architecture
- secure configuration patterns
- simple local testing
- production readiness
- fast onboarding for developers
This project demonstrates how to deliver an enterprise-ready AI chatbot using modern cloud practices.
Aura is a Python-based Azure chatbot powered by Microsoft's Conversational Language Understanding (CLU) service and fully provisioned using Terraform.
The goal is to showcase end-to-end cloud engineering skills:
- Conversational AI integration
- Automated infrastructure provisioning
- Secure runtime configuration
- Cloud-native testing
- Reproducible deployment workflows
📁 aura-azure-clu-chatbot/
│
├── 📁 bot/ # Python Bot Framework application
│ ├── app.py
│ ├── bot.py
│ ├── manage_clu.py
│ └── requirements.txt
│
├── 📁 infra/ # Terraform infrastructure-as-code
│ ├── main.tf
│ ├── providers.tf
│ ├── variables.tf
│ └── outputs.tf
│
├── 📁 docs/ # Architecture, banner, PDFs (optional)
│ ├── aura-banner.png
│ ├── architecture.png
│ └── case-study.pdf
│
└── README.md
For a recruiter-friendly and high-level explanation of this project, see the full case study:
➡️ Aura CLU Chatbot – Case Study (PDF)
- 🧠 Azure CLU for natural language intent recognition
- 🤖 Python Bot Framework endpoint (
/api/messages) - ☁️ Terraform IaC for automated Azure provisioning
- 🔐 Secrets kept out of source control (env vars only)
- 🌐 Cloud-native execution (no local runtime required)
- 🔁 CI/CD-ready for production environments
| Category | Tools |
|---|---|
| Language | Python 3.12 |
| Cloud | Microsoft Azure |
| AI | Azure CLU (Cognitive Services) |
| IaC | Terraform + AzureRM + AzureAD providers |
| Runtime | Azure App Service |
| Dev Tools | VS Code • GitHub • Bot Framework |
Terraform automates creation of all required Azure resources:
- Resource Group
- Cognitive Services Account (CLU)
- App Service Plan
- Linux Web App
- Managed Identity
- Bot Registration (Single-Tenant)
terraform init
terraform validate
terraform plan
terraform applyTerraform outputs:
- Microsoft App ID
- Web App URL
- Bot Messaging Endpoint
- CLU Endpoint
Use these values as environment variables when running the bot locally.
Aura is designed to run fully in the cloud, using Azure-native services for hosting, authentication, and conversational intelligence.
Terraform provisions:
- Azure App Service – hosts the Python Bot Framework application
- Azure Cognitive Services (CLU) – provides intent recognition
- Managed Identity – supports secure authentication
- Bot Registration (Single-Tenant) – integrates with Azure Bot Framework channels
-
Terraform provisions the infrastructure
-
Bot code is deployed to Azure App Service
-
App Settings are configured using Terraform outputs
-
Bot endpoint becomes active at:
https://.azurewebsites.net/api/messages -
Testing is performed in Azure using Web Chat or Bot Emulator
This cloud-first design supports secure configuration, CI/CD automation, scalability, and enterprise-ready operation.
This model supports secure configuration, CI/CD integration, and production-ready scalability without requiring local execution.
- No secrets stored in the repository
- Environment-based configuration
- Managed Identity support
- Ready for Key Vault integration
- Cloud-native authentication patterns
- CI/CD pipeline (GitHub Actions)
- Azure Key Vault integration
- Azure Web Chat embedding
- Teams channel enablement
- Azure OpenAI response augmentation
- High-level documentation bundle (PDF)
Created by: Rich Matlock
Role: AI Solution Designer • Cloud Engineering • Technical Ownership
Las Vegas, NV
MIT License — free for educational and demonstration purposes.
Built with Azure, Python, and Terraform — powered by curiosity (and coffee). ☕




