Skip to content

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
  • 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