skip to content

A containerised report renderer must be reachable from partner browsers — which entry shapes can publish it, and what does each trade?

level: middleimportance: must knowfreq 62%

answer

  1. four shapes, one axis
  2. who may originate the connection
  3. an address of its own costs
  4. one port taken fleet-wide
  5. shared edge routes hostname and path

basics

~20 s

Four entry shapes: internal-only, a port reserved on every host, a balancer provisioned for that one workload, or a shared edge routing many hostnames and paths. They trade cost per external address against routing power and blast radius.

solid answer

~50 s

I would lay the four shapes side by side. **Internal-only** means the workload answers only inside the platform — right for the ledger API, useless for the renderer. **A port reserved on every host** publishes the workload on one number across the whole fleet: nothing external is allocated, but the number becomes a fleet-scarce resource and clients must be handed a changing list of host addresses. **A balancer the platform provisions per workload** gives that workload its own external address and its own failure domain, and bills per workload. **A shared edge** takes one external address for many workloads and picks the destination from the hostname and path of each request, so forty services share one address and one certificate story — at the price of a shared failure domain and traffic the edge must be able to parse. For a partner-facing renderer, the shared edge; for the ledger, internal-only.

go deeper

for a junior

Know that a workload is not reachable from outside just because a process inside it is listening — something has to publish it. Be able to name internal-only reachability and a shared public entry point.

for a middle

Explain all four shapes and the hop each adds, and say which of them allocates an external address. Be able to say why a shared edge cannot carry traffic it cannot parse into requests with a hostname.

for a senior

Defend a choice under cost and blast radius: what forty provisioned addresses bill every month, and which workloads you would still hand one to anyway.

for a principal

Frame it as an estate standard — one default shape, a written exemption test, one team owning the edge — rather than a preference argued per service.

Every container platform has to answer one question for each workload: **who may originate a connection to it, and through which hop does that connection arrive?** Four shapes answer it, and most platforms offer a version of all four under their own object names. Naming them by mechanism instead of by object is what makes the trade-off visible to someone who has only ever used a different platform. ## Internal-only The workload is given an address and a name that resolve **only inside the platform**. Nothing outside can open a connection to it, because nothing outside can route to that address. - It is the correct resting state for a payments ledger API whose callers are all other workloads. - It is **reachability, not authorisation**: every workload on the platform can still reach it unless a separate rule narrows that, so the ledger still authenticates its callers. - It allocates nothing externally — no public address, no balancer instance, no certificate to renew — so it is the only shape with no external bill. ## A port reserved on every host The platform reserves **one port number across the whole fleet** and answers on it at every host. Anything that can reach any host on that number reaches the workload. - Nothing external is allocated, so there is nothing per-workload to pay for. - The number becomes a fleet-scarce, exclusive resource, usually drawn from a restricted range, so an estate of forty services acquires a registry of numbers that humans maintain. - Clients must be handed host addresses, and that set changes whenever the fleet is resized, so something outside still has to spread traffic and drop hosts that are gone. It survives as an escape hatch: traffic a shared edge cannot route, a bootstrap path, a lab. ## A balancer the platform provisions per workload The workload's spec asks for external exposure and the platform calls the infrastructure underneath to create **a balancer with its own external address**, wired to that workload's current replicas. - The workload gets a stable external address of its own and a failure domain of its own. - It can carry traffic that is not request-structured, because the balancer need not parse anything to choose a destination — there is only one. - It bills per workload: an allocated address plus a managed balancer instance, charged for as long as they exist, usually with traffic on top. Forty workloads means forty of each. ## A shared edge routing by hostname and path One external address fronts **many** workloads, and a router at that address chooses the workload from the hostname the client asked for and the path it requested. - Forty services share one address, one bill and one certificate story. - It only works for traffic the edge can parse into requests carrying a hostname; a workload speaking something else cannot be routed this way. - The edge is a **shared failure domain and a shared change surface**: one misapplied routing change, or one overloaded edge, reaches every workload behind it. - Because the certificate is presented at the edge, the hop from edge to workload becomes a separate decision with its own cost. ## Putting them side by side | Shape | External address | Per-workload bill | Chooses destination by | Failure domain | |---|---|---|---|---| | Internal-only | none | none | not applicable | the workload | | Port on every host | none | none | the port number | the fleet's port registry | | Provisioned balancer | one per workload | address plus instance | nothing — one destination | that workload | | Shared edge | one, shared | none | hostname and path | every workload behind it | ## How the choice is actually made 1. **Ask who originates the connection.** If the answer is "only other workloads", stop at internal-only; the other three are cost and surface you did not need. 2. **Ask what the traffic is.** If the edge cannot parse it into requests carrying a hostname, the shared edge is off the table and the real choice is a provisioned balancer or, reluctantly, a fleet-wide port. 3. **Ask what blast radius is acceptable.** A workload whose outage must not be shared with forty others buys its own balancer deliberately, and pays for it deliberately. 4. **Ask who renews the certificate.** A shared edge makes that one team's standing job; a balancer per workload makes it forty teams' job, or forty forgotten calendar entries. For the worked pair: the report renderer that partner browsers reach is request-structured, public and not special, so it belongs behind the shared edge under its own hostname. The payments ledger API stays internal-only; if a partner ever needs it, it joins the same edge under a hostname of its own rather than growing an external address of its own.

  • The renderer turns out to speak a protocol the edge cannot parse into requests. What now?
    The shared edge is off the table, because it has nothing to route on. Give that workload a balancer the platform provisions for it: the balancer need not understand the protocol, and you accept one external address and one recurring bill for that workload. A fleet-wide port is the last resort, because it hands clients a host list that changes under them.
  • Does internal-only reachability make a workload safe to leave unauthenticated?
    No. Internal-only removes the route from outside, not the need to check who is calling. Every workload on the platform can still open a connection, so a compromised neighbour reaches the ledger exactly as easily as a legitimate caller. Internal-only shrinks the set of possible callers to one the platform can enumerate; authenticating them is a separate, still-required control.

A phone extension that only rings from inside the building, a side door on every entrance opened by the same key, a dedicated street address, and a reception desk that sends visitors on by the name they ask for. Only the last lets forty tenants share one address.

saying these in an interview costs you the question

  • Treats internal-only reachability as if it also authorised the callers.
  • Says every externally reachable workload needs its own external address.
  • Believes a shared edge can route traffic it cannot parse into requests.
  • Assumes a fleet-wide port number costs nothing to coordinate.
  • Claims a shared edge settles where encryption ends on the internal hop.