Back to solution architecture

Solution architecture

Quality attributes (NFRs)

The non-functional requirements that decide whether a solution survives real use

What I design for

Non-functional requirements define system quality beyond features. Architectural decisions directly impact these attributes.

AttributeDescriptionArchitecture considerations
PerformanceResponse time, throughput, latencyCaching, CDN, async processing, database optimization
ScalabilityHandle growing workloadStateless design, horizontal scaling, load balancing
AvailabilityUptime, fault toleranceRedundancy, health checks, auto-healing, multi-region
ReliabilityConsistent, predictable behaviorRetry policies, circuit breakers, graceful degradation
SecurityProtection from threatsAuthentication, authorization, encryption, audit logging
MaintainabilityEase of modificationLoose coupling, documentation, clean code, automated tests
ObservabilityUnderstand system behaviorLogging, metrics, distributed tracing, alerting

Availability in numbers

Every extra nine costs money, so I agree the target with the business first and then design the redundancy to match.

What a target really means

Availability target

Allowed downtime

Per year3d 15h
Per month7h 18m
Per week1h 40m

Composite availability of one workload

App Service 99.95%Azure SQL 99.99%Service Bus 99.9%

Expected availability

99.84%

≈ 14h of downtime per year

Illustrative example

Chaining services multiplies their availability, so the whole is always weaker than its parts. A second region turns that around.

Ready to design your solution architecture?

Let's discuss how strategic architecture can align your technology investments with business objectives while ensuring scalability and reliability.