System Boundaries

System boundaries define the limits of a system's responsibility, control, and influence. Understanding boundaries is essential for designing resilient, maintainable, and secure architectures. Boundaries exist at multiple levels: network, process, namespace, and organisational.

Physical Boundaries

Physical boundaries separate systems by hardware:

  • Network segments: Firewalls, routers, and switches define network perimeters.
  • Data centres: Physical facilities with controlled access.
  • Host isolation: Bare metal vs virtualised vs containerised.

Network Boundaries

Network boundaries control traffic flow between security zones:

  • Perimeter firewall: Defines the outer boundary of a network.
  • DMZ (Demilitarised Zone): Separates public-facing services from internal networks.
  • VLANs: Logical segmentation within a physical network.
  • VPN tunnels: Secure boundaries over untrusted networks.

A zero-trust architecture treats every network as potentially hostile, requiring authentication and authorisation for every request.

Process Boundaries

Operating systems enforce boundaries between processes:

  • Memory isolation: Each process has its own virtual address space.
  • User/group permissions: Restrict file and resource access.
  • Capabilities: Fine-grained privilege separation.
  • Namespaces: Linux namespaces isolate PIDs, networks, filesystems, and users.
  • cgroups: Limit resource usage per process group.

See Article - Lightweight OS virtualisation techniques (chroot, namespace) for namespace details.

Service Boundaries

In microservice architectures, services communicate over well-defined APIs:

  • API contracts: Versioned interfaces between services.
  • Message queues: Asynchronous boundaries (Kafka, RabbitMQ).
  • Service meshes: Infrastructure layer managing service-to-service communication (Istio, Linkerd).

Data Boundaries

Data boundaries control information flow:

  • Encryption at rest: Databases, filesystems, object storage.
  • Encryption in transit: TLS for all network communication.
  • Data classification: Public, internal, confidential, restricted.
  • Data loss prevention (DLP): Monitoring and controlling data exfiltration.

Organisational Boundaries

In platform engineering and DevOps, boundaries define team responsibilities:

  • Platform team: Provides shared services and infrastructure.
  • Product teams: Own applications running on the platform.
  • Security team: Defines policies and audits compliance.

Clear boundaries reduce coupling, improve autonomy, and simplify incident response.

Boundary Violations

Common boundary violations include:

  • Running services as root when not required.
  • Exposing internal services to the public internet.
  • Shared databases between services (tight coupling).
  • Overly permissive firewall rules.
  • Lack of input validation at service boundaries.