Technology Stack¶
This document provides a clear, opinionated overview of the technology stack used by the Factory, templates, and platforms, and how it all fits together. It is written for architects, engineers, and platform owners who need to understand ConnectSoft's technology choices and constraints.
ConnectSoft uses an opinionated .NET and Azure stack. This plays perfectly into our strengths and gives enterprise-grade credibility. All Factory-generated systems use this stack by default, ensuring consistency, deep integration, and enterprise-grade capabilities.
Tip
The opinionated stack is a feature, not a limitation. It enables deep integration, consistent patterns, and enterprise-grade capabilities that generic tools can't match. We specialize in .NET/Azure, not everything.
Overview¶
ConnectSoft's technology stack is .NET and Azure-centric, optimized for:
- Enterprise Credibility - .NET and Azure are enterprise-proven
- Deep Integration - Specialized knowledge enables better integration
- Consistency - All services use same stack, reducing complexity
- Quality - Opinionated choices reduce decision fatigue and errors
| Layer | Primary Technologies |
|---|---|
| Runtime | .NET 10, C# |
| Web/API | ASP.NET Core |
| Data | Azure SQL, Cosmos DB, NHibernate |
| Messaging | MassTransit, Azure Service Bus |
| Identity | OpenIddict, ASP.NET Identity |
| Observability | OpenTelemetry, Application Insights |
| Infrastructure | Azure (AKS, App Service), Docker, Kubernetes |
| AI/Agents | Microsoft.Extensions.AI, Microsoft Agent Framework, MCP, Vector Stores |
| CI/CD | Azure DevOps, Azure Pipelines |
Backend Stack¶
Runtime and Language¶
- .NET 10 - Latest .NET runtime
- C# - Primary programming language
- ASP.NET Core - Web framework for APIs
Architectural Patterns¶
- Clean Architecture - Domain → Application → Infrastructure layers
- Domain-Driven Design (DDD) - Bounded contexts, aggregates, domain events
- CQRS - Command Query Responsibility Segregation (where applicable)
- Event-Driven Architecture - Domain events and integration events
See: Clean Architecture & DDD, Event-Driven Mindset
Web and API Framework¶
- ASP.NET Core - Web framework
- REST APIs - Standard REST endpoints
- gRPC - High-performance gRPC services (where needed)
- OpenAPI/Swagger - API documentation
Data and Messaging Stack¶
Data Storage¶
- Azure SQL Database - Primary relational database
- Azure Cosmos DB - Multi-model database for scale
- Azure Blob Storage - Object storage
- NHibernate - Object-relational mapping (ORM)
Messaging and Events¶
- MassTransit - Messaging abstraction library
- Azure Service Bus - Message broker (primary)
- RabbitMQ - Alternative message broker (self-hosted)
- Domain Events - In-process domain events
- Integration Events - Cross-service events via message bus
See: Event-Driven Mindset
AI and Agent Stack¶
AI Framework and Providers¶
- Microsoft.Extensions.AI - Core AI abstractions and integration extensions
- Provider-agnostic AI client interfaces (
IChatClient,IEmbeddingGenerator) - Supports multiple LLM providers (OpenAI, Azure OpenAI, Azure AI Inference, Ollama)
- Evaluation and quality assessment capabilities
- Provider-agnostic AI client interfaces (
- Microsoft Agent Framework (Microsoft.Agents.AI) - Agent orchestration, workflows, and hosting
- Agent definition and lifecycle management
- Workflow orchestration for complex agent interactions
- DevUI for agent development and debugging
- Hosting infrastructure for agent execution
- LLM Providers:
- Azure OpenAI - Primary LLM provider (GPT-4, GPT-3.5, embeddings)
- OpenAI API - Alternative LLM provider
- Azure AI Inference - Azure-hosted inference service
- Ollama - Self-hosted LLM option
Knowledge and Memory¶
- Microsoft.Extensions.VectorData - Vector data abstractions
- Vector Stores:
- Azure AI Search - Azure-hosted vector search
- SQL Server (pgvector) - SQL-based vector storage
- Qdrant - Open-source vector database
- In-Memory - Development and testing
- Semantic Kernel Connectors - Vector store connectors (SK used only for vector store integration, not agent orchestration)
- Knowledge Storage - Code, docs, blueprints, patterns stored as vector embeddings
See: Knowledge & Memory System
Agent Infrastructure¶
- MCP (Model Context Protocol) - Tool and context protocol for exposing microservice capabilities
- HTTP and Stdio transport support
- Automatic tool and prompt discovery via attributes
- Integration with Microsoft Agent Framework
- Rate limiting and session management
- Agent Host - Runtime for agent execution via Microsoft Agent Framework
- Workflow Orchestration - Complex multi-agent workflows via Microsoft.Agents.AI.Workflows
Frontend and UX Stack (If Applicable)¶
Web UIs¶
- Blazor - .NET web UI framework (for admin portals)
- ASP.NET Core MVC - Server-side rendering (where needed)
- Static Sites - MkDocs for documentation
Admin Consoles¶
- Factory Console - Blazor-based Factory management UI
- Platform Admin UIs - Blazor-based platform administration
- Developer Portal - MkDocs-based documentation site
DevOps, CI/CD, and Observability Stack¶
CI/CD¶
- Azure DevOps - Repos, Pipelines, Boards, Artifacts
- Azure Pipelines - YAML-based CI/CD pipelines
- Bicep - Infrastructure-as-Code (primary)
- Terraform - Alternative IaC (where needed)
See: CI/CD Guidelines
Containerization and Hosting¶
- Docker - Containerization
- Azure Container Apps - Serverless containers (preferred)
- Azure Kubernetes Service (AKS) - Kubernetes orchestration
- Azure App Service - Platform-as-a-Service (where applicable)
See: Cloud-Native Mindset
Observability¶
- OpenTelemetry - Distributed tracing and metrics
- Application Insights - Azure monitoring and analytics
- Serilog - Structured logging
- Health Checks - Built-in health check endpoints
See: Observability-Driven Design
Usage Guidelines and Preferred Combinations¶
Standard SaaS Microservices¶
Recommended Stack:
- .NET 10, ASP.NET Core
- NHibernate + Azure SQL
- MassTransit + Azure Service Bus
- OpenIddict for identity
- OpenTelemetry for observability
- Azure Container Apps for hosting
Use When:
- Building standard multi-tenant SaaS microservices
- Need event-driven communication
- Require multi-tenant data isolation
Event-Heavy Systems¶
Recommended Stack:
- .NET 10, ASP.NET Core
- MassTransit + Azure Service Bus
- Cosmos DB for event sourcing (if needed)
- OpenTelemetry for event tracing
Use When:
- High event throughput
- Event sourcing patterns
- Complex event processing
High-Performance APIs¶
Recommended Stack:
- .NET 10, ASP.NET Core
- gRPC for internal APIs
- REST for external APIs
- Azure SQL or Cosmos DB
- AKS for hosting
Use When:
- Low-latency requirements
- High throughput needs
- Internal service-to-service communication
Internal Tools¶
Recommended Stack:
- .NET 10, ASP.NET Core or Blazor
- Azure SQL
- Azure App Service
- Basic observability
Use When:
- Internal admin tools
- Lower scale requirements
- Simpler deployment needs
| Scenario | Recommended Stack Combination | Notes |
|---|---|---|
| Standard SaaS Microservice | .NET 10 + ASP.NET Core + NHibernate + Azure SQL + MassTransit + Azure Service Bus + OpenIddict + OpenTelemetry + Azure Container Apps | Default for most microservices |
| Event-Heavy System | .NET 10 + MassTransit + Azure Service Bus + Cosmos DB + OpenTelemetry | For high event throughput |
| High-Performance API | .NET 10 + gRPC + Azure SQL/Cosmos DB + AKS | For low-latency, high-throughput |
| Internal Tools | .NET 10 + Blazor + Azure SQL + Azure App Service | For admin tools and portals |
Tip
Golden Paths (Templates Prioritize): 1. Standard Microservice - Default template uses standard SaaS stack 1. Event-Driven Microservice - Template with MassTransit and event patterns 1. API Gateway - Template for API aggregation and routing 1. Background Worker - Template for async processing and event handlers
See: Microservice Template for template details.
Technology Constraints¶
Required Technologies¶
- .NET 10+ - Minimum .NET version
- Azure - Primary cloud platform
- Azure DevOps - Required for Factory integration
Optional Technologies¶
- Alternative Clouds - Can deploy to AWS/GCP, but Azure is preferred
- Alternative Message Brokers - RabbitMQ supported, but Azure Service Bus preferred
- Alternative Databases - PostgreSQL supported, but Azure SQL preferred
Important
Non-Negotiable Constraints: 1. .NET Runtime - All generated code must be .NET 10+ 1. Clean Architecture - Must follow Clean Architecture layers 1. DDD Patterns - Must use DDD bounded contexts and aggregates 1. Observability - Must include OpenTelemetry integration 1. Azure DevOps - Factory requires Azure DevOps for code generation
Related Documents¶
- Microservice Template - Template structure and technologies
- Libraries Catalog - Available libraries and their technologies
- Clean Architecture & DDD - Architecture patterns
- Event-Driven Mindset - Messaging patterns
- Cloud-Native Mindset - Infrastructure patterns
- Observability-Driven Design - Observability stack
- Agent Microservice Standard Blueprint - Standard blueprint
- CI/CD Guidelines - CI/CD stack