Cloud, SDN & Production Architectures · Study deck

SDN Resilience: API Availability

Write the request in plain words first.

Cloud Clara is your guide for this deck.

apisclustering
Cloud Clara, the module guide, in a scene from this chapter.
iotclass.org

After studying this chapter

Learning objectives

You will be able to:

  • define api and availability decision route with explicit inputs, errors, and change rules
  • validate controller cluster responsibilities with a concrete scenario and pass criteria
  • Explain: The ward must stay online while a control computer fails and its partner takes over.
  • Explain: A healthy control screen is not proof that the ward received the intended service.
iotclass.org

Major section

Start With the Request That Must Survive

The ward must stay online while a control computer fails and its partner takes over.

  • The service owner needs to know that the right request reached the right switches and that no old rule survived by mistake.
  • Scope names which ward the change may affect; also name who may ask, what must change, when it must end, and what result proves success.
  • This opening does not select a product or prove every failure mode.

Why it matters

APIs and clustering matter because a service request has to survive translation, controller failure, state movement, and switch action.

iotclass.org

Major section

Start With the Request That Must Survive (continued)

A healthy control screen is not proof that the ward received the intended service.

  • A change should fail closed or fall back to a known rule when its owner cannot prove current state.
  • Under the Hood examines state sharing, leader choice, rule order, and the records needed to explain a change.
  • If the request cannot be traced, availability claims are just slogans.
iotclass.org

Major section

API and Availability Decision Route

It makes the decision concrete by showing SDN API and availability decision route, so the relationships can be checked before they are turned into a design claim.

  • The requester states an authorized service intent, and the contract defines scope and the result it should return.
  • This route makes availability a tested property across application and network boundaries.
SDN API and availability decision route
SDN API and availability decision route
iotclass.org

Major section

API and Availability Decision Route (continued)

The controller must identify the owner and version of its state before translating the request into southbound rules.

  • Failover then tests what happens when the preferred controller or path is unavailable.
  • The final proof is the service outcome at a receiver, not merely an API success code.
  • If that outcome fails, revise the contract or fallback behavior and rerun the request.
iotclass.org

Major section

Northbound and Southbound Boundaries

Northbound and southbound APIs should not be treated as two names for the same interface.

  • The contract should include identity, scope, reason, and proof expectations.
  • The controller validates authorization, checks topology and policy conflicts, computes rule changes, records decisions, and exposes state back to approved clients.
  • Switches should not receive unchecked application intent directly.
SDN northbound and southbound API boundary map
SDN northbound and southbound API boundary map
iotclass.org

Major section

Request Lifecycle

A safe API design describes what happens after an application request arrives and before the network is allowed to change.

  • Authorization checks who may ask for that change, while validation compares it with current topology, protected traffic, policy, and rollback conditions.
  • Translation makes a rule plan before installation sends it to switches.

Why it matters

This path matters because a successful request can still leave one switch stale or a service path broken after the API has replied.

SDN API request lifecycle from application intent through authorization, validation, rule computation, southbound install, switch enforcement, and proof response.
SDN API request lifecycle from application intent through authorization, validation, rule computation, southbound install, switch enforcement, and proof response.
iotclass.org

Major section

Northbound Contract Design

An SDN northbound API should be designed as a contract, not just as a URL or method name.

  • Idempotency defines what happens when a timed-out request is retried.
  • Accepted, pending, partial, rolled-back, or degraded outcomes need a versioned record so clients can reconcile state and survive later contract changes.
SDN northbound API contract elements
SDN northbound API contract elements
iotclass.org

Major section

Controller Cluster Responsibilities

A controller cluster is not automatically safer than one controller.

  • An OpenFlow switch is often drawn one line away from its controller.
  • The physical path may cross access, aggregation, routed WAN, firewall, load balancer, and encrypted tunnel hops.
  • Every hop adds queueing and a failure domain, so placement must be calculated from both request capacity and path behavior.
A controller cluster keeps a primary and a hot standby in state sync, so the switch fabric keeps forwarding through a controller failover.
A controller cluster keeps a primary and a hot standby in state sync, so the switch fabric keeps forwarding through a controller failover.
iotclass.org

Major section

Controller Cluster Responsibilities (continued)

Current capacity depends on controller code, policy work, state-store replication, message type, CPU, and transport security; benchmark the exact release path.

  • At λ=120\lambda=120λ=120/s, mean service-plus-queue time is 1/80=12.51/80=12.51/80=12.5 ms.
  • At 180180180/s it rises to 50 ms even though offered load is still below nominal capacity.
  • That nonlinear rise is why “under 200” is not a safe admission rule.
  • Not every kind of state needs the same consistency model.
iotclass.org

Major section

Controller Cluster Responsibilities (continued)

For kkk workers, do not assume kμk\mukμ until shared locks, ordering, and replicated state have been measured.

  • For small control frames, serialization may be minor on a fast LAN, while queueing, WAN propagation, retransmission, and TLS/session recovery dominate.
  • A local controller may own emergency and gateway rules while a regional controller owns cross-site paths.
  • Topology, policy records, active rule records, and ownership leases need clear replication and freshness rules.
iotclass.org

Major section

Controller Cluster Responsibilities (continued)

During a partition, prohibit overlapping writers for the same match space; preserve already approved local rules; stop changes that require fresh global policy; and reconcile cookies, versions, counters, and expiries when connectivity returns.

  • A placement test should therefore inject a synchronized reconnect storm, link delay/loss, controller failover, stale replicated state, and physical loss of a shared network hop.
  • Switches should keep known safe forwarding behavior when possible, but the design must test what actually survives a controller loss.
  • Operators need proof of which controller was active, which rules changed, what degraded, and what was rolled back.
iotclass.org

Deck summary

Key takeaways

The ward must stay online while a control computer fails and its partner takes over.

  • A healthy control screen is not proof that the ward received the intended service.
  • It makes the decision concrete by showing SDN API and availability decision route, so the relationships can be checked before they are turned into a design claim.
  • The controller must identify the owner and version of its state before translating the request into southbound rules.
  • Northbound and southbound APIs should not be treated as two names for the same interface.
iotclass.org

Retrieval practice

Recall check 1 of 3

Cloud Clara says: answer from memory, then check your reasoning.

Q1An application requests a network change through an SDN API. What should its northbound contract include?

AIntent, scope, authorization, and expected proof
BA switch command without requester context
CAn uptime percentage instead of the requested outcome
DA dashboard screenshot without idempotency rules
Show answer

Answer: A The route requires a reviewable contract before translating a request into network action.

iotclass.org

Retrieval practice

Recall check 2 of 3

Cloud Clara says: answer from memory, then check your reasoning.

Q2An application asks SDN to isolate traffic. Which component should validate and translate that intent?

AThe forwarding switch, installing unchecked application intent directly.
BThe requester, bypassing policy checks in the central controller.
CThe operations report, written only after the switch rule is active.
DThe SDN controller, validating intent and translating it to rules.
Show answer

Answer: D The controller checks authorization, topology, and policy before computing device rules.

iotclass.org

Retrieval practice

Recall check 3 of 3

Cloud Clara says: answer from memory, then check your reasoning.

Q3A standby controller takes over after the primary fails. What must the cluster prove before it changes gateway rules?

AOne rule owner, shared state, safe failover and receiver proof.
BTwo concurrent rule writers with no shared state or receiver checks.
CUse the old standby topology copy because its stored routes and policy will still match after switchover.
DUse a healthy dashboard label because its state shows that the switched rules are active.
Show answer

Answer: A Failover must preserve authority, state, and service result.

iotclass.org

Print reference

Answers

Answer key.

  1. A · The route requires a reviewable contract before translating a request into network action.
  2. D · The controller checks authorization, topology, and policy before computing device rules.
  3. A · Failover must preserve authority, state, and service result.
iotclass.org