Table of Contents

    constraints

    SYSTEM DESIGN FOUNDATIONS

    Constraints in System Design

    Learn how technical, business, regulatory, operational, compatibility and organizational constraints limit architecture choices and shape practical system designs.

    Introduction

    A system is never designed with unlimited time, money, computing resources, technology choices or operational freedom. Every real-world architecture must operate within boundaries known as constraints.

    A constraint is a confirmed restriction or condition that the design must respect. Constraints narrow the available solution space and influence decisions involving:

    • Architecture style
    • Technology selection
    • Cloud regions
    • Data placement
    • Integration methods
    • Deployment strategies
    • Security controls
    • Operating cost
    • Delivery scope
    • Migration approach

    Core idea: Requirements describe the results a system must deliver. Constraints limit the paths available for delivering those results.

    In the System Design curriculum, constraints appear as Topic 1.3 under System Design Process and Estimation, after requirements discovery and functional versus non-functional requirements. The module establishes requirements, constraints, request flow and scale estimates before selecting architecture components.

    Prerequisites

    # Prerequisite Why It Is Needed
    1 Requirements discovery Constraints are identified while examining stakeholders, workflows and the existing environment.
    2 Functional requirements The architecture must deliver required capabilities despite its constraints.
    3 Non-functional requirements Quality targets can conflict with cost, technology and operational constraints.
    4 Basic architecture knowledge Constraints influence components, data flow, integrations and deployment.
    5 Trade-off analysis Several constraints may compete and require an explicit design decision.

    What Is a System Design Constraint?

    A system design constraint is a confirmed limitation, mandatory condition or fixed boundary that restricts how a system may be designed, implemented, deployed or operated.

    Constraint Template

    Constraint ID:
    CON-<number>
    
    Category:
    <Technical, business, regulatory, operational or another category>
    
    Statement:
    The solution must <specific mandatory condition>.
    
    Source:
    <Policy, stakeholder, contract, existing system or regulation>
    
    Reason:
    <Why the constraint exists>
    
    Architecture impact:
    <Decisions or components affected>
    
    Verification:
    <Review, test, audit or approval used to verify compliance>
    
    Owner:
    <Role accountable for clarification and approval>
    
    Status:
    Proposed / Confirmed / Changed / Retired

    Requirement vs Constraint

    Comparison Requirement Constraint
    Purpose Defines a required capability or quality Limits how the capability or quality may be delivered
    Primary question What must the system accomplish? Within which boundaries must it be accomplished?
    Example The system shall redirect a valid short link. The service must use the approved organizational cloud platform.
    Effect Pulls the design toward an outcome Removes unacceptable implementation options
    Verification Functional, performance or acceptance testing Design review, configuration check, audit or compliance evidence
    Design Relationship
    requirements + constraints + assumptions → architecture options → trade-off decision

    Constraint vs Assumption vs Dependency

    Concept Meaning Example Required Action
    Constraint A confirmed limit the design must respect Personal data must remain in an approved region. Design and verify compliance
    Assumption An unconfirmed statement temporarily treated as true Redirect traffic will exceed creation traffic. Validate with evidence
    Dependency An external capability required by the solution An identity provider authenticates administrators. Define contract and failure behaviour
    Risk An uncertain event that could negatively affect the system The external provider may impose a lower rate limit. Assess and mitigate
    Decision An approved choice made after evaluating alternatives Use asynchronous analytics processing. Record rationale and consequences

    Categories of System Design Constraints

    Technical Constraints

    Technical constraints restrict technologies, protocols, platforms, interfaces or runtime environments.

    Examples include:

    • The application must integrate with an existing identity provider.
    • The system must preserve compatibility with an existing API version.
    • The service must run on an approved operating platform.
    • An existing database schema cannot be changed during the first release.
    • External integrations support only a particular protocol.
    • A legacy client cannot send newly introduced fields.

    Financial Constraints

    Financial constraints establish limits for development, infrastructure, licensing, maintenance or per-operation cost.

    • Monthly infrastructure cost must remain within an approved budget.
    • The solution must avoid a licensing model prohibited by procurement.
    • The first release must reuse an existing platform where practical.
    • Data retention cost must remain within the approved operating model.

    Regulatory and Legal Constraints

    Regulatory constraints result from laws, contractual obligations, industry rules or internal governance policies.

    • Specified data must remain in an approved geographic region.
    • Personal data must be deleted according to an approved retention rule.
    • Selected actions must produce an audit trail.
    • Access to sensitive information must follow approved authorization rules.
    • Third-party components must use acceptable licenses.

    Organizational Constraints

    Organizational constraints arise from internal standards, team structure, available expertise, ownership boundaries and support responsibilities.

    • Only approved technologies may be used in production.
    • The operations team supports a defined monitoring platform.
    • The owning team has limited experience with a proposed technology.
    • Different business units own separate source systems.
    • A release requires architecture or security approval.

    Operational Constraints

    Operational constraints limit how the system may be deployed, monitored, maintained, recovered or supported.

    • Deployment is permitted only during an approved release window.
    • The service must integrate with the existing incident-management process.
    • The application must expose health information required by the platform.
    • Rollback must use the approved deployment mechanism.
    • Production access is restricted to authorized support roles.

    Schedule Constraints

    Schedule constraints restrict delivery sequencing, migration timing or availability of related platforms.

    • The first release must be ready before an existing platform is retired.
    • A dependent API will become available only after a scheduled release.
    • Data migration must occur within an approved maintenance window.
    • Only the must-have scope can be delivered in the initial phase.

    Compatibility Constraints

    Compatibility constraints require the new design to continue working with existing clients, services, data formats or workflows.

    • Existing API clients must continue working during migration.
    • Previously created links must remain valid.
    • The system must read an existing file format.
    • Events must preserve fields used by current consumers.
    • Database changes must support a staged deployment.

    Security Constraints

    Security constraints can prescribe mandatory controls or restrict data and access patterns.

    • Secrets must be stored through the approved secret-management service.
    • Administrative operations require strong authentication.
    • Public clients cannot connect directly to the database.
    • Sensitive fields cannot appear in application logs.
    • External requests must pass through approved edge controls.

    Data Constraints

    Data constraints define limits involving ownership, quality, location, format, retention or migration.

    • A source system remains the authoritative owner of customer data.
    • Records must preserve existing business identifiers.
    • Historical data cannot be corrected automatically.
    • Some fields may be retained only for a defined period.
    • Data from separate regions cannot be combined in one physical store.

    Discovering Constraints

    Constraints may not be stated directly during the first requirements discussion. The system designer must investigate the existing environment, internal standards and external obligations.

    Stakeholder Questions

    • Which technologies or platforms are mandatory?
    • Which technologies are prohibited?
    • Which existing systems must remain compatible?
    • Who owns each source of data?
    • Are geographic data restrictions applicable?
    • Which security and audit controls are mandatory?
    • What budget limits apply?
    • Which release or migration deadlines are fixed?
    • What can the operations team support?
    • Which external-provider limits affect the design?
    • Which decisions require governance approval?
    • What happens if a documented constraint cannot be satisfied?

    Constraint Sources

    Source Possible Constraint Evidence
    Stakeholder interviews Budget, scope, deadlines and business boundaries
    Architecture standards Approved platforms, protocols and integration patterns
    Security policies Identity, encryption, secrets, logging and access rules
    Legal or compliance review Residency, retention, privacy and audit obligations
    Existing-system analysis Legacy interfaces, formats, dependencies and migration limits
    Operational review Deployment, monitoring, backup and recovery limitations
    Vendor documentation Quotas, rate limits, payload limits and availability conditions
    Contracts Service obligations, usage limits and support boundaries

    Worked Example: URL Shortener Constraints

    Consider a URL shortener that must integrate with an existing enterprise environment.

    ID Constraint Architecture Impact
    CON-01 Owner operations must use the existing identity provider. Authentication tokens and identity-provider availability affect owner workflows.
    CON-02 Existing short codes must continue redirecting during migration. The migration design must preserve identifiers or support lookup across old and new stores.
    CON-03 Public traffic must pass through the approved edge platform. Routing, TLS termination and public controls must align with that platform.
    CON-04 Selected usage data must remain in an approved region. Storage placement, analytics processing and backups require regional controls.
    CON-05 Sensitive destination parameters must not appear in logs. Logging and tracing require filtering or redaction.
    CON-06 The initial release must preserve compatibility with the current client contract. API evolution must be backward-compatible or versioned.

    Detailed Constraint Record

    Constraint ID:
    CON-02
    
    Category:
    Compatibility and migration
    
    Statement:
    Previously issued short codes must continue redirecting throughout migration.
    
    Source:
    Existing-system migration requirement
    
    Reason:
    Existing short links have already been distributed to users and external
    channels.
    
    Architecture impact:
    The design must preserve existing identifiers, migrate mappings safely or
    provide a compatibility lookup path.
    
    Verification:
    Execute redirect tests using representative existing short codes before,
    during and after migration.
    
    Owner:
    Migration owner
    
    Status:
    Confirmed

    How Constraints Affect Architecture

    Constraint Possible Design Effect
    Strict data residency Regional storage, processing and backup boundaries
    Backward-compatible API Versioning, additive changes or translation adapters
    Limited operating budget Simpler topology, managed services or lower retention
    Single-process legacy dependency Serialized access, queueing or a protective adapter
    Restricted deployment window Stronger automation, staged validation and rollback planning
    Mandatory audit trail Durable audit events, access controls and retention design
    Existing schema cannot change Translation layer, side table or separate read model
    Limited team expertise Preference for supportable technologies and reduced operational complexity

    Important: A constraint does not automatically dictate one architecture. It removes unacceptable options and changes the trade-offs among the remaining alternatives.

    Classify Constraint Strength

    Not every apparent constraint is equally fixed. Classifying its strength prevents preferences from being treated as mandatory rules.

    Strength Meaning Example
    Hard constraint Cannot be violated without formal approval or noncompliance Regulated data must remain in an approved region.
    Policy constraint Required by an organizational standard, with a defined exception process Production secrets must use the approved secret store.
    Negotiable constraint Current limit that may change through stakeholder decision The first release should reuse the current reporting interface.
    Preference Desired choice without mandatory evidence A stakeholder prefers a particular database.
    Assumed constraint Treated as fixed but not yet supported by evidence The system must use microservices.

    Preference vs Real Constraint

    Unverified preference presented as mandatory
    The system must use Kafka because Kafka is the standard choice for events.
    Constraint supported by a source and reason
    The solution must publish order events through the approved enterprise event
    platform because existing consumers and operational controls depend on that
    platform.

    The improved statement identifies the existing dependency and explains why the restriction matters.

    Constraint Register

    ID Category Constraint Strength Owner Status
    CON-01 Security Use the approved identity provider for administrative access. Policy Security owner Confirmed
    CON-02 Compatibility Preserve existing public identifiers during migration. Hard Product owner Confirmed
    CON-03 Financial Stay within the approved operating budget. Negotiable Business owner Target pending
    CON-04 Data Store selected data within an approved region. Hard Compliance owner Confirmed

    Conflicting Constraints

    Constraints may conflict with one another or with non-functional requirements.

    Example Conflict

    Requirement:
    Provide very low redirect latency for global users.
    
    Constraint:
    All link data must remain in one approved region.
    
    Conflict:
    Global users may experience longer network latency when every read goes to one
    region.

    Resolution Process

    1. Document the competing requirement and constraint.
    2. Confirm the source and strength of the constraint.
    3. Measure or estimate the user-visible impact.
    4. Identify compliant design alternatives.
    5. Compare correctness, cost, complexity and operational risk.
    6. Escalate when no option satisfies both conditions.
    7. Record the approved decision and accepted consequences.

    Architecture Decision Record

    Decision ID:
    ADR-001
    
    Title:
    Redirect data placement under regional restrictions
    
    Context:
    Global redirect latency is important, but selected mapping data must remain in
    an approved region.
    
    Constraints:
    CON-04 - Regional data placement
    
    Options:
    1. Serve every redirect from the approved region.
    2. Cache only permitted derived data outside the region.
    3. Use regional routing without replicating restricted fields.
    
    Decision:
    <Approved option>
    
    Consequences:
    <Latency, availability, cost, complexity and operational effects>
    
    Verification:
    <Compliance review, performance test and failure test>

    Validating Constraints

    A constraint must be verified against its source. A statement repeated during meetings is not automatically a confirmed constraint.

    Constraint Area Verification Evidence
    Regulatory Approved compliance interpretation or policy reference
    Security Security standard, control requirement or approved review
    Budget Approved financial limit and measurement period
    Compatibility Client inventory, interface contract and usage evidence
    Technology Architecture standard or approved platform decision
    Vendor Contract and documented service limits
    Operations Operating model, runbook or support-team confirmation

    Common Constraint Mistakes

    1

    Discovering Constraints After Architecture Selection

    Important constraints should be investigated before major technology and deployment decisions are finalized.

    2

    Treating Preferences as Mandatory Constraints

    Ask for the source, reason, owner and exception process before accepting a preferred technology as mandatory.

    3

    Recording a Constraint Without Its Reason

    The reason helps designers evaluate alternatives without violating the underlying intent.

    4

    Confusing Assumptions with Constraints

    An unverified workload estimate is an assumption, not a fixed design boundary.

    5

    Ignoring Constraint Conflicts

    Cost, performance, security and compatibility constraints can conflict and require explicit prioritization.

    6

    Not Assigning an Owner

    Every important constraint needs a role that can clarify, confirm or approve a change.

    7

    Writing Constraints That Cannot Be Verified

    Document the review, test, audit or configuration evidence used to prove compliance.

    8

    Assuming Constraints Never Change

    Technology standards, budgets, vendor contracts and migration conditions can change. Track status and review dates.

    9

    Solving Around a Constraint Without Approval

    If a constraint prevents an acceptable architecture, escalate it rather than silently ignoring or weakening it.

    10

    Over-constraining the Design

    Unnecessary restrictions reduce flexibility, increase cost and can force complexity without providing corresponding value.

    Constraint Review Checklist

    Review Before Architecture

    • Every constraint has a unique identifier.
    • The constraint statement is specific and unambiguous.
    • The category is recorded.
    • The source is documented.
    • The reason for the constraint is understood.
    • The strength is classified.
    • A responsible owner is identified.
    • The affected architecture decisions are recorded.
    • The verification method is defined.
    • Constraints are separated from requirements and assumptions.
    • Preferences are not presented as mandatory rules.
    • Technology restrictions have supporting evidence.
    • Data residency and retention limits are captured.
    • Legacy compatibility requirements are captured.
    • Vendor quotas and integration limits are captured.
    • Budget and schedule boundaries are captured.
    • Operational support limitations are captured.
    • Conflicts have explicit decisions or escalation owners.
    • Changed or retired constraints remain traceable.

    Practice Exercise

    Identify constraints for a notification platform that sends email, SMS and mobile push notifications.

    Scenario

    The organization already has approved email and SMS providers.
    Mobile applications use an existing push-notification platform.
    Personal recipient information must follow approved regional data rules.
    The operations team uses an established monitoring platform.
    The initial release has a controlled operating budget.
    Existing applications must continue using the current notification API during
    migration.

    Model Classification

    Constraint Category Design Impact
    Use approved email and SMS providers. Technical and vendor Provider adapters, quotas and failure handling
    Use the existing push platform. Technical Push contract and credential integration
    Apply approved regional rules to recipient data. Regulatory and data Storage, transmission, processing and backup placement
    Use the established monitoring platform. Operational Telemetry and alert integration
    Remain within the approved operating budget. Financial Capacity, retention and provider usage decisions
    Preserve the current API during migration. Compatibility Versioning, adapters and staged migration

    Your Tasks

    1. Create a constraint register for the scenario.
    2. Classify each constraint as hard, policy-based or negotiable.
    3. Identify the source and owner of each constraint.
    4. List three assumptions that require validation.
    5. Identify two potential constraint conflicts.
    6. Compare at least two architecture options for one conflict.
    7. Write an architecture decision record for the selected option.

    Frequently Asked Questions

    1

    What is a constraint in system design?

    A constraint is a confirmed restriction or condition that limits how a system may be designed, built, deployed or operated.

    2

    Are constraints the same as non-functional requirements?

    No. A non-functional requirement defines a required quality, such as latency or availability. A constraint limits the implementation choices available for achieving required behaviour and quality.

    3

    Is a required database a constraint?

    It is a constraint when an approved standard, existing dependency or confirmed organizational decision makes that database mandatory. Without such evidence, it may be only a preference or proposed design decision.

    4

    Are budget and deadlines constraints?

    Yes. Confirmed financial and schedule limits constrain scope, implementation complexity and delivery options.

    5

    Can constraints change?

    Yes. Budgets, policies, contracts, supported platforms and migration conditions can change. The constraint register should preserve status, ownership and decisions.

    6

    Are constraints always negative?

    No. Constraints can focus the design, prevent unsuitable choices and ensure compatibility, security, compliance and operational support.

    7

    What happens when constraints conflict?

    Confirm their sources and strength, evaluate compliant alternatives, measure the consequences and obtain an explicit stakeholder or governance decision.

    8

    How should a constraint be verified?

    Use evidence appropriate to its source, such as design review, configuration inspection, policy review, audit evidence, compatibility testing or cost analysis.

    9

    Should constraints appear in architecture documentation?

    Yes. Important architecture decisions should identify the constraints that removed alternatives or affected the selected design.

    10

    What comes after identifying constraints?

    Confirm assumptions, map the main request flow, create a high-level diagram and estimate traffic, storage and bandwidth before selecting detailed components.

    Key Takeaway

    Constraints define the boundaries within which a system must be designed. They can come from technology, budgets, regulations, existing systems, organizational standards, data rules, operations or delivery schedules. Record each constraint with its source, reason, strength, owner, architecture impact and verification method. Separate confirmed constraints from assumptions and preferences, resolve conflicts explicitly and use constraints to compare architecture options rather than to justify decisions after they have already been made.