ArchitectMind
  1. Home
  2. Tutorials
  3. Book 10 · Security, System Design & Solution Architecture
  4. Volume II
  5. Constraints
Book 10 · Volume II — System Design Fundamentals · Topic 1.3

Constraints

Fixed boundaries that shape the solution space

11 min readStage 4 · Production & architecture10 interview questions
Chapter
Chapter 1 — System Design Thinking
Prerequisites
Topics 1.1–1.2
You will be able to
Identify and categorise constraints, test whether they are genuine, record them clearly, use them to narrow design options, design effectively within them, and challenge constraints that are really preferences
Covers
Constraints
On this page
  1. 1. Concept / Definition
  2. 2. Why It Exists
  3. 3. Core Concepts — Constraint Categories
  4. 4. How It Works Internally — From Constraints to Options
  5. 4A. Deep Dive — Real or Negotiable?
  6. 4B. Deep Dive — Organisational Constraints and Conway's Law
  7. 4C. Deep Dive — Regulatory Constraints
  8. 4D. Deep Dive — Working Creatively Within Constraints
  9. 4E. Deep Dive — Documenting Constraints
  10. 5. APIs / Features / Syntax
  11. 6. Practical Examples
  12. 7. Common Problems & Mistakes
  13. 8. Performance & Production Considerations
  14. 9. Architecture & Design Considerations
  15. 10. Interview Questions & Answers

1Concept / Definition

A constraint is a fixed boundary on the solution that the design team cannot change on its own: a mandated platform, a regulation, a budget, a deadline, an existing system that must be integrated, or the skills of the teams available. Unlike requirements, constraints are not goals to optimise — they remove options from the solution space.

Types of constraints
Figure 1 — Types of constraints
Requirement vs constraint
Figure 2 — Requirement vs constraint
VocabularyMeaning
Hard constraintLegally or contractually fixed
Soft constraintOrganisational choice that could change at a cost
Conway's lawSystems mirror communication structures
Solution spaceSet of viable designs
Table 1 — Terms

2Why It Exists

Design options remaining after constraints
Figure 3 — Design options remaining after constraints
Ignoring constraintsConsequence
Designing a multi-cloud system when AWS is mandatedRework
Storing data abroad under residency rulesCompliance breach
Microservices with two teamsOperational overload
Missing a festival freezeLaunch slips
Table 2 — Why

3Core Concepts — Constraint Categories

CategoryShopNow / NovaBank / PayGrid examples
TechnicalJava 25/Spring Boot 4 standard; AWS only; Aurora PostgreSQL preferred DB
Existing systemsNovaBank core banking via MQ only; ShopNow order service is system of record
RegulatoryRBI data localisation; PCI DSS for card data; DPDP
OrganisationalTracking built by one team of 7; platform team provides EKS
FinancialTracking run cost ≤ ₹15 L/month
TimeLive before Diwali sale; change freeze two weeks before
IntegrationCarriers send webhooks in heterogeneous formats; some only SFTP files
PhysicalMobile users on 4G with high latency variance
Table 3 — Categories

4How It Works Internally — From Constraints to Options

ConstraintOptions eliminatedOptions remaining
AWS onlyGCP Spanner, Azure Cosmos DBDynamoDB, Aurora, Keyspaces
India residencyGlobal tables outside Indiaap-south-1/2
One team of 7Many microservicesOne service + workers
₹15 L/monthOver-provisioned clustersServerless/on-demand + cache
Diwali deadlineCustom stream processing frameworkManaged MSK + Spring Kafka
Table 4 — Narrowing the space

4ADeep Dive — Real or Negotiable?

QuestionPurpose
Who imposed it?Authority and reason
What happens if we break it?Legal risk vs inconvenience
Is it time-bound?Freeze, licence renewal
What would change it?Cost/benefit case
Example"Must use Oracle" → licence expiring next year → negotiable
Table 5 — Challenge respectfully

4BDeep Dive — Organisational Constraints and Conway's Law

ConstraintDesign implication
Few teamsFewer, larger deployables
Teams by domainService boundaries per domain
Platform team existsUse paved road (EKS, pipelines)
Skill gaps (e.g. Kafka)Managed services, training, simpler patterns
Table 6 — Structure shapes systems

4CDeep Dive — Regulatory Constraints

RuleImpact
Data localisation (RBI)Region choice, replication targets
PCI DSSTokenisation, isolated CDE
Retention mandatesStorage tiers, deletion jobs
DPDPConsent, minimisation, deletion
Audit requirementsImmutable logs
Table 7 — Compliance boundaries (Volume I 1.4)

4DDeep Dive — Working Creatively Within Constraints

ConstraintCreative response
Core banking only via MQAsync request/reply with correlation IDs; read model from CDC
Carriers send filesIngest via S3 events into same pipeline
Tight budgetCache aggressively; on-demand capacity; Graviton
Short deadlineBuy/managed services; narrow v1 scope
Table 8 — Constraints spark design

4EDeep Dive — Documenting Constraints

FieldExample
IDCON-REG-01
StatementCustomer data must remain in India
SourceRBI directions / legal
TypeHard
ImpactRegions ap-south-1/2 only
ReviewAnnually
Table 9 — Constraint register

5APIs / Features / Syntax

YAML
# Constraint register (architecture repo)
- id: CON-TECH-01
  statement: "Services use Java 25 + Spring Boot 4 on EKS"
  source: platform standard
  type: soft
  impact: "language/runtime fixed; paved road available"
- id: CON-REG-01
  statement: "Customer personal data stored and processed in India"
  source: legal (DPDP, RBI for payments data)
  type: hard
  impact: "ap-south-1/ap-south-2 only; no replication abroad"
- id: CON-ORG-01
  statement: "One team of 7 engineers owns tracking"
  type: soft
  impact: "prefer one deployable + workers over many services"
JSON
// Enforcing a regulatory constraint in the platform: region lock SCP
{
  "Effect": "Deny",
  "NotAction": ["iam:*", "sts:*", "organizations:*", "cloudfront:*",
                "route53:*", "support:*"],
  "Resource": "*",
  "Condition": { "StringNotEquals": {
      "aws:RequestedRegion": ["ap-south-1", "ap-south-2"] } }
}
JAVA
// Integration constraint: core banking reachable only via MQ request/reply
public BalanceReply balance(String account) {
    String correlationId = UUID.randomUUID().toString();
    jms.convertAndSend("CBS.BALANCE.REQ", new BalanceRequest(account), m -> {
        m.setJMSCorrelationID(correlationId);
        return m;
    });
    return (BalanceReply) jms.receiveSelectedAndConvert("CBS.BALANCE.REPLY",
        "JMSCorrelationID = '" + correlationId + "'");  // bounded by receive timeout
}

6Practical Examples

6.1 Budget shaped the design

A ₹15 L/month budget ruled out a large always-on Cassandra cluster; DynamoDB on-demand plus Redis met the NFRs at a third of the cost.

6.2 Team size shaped boundaries

With one team of seven, ShopNow built tracking as one Spring Boot service plus two Kafka consumers instead of five microservices.

6.3 Negotiated constraint

"Must use the old Oracle reporting DB" turned out to be a preference; its licence ended in 11 months, so tracking reports went straight to Athena.

6.4 Worked example — hard vs soft

ConstraintType
India residencyHard
Spring BootSoft (standard)
Table 10 — Classify

6.5 Worked example — time constraint

DeadlineImpact
Diwali saleManaged services, reduced scope
Table 11 — Scope trade-off

6.6 Worked example — integration constraint

CarrierInterface
Carrier AWebhooks
Carrier BSFTP CSV every 15 min
Table 12 — Heterogeneous inputs

6.7 Worked example — interview whiteboard

PromptAnswer outline
"What constraints do you look for in a design?""Technical (platforms, languages, existing systems), regulatory (residency, PCI, retention), organisational (teams, skills — Conway), financial (budget, licences), time (deadlines, freezes), integration (partner protocols), physical (network, devices). Classify hard vs soft, check source and flexibility, document in a register, use them to eliminate options, and design creatively within them; challenge preferences masquerading as constraints."
Table 13 — Structured answer

6.8 Worked example — PayGrid PCI constraint

ConstraintDesign
PCI scope must stay smallTokens outside CDE
Table 14 — Regulation-driven structure

6.9 Worked example — anti-patterns

Anti-patternEffect
Discovering constraints lateRework
Treating preferences as fixedMissed better options
Ignoring team constraintsUnoperable systems
Undocumented constraintsRepeated debates
Table 15 — Common mistakes

6.10 Worked example — latency constraint

PhysicsImplication
Mumbai–Singapore ~60 ms RTTRegional reads, not cross-region sync calls
Table 16 — Speed of light

6.11 Worked example — device constraint

ConstraintDesign
Low-end Android devicesSmall payloads, pagination
Table 17 — Client realities

6.12 Worked example — licence constraint

ConstraintImpact
Per-core licence of legacy productAvoid scaling it horizontally
Table 18 — Cost structure

6.13 Worked example — skills constraint

GapMitigation
No Kafka experienceManaged MSK + Spring Kafka + training
Table 19 — People constraints

6.14 Worked example — change freeze

PeriodRule
Diwali −14 daysNo production changes except fixes
Table 20 — Delivery planning

6.15 Worked example — vendor constraint

ConstraintDesign
SMS vendor rate limit 500/sQueue notifications
Table 21 — External limits

6.16 Worked example — interview follow-ups

Follow-upAnswer
"Constraint vs requirement?"Fixed boundary vs goal to optimise
"How do you challenge a constraint?"Ask source, cost of breaking, alternatives
Table 22 — Common probes

6.17 Worked example — checklist

Item✔
Categories reviewed✔
Hard/soft classified✔
Sources recorded✔
Options narrowed✔
Register maintained✔
Table 23 — Constraints baseline

6.18 Worked example — data size constraint

LimitDesign
DynamoDB 400 KB item limitStore large payloads in S3
Table 24 — Technology limits

6.19 Worked example — API quota constraint

LimitDesign
Carrier API 10 req/sBatch polling, backoff
Table 25 — Partner limits

6.20 Worked example — security constraint

ConstraintDesign
No internet egress from data subnetsVPC endpoints
Table 26 — Platform policies

6.21 Worked example — interview scenario

QuestionAnswer
"Assume you must use a relational DB — design tracking"Partitioning, read replicas, cache; still meet NFRs
Table 27 — Designing within limits

6.22 Worked example — constraints evolve

YearChange
Year 2GCC expansion adds UAE residency
Table 28 — Revisit register

6.23 Worked example — environmental constraint

ConstraintDesign
Branch networks with limited bandwidthCompressed payloads, offline mode
Table 29 — Kavach branches

6.24 Worked example — contractual constraint

ContractImpact
SLA with marketplace sellersStatus freshness targets
Table 30 — Business obligations

6.25 Worked example — constraint conflicts

ConflictResolution
Deadline vs security reviewScope reduction, not skipping review
Table 31 — Priorities

6.26 Worked example — communication

PracticeDetail
Constraints slide in design reviewsShared understanding
Table 32 — Transparency

7Common Problems & Mistakes

MistakeFix
Late discoveryAsk early
Preferences as constraintsChallenge
Ignoring org constraintsConway
UndocumentedRegister
Table 33 — Mistakes and fixes

Most constraint mistakes come from timing and honesty rather than ignorance. Constraints discovered after the high-level design is agreed, such as a residency rule raised by legal in the security review, force rework that a ten-minute question at kick-off would have avoided. Preferences are routinely dressed up as constraints: "we always use Oracle" or "the platform team only supports REST" may be habits that nobody has re-examined, and accepting them unchallenged rules out better options. Organisational constraints are the most often ignored, so a team of seven inherits a design that needs twelve services and a dedicated operations group. Finally, constraints that live only in someone's head are re-argued in every design review because nobody can point to the source, owner or review date.

8Performance & Production Considerations

ConsiderationPractice
Enforce hard constraints automaticallySCPs, policies
Review soft constraintsPeriodically
Track constraint-driven risksRisk register
Table 34 — Operating constraints

Constraints matter in production because they are only real if something enforces them. Hard constraints should be turned into platform controls that make violation impossible or loud: a region-lock service control policy for residency, AWS Config rules and budget alarms for cost ceilings, admission policies that reject images outside the approved runtime, and pipeline checks for licensed components. Soft constraints change over time, so review the register on a fixed cadence and at triggers such as a licence renewal, a team change or a new market, and retire entries that no longer apply. Each constraint that forces a compromise, for example accepting higher latency because data cannot leave India, should have a matching entry in the risk register with an owner and a monitoring signal.

9Architecture & Design Considerations

GuidelineDetail
Discover earlyClarifying questions
Classify and documentRegister
Use to narrow optionsSimplify decisions
Table 35 — Design guidance

10Interview Questions & Answers

Q1BasicConcept

What is a constraint?

A constraint is a fixed boundary on the solution that the design team cannot change by itself. It might be a mandated platform such as AWS only, a regulation such as RBI data localisation, a budget ceiling, a hard deadline like a Diwali sale, an existing system that must be integrated, or the size and skills of the available teams. The important point is that a constraint is imposed from outside the design: someone with authority set it, and changing it needs their agreement and usually a cost. Because constraints remove options rather than describe goals, identifying them early tells you which parts of the solution space are not worth exploring.

Q2BasicConcept

Give constraint categories.

The usual categories are technical, regulatory, organisational, financial, time, integration and physical. Technical constraints include the mandated language, runtime, cloud and existing systems of record, such as Java 25 with Spring Boot 4 on EKS. Regulatory and legal ones cover data residency, PCI DSS, DPDP consent and retention rules. Organisational constraints are about team count, size, skills and structure, where Conway's law applies. Financial means run budgets and licence models; time means deadlines and change freezes. Integration covers partner protocols and legacy interfaces, such as a carrier that only sends SFTP files. Physical constraints include network latency between regions, device capability and bandwidth at branches.

Q3IntermediateConcept

Constraint vs requirement?

A requirement is a goal the system should achieve, and the design is judged by how well it meets it; a constraint is a boundary the design must stay within, and it is either respected or broken. Requirements such as p99 latency under 300 milliseconds or 18,000 orders per second can be traded against each other and negotiated with stakeholders. A constraint such as customer data staying in India is not optimised at all: it simply removes options like replicating to Singapore. The distinction matters because teams waste effort trying to optimise constraints or, worse, treat negotiable requirements as fixed. A third category, assumptions, are beliefs that still need confirming.

Q4IntermediateConcept

What is Conway's law?

Conway's law observes that organisations design systems that mirror their own communication structures. If three teams build a compiler, you get a three-pass compiler; if one integration team owns every adapter, every integration flows through that team and its backlog. For architects, team structure is therefore a genuine constraint on what can be built and operated. A team of seven cannot sustain five independently deployed microservices with their own on-call, so ShopNow built tracking as one Spring Boot service with two Kafka consumers. The inverse Conway manoeuvre uses the law deliberately, reshaping team boundaries to match the service boundaries you want instead of letting the existing org chart dictate them.

Q5Senior EngineerScenario

How do you test if a constraint is real?

Ask four questions. Who imposed it, and with what authority: a regulator, a contract, a platform standard or one person's habit? What happens if we break it: legal penalty and lost licence, or only inconvenience and an uncomfortable conversation? Is it time-bound, such as a change freeze or a licence that expires? And what would it take to change it, meaning the cost and who must approve? The answers classify it as hard or soft. At ShopNow, "must use the old Oracle reporting database" turned out to be a preference tied to a licence ending in eleven months, so reports went to Athena instead. Challenge respectfully, with evidence, not as an argument.

Q6Senior EngineerConcept

How do constraints help design?

Constraints help by shrinking the solution space, which makes decisions faster and easier to justify. Each real constraint eliminates whole families of options: AWS only removes Spanner and Cosmos DB, India residency removes global tables outside ap-south-1 and ap-south-2, and a team of seven removes a design with many microservices. In ShopNow's tracking design they cut twenty-four candidate architectures to three before any detailed trade-off analysis started. They also push teams toward creative responses, such as treating carrier SFTP files as S3 events feeding the same pipeline as webhooks. A design that clearly traces each choice back to a constraint is also much easier to defend in reviews.

Q7Technical ArchitectDesign

How are hard constraints enforced?

Hard constraints should be enforced by the platform rather than by people remembering them. For data residency, an AWS Organizations service control policy denies any API call whose requested region is not ap-south-1 or ap-south-2, with exceptions only for global services such as IAM and Route 53. Cost ceilings become AWS Budgets alarms and tagging policies, runtime standards become admission controllers or pipeline checks that reject unapproved base images, and licence rules become dependency scanning in CI. Network constraints such as no internet egress from data subnets are enforced by routing and VPC endpoints. Automated enforcement turns a violation into an immediate, visible failure instead of a finding in next year's audit.

Q8Technical ArchitectTrade-off

How do team constraints shape architecture?

Team constraints shape architecture through deployable count, ownership and technology choice. Few teams favour fewer, larger deployables, such as a modular monolith or one service plus workers, because every independently deployed service needs owners, pipelines, dashboards and on-call. Teams organised by domain suggest service boundaries per domain, so ownership is clear and changes rarely need cross-team coordination. An existing platform team means using its paved road, such as EKS and standard pipelines, rather than inventing infrastructure. Skill gaps push toward managed services and simpler patterns, for example MSK with Spring Kafka plus training rather than a self-run cluster. Ignore these factors and you produce a system the organisation cannot operate.

Q9Solution ArchitectTricky

What's the risk of hidden constraints?

Hidden constraints are expensive because they surface late, when the design has been approved, built or even deployed. A residency rule found during a security review can force a region change and data migration; an undocumented partner protocol found during integration testing can break the delivery date; a licence that charges per core, discovered after go-live, can turn horizontal scaling into a cost explosion. The results are rework, missed deadlines, compliance failures and lost credibility with stakeholders. The mitigation is to ask about every category explicitly at the start, involve legal, security, finance and platform owners early, and treat an unexplained "we can't do that" as a constraint to investigate.

Q10Solution ArchitectDesign

How should constraints be documented?

Constraints belong in a constraint register kept with the architecture in version control, not in slides. Each entry has an ID such as CON-REG-01, a clear statement, its source and authority, its type as hard or soft, its impact on the design, an owner and a review date. Keeping it as YAML or Markdown beside the ADRs means changes are reviewed and history is visible. ADRs then cite the constraint IDs that drove each decision, so when a constraint changes you can find every affected decision quickly. The register should also be shown in design reviews and onboarding, and reviewed at least annually or when a trigger such as a licence renewal occurs.

Newsletter

Get new tutorials every week

New ArchitectMind tutorials and interview questions, once a week. No spam, unsubscribe anytime.

Almost done! Check your inbox and click the confirmation link to complete your subscription.
Keep going in Book 10

Security, System Design & Solution Architecture

Volume I · Topic 1.1

Security Architecture

Security Architecture

Volume I · Topic 1.2

CIA Triad

Security Architecture

Volume I · Topic 1.3

Security Principles

Security Architecture

Volume II · Topic 1.1

What Is System Design?

System Design Fundamentals

Volume II · Topic 1.2

Requirements

System Design Fundamentals

Volume III · Topic 1.1

Traffic Distribution

Large-Scale & Distributed System Design

Volume III · Topic 1.2

Load Balancing

Large-Scale & Distributed System Design

Volume III · Topic 1.3

Horizontal Scaling

Large-Scale & Distributed System Design

Volume IV · Topic 1.1

Understanding the Business

End-to-End Solution Architecture

Volume IV · Topic 1.2

Stakeholder Identification

End-to-End Solution Architecture

Volume IV · Topic 1.3

Business Capabilities

End-to-End Solution Architecture

Volume V · Topic 1.1

ADR

Architecture Decisions, Trade-offs & Risk

Volume V · Topic 1.2

Decision Context

Architecture Decisions, Trade-offs & Risk

Volume V · Topic 1.3

Alternatives

Architecture Decisions, Trade-offs & Risk

Volume VI · Topic 1.1

Legacy System Discovery

Legacy Modernization & Transformation

Volume VI · Topic 1.2

Dependency Analysis

Legacy Modernization & Transformation

Volume VI · Topic 1.3

Architecture Reverse Engineering

Legacy Modernization & Transformation

Volume VII · Topic 1.1

Architecture & Agile

Solution Architecture Delivery & Governance

Volume VII · Topic 1.2

Architecture & Product Management

Solution Architecture Delivery & Governance

Volume VII · Topic 1.3

Architecture & Development Teams

Solution Architecture Delivery & Governance

Volume VIII · Topic 1.1

Clarifying Requirements

Solution Architect Workshops, Interviews & Final Assessment

Volume VIII · Topic 1.2

Asking the Right Questions

Solution Architect Workshops, Interviews & Final Assessment

Volume VIII · Topic 1.3

Identifying Constraints

Solution Architect Workshops, Interviews & Final Assessment