# Backend & API Development with .NET > Robust backend systems and APIs with C# and .NET. Hosted at Hetzner in Germany. Fragon Studios builds backend systems primarily with C# and .NET 10 on PostgreSQL; for SME projects we recommend a modular monolith as default rather than microservices, because in over 80 percent of cases microservice complexity creates more problems than it solves. Microservices or monolith? The modular monolith is the right default for most SME applications. Easier to develop, easier to deploy, easier to debug, and it scales comfortably for five-figure user counts. Microservices pay off when teams need to work independently, when individual components have different scaling profiles, or when a polyglot language stack is necessary. 'Microservices from day one' is almost always an expensive mistake. Databases: PostgreSQL is our default. Relational, transactional, with JSON support for what isn't schema-fixed. Redis for cache and session store, MySQL when existing systems require it. For vector search we use Milvus or Qdrant, or pgvector as a lighter extension, depending on volume. Observability isn't a luxury. We instrument with OpenTelemetry for distributed traces, Prometheus for metrics, Grafana for dashboards, and Loki for logs. All on our own infrastructure, no data sent to external APM providers. When something goes wrong, we know in minutes, not hours. Language flexibility: we work primarily in C# with .NET 10, but we keep Node.js with NestJS and Python with FastAPI in the toolkit. If your team already runs on a stack, we build on it. ## Features - C# with .NET 10 as primary stack - PostgreSQL, Redis, Milvus, Qdrant - REST, gRPC, GraphQL, and SignalR - OpenTelemetry, Prometheus, Grafana, Loki - Docker and Kubernetes on Fragon Cloud - Node.js with NestJS or Python with FastAPI on request ## Backend Development with Us 1. **Architecture Workshop**: We analyze requirements, define interfaces, and create an architecture concept. 2. **API Design**: We document all endpoints before development. So frontend teams have something to work with early. 3. **Development & Testing**: Development with automated tests. Every pull request is tested before it's merged. 4. **Deployment on Fragon Cloud**: Automatic deployment to our Kubernetes clusters. Monitoring and alerting included. ## Benefits - **Development + Operations = One Team**: We build AND operate the system. No finger-pointing, fast reaction times, real responsibility. - **Enterprise Infrastructure**: Your application runs on enterprise-grade infrastructure. AMD EPYC processors, NVMe storage, redundant connectivity. - **Data Stays in Germany**: Fragon Cloud runs on Hetzner servers. No AWS, Azure, or GCP. Full control over your data. ## FAQ **REST or GraphQL?** Both, depending on the use case. REST for classic CRUD and public APIs, GraphQL when the frontend needs many data combinations or mobile clients must optimize bandwidth. We decide together during the architecture phase, not ideologically. **Microservices or monolith?** Default: modular monolith. Microservices only when scaling or team structure actually require it. 'Microservices from day one' is almost always an expensive mistake because deployment complexity, latency, and debugging overhead eat any benefit. **Can you do Node.js or Python as well?** Yes. Primary stack is .NET 10 with C#, but we keep Node.js with NestJS and Python with FastAPI in the toolkit. If your team already runs on a stack, we build on it. **What does monitoring look like?** OpenTelemetry for distributed traces, Prometheus for metrics, Grafana for dashboards, Loki for logs. All on our own infrastructure, no data sent to external APM providers like Datadog or New Relic. **Can we host the backend ourselves?** Generally yes, but we recommend Fragon Cloud. The reason: we react faster, have direct access for debugging, and you have one contact for everything. Costs are comparable to self-hosting without the operations overhead. **Can you connect legacy systems?** Yes, that's actually one of our strengths. We have experience with SOAP services, old Oracle databases, flat-file exports, and proprietary interfaces. We often build modern REST or GraphQL layers in front of old systems so new clients can access them cleanly.