ADR 009: Data Mgmt Portal | Backend Framework
Date: 2025-09-23
Status: Proposed
Decision Makers: @jonasfrz @lukas.wydra @cr0ssing @luckey @DerLinne
Context
For the backend of the Data Management Portal, we need to decide which Java framework will serve as the foundation. The goal is to ensure a scalable, maintainable, and extensible architecture that balances operational efficiency with developer productivity.
Two options were evaluated: Quarkus and Spring Boot.
- Quarkus: designed cloud-native and container-first, with very fast startup times and low resource usage. Strong fit for serverless, high-density environments, or architectures with many small, short-lived services.
- Spring Boot: mature ecosystem, broad adoption, extensive libraries and integrations, with strong community and operational tooling. The team has deep experience with Spring, reducing learning curve and risk.
Checked Architecture Principles
- Model-centric data flow: Full – Spring’s ecosystem (Spring Data, JPA, etc.) supports model-driven workflows.
- Distributed architecture with unified user experience: Partial – both frameworks support microservices and distributed setups, but a unified experience requires additional components (e.g., API gateway, service discovery,..).
- Modular design: Full – Spring Boot enables modular microservice architecture, Quarkus too, but Spring is more established for enterprise modularity.
- Integration capability through defined interfaces: Full – Spring has strong integration capabilities via Spring Cloud, messaging, and connectors.
- Open source as the default: Full – both frameworks are open source.
- Cloud-native architecture: Partial – Quarkus is stronger in this area, but Spring Boot is cloud-ready with Spring Cloud.
- Prefer standard solutions over custom development: Full – Spring Boot’s ecosystem provides many proven, ready-to-use components.
- Self-contained deployment: Full – both frameworks provide containerized, self-contained deployments.
- Technological consistency to ensure maintainability: Full – The backend, built with Spring Boot, provides consistency in our development and operations. External integrations are done via REST APIs, making the external product's technology stack irrelevant.
- Multi-tenancy: Full – both frameworks can fully support multi-tenancy, though actual implementation depends on system design.
- Security by design: Full – Spring Security provides mature and extensive security capabilities.
Decision
Use Spring Boot as the backend framework for the Data Management Portal.
Key reasons:
- Larger ecosystem of libraries, integrations, and community support.
- Mature and widely adopted operational tooling (e.g., Spring Boot Actuator, monitoring, diagnostics).
- Team has strong expertise in Spring, reducing training effort and risks.
- Portal requirements focus on stability, extensibility, and maintainability, not on cold-start optimization or high-density serverless workloads.
Consequences
- We benefit from faster development speed thanks to team experience and the extensive Spring ecosystem.
- Runtime resource usage may be somewhat higher compared to Quarkus, but the portal’s workload does not require extreme optimization.
- Migration to Quarkus later is possible but would involve non-trivial changes, especially in areas like dependency injection, configuration, and extensions.
Alternatives
- Quarkus: would be the preferred choice if the portal required:
- very high pod density / strict CPU & memory budgets,
- cold-start–critical workloads (serverless, FaaS, batch jobs, edge),
- many small, short-lived services instead of long-running ones.
See also
- Quarkus vs. Spring Boot evaluation table
- Evaluation 5 and 6