IRI: https://meta.linked.archi/arch-decision#BusinessConstraint
IRI: https://meta.linked.archi/arch-decision#Constraint
IRI: https://meta.linked.archi/arch-decision#Decision
ex:ADR-042 a ad:Decision ;
skos:prefLabel "ADR-042: Use read replicas for Orders DB scaling"@en ;
ad:hasIssue ex:DBScalabilityIssue ;
ad:hasSelectedOption ex:ReadReplicas ;
ad:hasAlternative ex:VerticalScaling, ex:CQRSOption ;
ad:influencedByForce ex:AvailabilityReq, ex:PerformanceReq, ex:BudgetConstraint ;
ad:relatedConcept ex:OrdersDB ;
ad:justification "Read replicas provide horizontal scaling without downtime."@en .
IRI: https://meta.linked.archi/arch-decision#DecisionState
Common states: Proposed, Accepted, Deprecated, Superseded. Compatible with MADR status values.
IRI: https://meta.linked.archi/arch-decision#Force
ex:BudgetConstraint a ad:BusinessConstraint ;
skos:prefLabel "Infrastructure Budget Limit"@en ;
skos:definition "Monthly infrastructure cost must not exceed €15,000."@en ;
ad:supportedByStakeholder ex:PlatformTeamLead ;
ad:hasImportanceMeasure "high" .
IRI: https://meta.linked.archi/arch-decision#ForceInfluence
IRI: https://meta.linked.archi/arch-decision#FunctionalRequirement
IRI: https://meta.linked.archi/arch-decision#Impact
IRI: https://meta.linked.archi/arch-decision#ImpendingInfluence
IRI: https://meta.linked.archi/arch-decision#Issue
ex:ScalabilityIssue a ad:Issue ;
skos:prefLabel "Database cannot handle peak load"@en ;
ad:problemStatement "Current PostgreSQL instance reaches 95% CPU during Black Friday sales"@en ;
ad:issueOwner ex:SolutionArchitect .
IRI: https://meta.linked.archi/arch-decision#Iteration
ex:ADDIteration1 a ad:Iteration ;
skos:prefLabel "ADD Iteration 1 — Establish Overall Structure"@en ;
ad:hasDecisionGoal ex:SelectReferenceArchitecture ;
ad:hasDecision ex:ADR-001, ex:ADR-002 .
IRI: https://meta.linked.archi/arch-decision#Option
ex:Option1 a ad:Option ;
skos:prefLabel "Vertical scaling — upgrade to larger instance"@en ;
ad:addressesForce ex:PerformanceReq ;
ad:includesConcept ex:LargerDBInstance .
ex:Option2 a ad:Option ;
skos:prefLabel "Horizontal scaling — read replicas"@en ;
ad:addressesForce ex:PerformanceReq, ex:AvailabilityReq ;
ad:addsConcept ex:ReadReplica1, ex:ReadReplica2 .
IRI: https://meta.linked.archi/arch-decision#PersonalPreference
IRI: https://meta.linked.archi/arch-decision#Policy
IRI: https://meta.linked.archi/arch-decision#Principle
IRI: https://meta.linked.archi/arch-decision#QualityAttributeRequirement
ex:AvailabilityReq a ad:QualityAttributeRequirement ;
skos:prefLabel "Payment Service Availability Under Peak Load"@en ;
ad:onQualityAttribute iso25010:Availability ;
ad:qasSourceOfStimulus "External users"@en ;
ad:qasStimulus "Black Friday peak load (10x normal traffic)"@en ;
ad:qasEnvironment "Normal operation, all regions active"@en ;
ad:qasArtifact ex:PaymentService ;
ad:qasResponse "Service continues processing transactions"@en ;
ad:qasResponseMeasure "99.95% uptime, p99 latency < 500ms"@en .
IRI: https://meta.linked.archi/arch-decision#Requirement
IRI: https://meta.linked.archi/arch-decision#SupportingInfluence
IRI: https://meta.linked.archi/arch-decision#TechnicalConstraint
IRI: https://meta.linked.archi/arch-decision#addressesForce
An Option for caching addresses the Performance force.
IRI: https://meta.linked.archi/arch-decision#addsConcept
An Option adds a new Message Broker component to the architecture.
IRI: https://meta.linked.archi/arch-decision#affectsConcept
Selecting a microservices Option affects the existing monolithic Application Component.
IRI: https://meta.linked.archi/arch-decision#appliedInOption
IRI: https://meta.linked.archi/arch-decision#associatedIssue
IRI: https://meta.linked.archi/arch-decision#causedBy
IRI: https://meta.linked.archi/arch-decision#complementaryForce
A Reliability force complements an Availability force since both aim at continuous service.
IRI: https://meta.linked.archi/arch-decision#conflictsWith
IRI: https://meta.linked.archi/arch-decision#dependsOn
IRI: https://meta.linked.archi/arch-decision#hasAlternative
IRI: https://meta.linked.archi/arch-decision#hasDecision
IRI: https://meta.linked.archi/arch-decision#hasDecisionGoal
IRI: https://meta.linked.archi/arch-decision#hasInfluence
IRI: https://meta.linked.archi/arch-decision#hasIssue
IRI: https://meta.linked.archi/arch-decision#hasRequirement
IRI: https://meta.linked.archi/arch-decision#hasRisk
An Option for a novel technology carries a risk of insufficient community support.
IRI: https://meta.linked.archi/arch-decision#hasSelectedOption
IRI: https://meta.linked.archi/arch-decision#includesConcept
An Option for Shared Repository DBMS includes MySQL; another may include PostgreSQL; another MongoDB.
IRI: https://meta.linked.archi/arch-decision#influencedByForce
IRI: https://meta.linked.archi/arch-decision#influencingForce
IRI: https://meta.linked.archi/arch-decision#issueCausedBy
IRI: https://meta.linked.archi/arch-decision#issueOwner
IRI: https://meta.linked.archi/arch-decision#issueReportedBy
IRI: https://meta.linked.archi/arch-decision#justificationDocument
IRI: https://meta.linked.archi/arch-decision#makesUseConcept
An Option reuses the existing API Gateway without modification.
IRI: https://meta.linked.archi/arch-decision#modifiesConcept
An Option modifies the existing Authentication Service to support OAuth 2.0.
IRI: https://meta.linked.archi/arch-decision#onQualityAttribute
IRI: https://meta.linked.archi/arch-decision#opposingForce
A Security force may oppose a Usability force when strict authentication hinders user experience.
IRI: https://meta.linked.archi/arch-decision#pertainsTo
IRI: https://meta.linked.archi/arch-decision#qasArtifact
IRI: https://meta.linked.archi/arch-decision#qasEnvironment
IRI: https://meta.linked.archi/arch-decision#qasResponse
IRI: https://meta.linked.archi/arch-decision#qasResponseMeasure
IRI: https://meta.linked.archi/arch-decision#qasSourceOfStimulus
IRI: https://meta.linked.archi/arch-decision#qasStimulus
IRI: https://meta.linked.archi/arch-decision#qualityAttributeMatch
IRI: https://meta.linked.archi/arch-decision#realizeRequirement
IRI: https://meta.linked.archi/arch-decision#removesConcept
An Option removes the legacy batch-processing service.
IRI: https://meta.linked.archi/arch-decision#replaces
IRI: https://meta.linked.archi/arch-decision#requestedByStakeholder
IRI: https://meta.linked.archi/arch-decision#supportedByStakeholder
IRI: https://meta.linked.archi/arch-decision#hasDifficultyMeasure
IRI: https://meta.linked.archi/arch-decision#hasImpactFlexibility
IRI: https://meta.linked.archi/arch-decision#hasImpactMeasure
IRI: https://meta.linked.archi/arch-decision#hasImpactVolatility
IRI: https://meta.linked.archi/arch-decision#hasImportanceMeasure
IRI: https://meta.linked.archi/arch-decision#hasInfluenceMeasure
IRI: https://meta.linked.archi/arch-decision#justification
IRI: https://meta.linked.archi/arch-decision#problemStatement
IRI: https://meta.linked.archi/arch-decision#qasDescription
The authors would like to thank Silvio Peroni for developing LODE, a Live OWL Documentation Environment, which is used for representing the Cross Referencing Section of this document and Daniel Garijo for developing Widoco, the program used to create the template used in this documentation.