Architecture
Fundamental model for a system's structure, relationships and guiding principles to steer technical and business decisions.
Classification
- ComplexityHigh
- Impact areaTechnical
- Decision typeArchitectural
- Organizational maturityAdvanced
Technical context
Principles & goals
Use cases & scenarios
Compromises
- Overengineering leads to unnecessary complexity.
- Lack of alignment with operational realities creates technical debt.
- Unclear responsibilities prevent fast decision-making.
- Document decisions concisely and traceably as ADRs.
- Prioritize quality attributes and measure them with SLOs.
- Conduct regular architecture reviews with cross-functional teams.
I/O & resources
- Business goals and use cases
- Technical constraints and existing systems
- Team skills and operating model
- Architecture decision records (ADR)
- Component and interface diagrams
- Quality goals with metrics and SLOs
Description
Architecture describes the fundamental structure, components, and relationships of a system and the principles guiding their design. It links business requirements with technical decisions, aligns quality attributes and interfaces, and provides a decision framework for scalability, security, and maintainability across organizational contexts.
✔Benefits
- Improved scalability and predictability of system behaviour.
- Clear decision basis for technology and organizational questions.
- Easier maintainability and team coordination through responsibility boundaries.
✖Limitations
- Can become overly bureaucratic if governance is missing.
- Not every architectural recommendation fits every organizational context.
- High initial effort for documentation and alignment.
Trade-offs
Metrics
- Response time (P95)
Measures the 95th percentile response time of relevant endpoints.
- Availability (uptime)
Percentage of time the system is reachable for users.
- Mean Time to Recovery (MTTR)
Average time to recover after incidents.
Examples & implementations
E-commerce platform with scalable services
Split into checkout, catalog and payment services with asynchronous communication and clear SLAs.
Banking system with hardened security architecture
Multi-layer security controls, separation of sensitive data and architecture-level auditing.
IoT platform with edge and cloud components
Sensitive processing at the edge, aggregation in the cloud and resilience via local caching strategies.
Implementation steps
Stakeholder workshops to gather requirements
Create architecture decisions and diagrams
Iterative implementation with reviews and tests
⚠️ Technical debt & bottlenecks
Technical debt
- Short-term workarounds instead of robust interface designs.
- Unclear ownership leads to unresolved architectural issues.
- Missing automation of tests and deployments
Known bottlenecks
Misuse examples
- Introducing complex microservice architecture for trivial applications.
- Strict standardization without considering local requirements.
- Documentation that is outdated and does not match implementation.
Typical traps
- Choosing a technology too early before clarifying requirements.
- Neglecting non-functional requirements when making design decisions.
- Insufficient involvement of operations and security in architecture decisions.
Required skills
Architectural drivers
Constraints
- • Budget and infrastructure limits
- • Regulatory requirements for data residency
- • Legacy systems with limited modifiability