Building a Coherent Architecture

Bringing It Together 🧭

In this final lesson, you will turn the connected-cloud decisions into one coherent architecture for the family-booking application. The family-booking application is Tutor Bright’s booking application: parents book lessons, pay by card, and upload photos of completed lesson work. Rather than defend isolated technology choices, you will trace one request end to end and explain a recommendation a non-technical founder can evaluate.

In this lesson, you will learn to:

  • Trace a browser request through DNS, cached content, load balancing, application compute, and the data store
  • Make and justify five connected choices: service model, compute, storage, database, and integration style
  • Explain region, resilience targets, cost drivers, and trade-offs in stakeholder-friendly language

Trace the Request Path Out Loud 🛣️

Before you recommend anything, walk the path a single user request takes. Say it aloud, in order, because that order tells you which decisions you still owe an answer on.

A parent enters the site’s domain name in a browser. First, the browser uses the Domain Name System (DNS) to resolve that name to DNS records, commonly including an IP address. Next, static images and other cacheable files may be served by a content delivery network (CDN) from an edge location near the user. On a cache hit, the edge can serve the file without contacting the origin region; on a cache miss, it may retrieve the file from the origin.

What remains hits a load balancer, which spreads incoming requests across the servers that are running and skips any that are unhealthy. Behind that, your application code runs on compute, whichever form you chose. Finally, the code reads and writes booking records in the database.

That gives you five stops to inspect, in order:

  1. DNS resolution
  2. Cached content at the CDN edge
  3. The load balancer
  4. Application compute
  5. The data store

Every design question should map to one or more of these stops.

A coherent cloud recommendation traces DNS and CDN, compute, storage and database, then explains stakeholder trade-offs.

Scenario: Milo, a cloud architect, is reviewing the family-booking application’s monitoring data with Natalie, its product lead.

Natalie: The founder wants to know why the site felt slow at seven o’clock. Can you give me one sentence?

Milo: The monitoring data shows normal DNS and CDN behaviour, while both application instances reached their concurrency limit, so the delay is at the compute layer.

Natalie: So it was further in.

Milo: Yes. We should add or autoscale healthy application instances, then verify that the database is not the next bottleneck.

Natalie: That I can repeat back to her.

Notice what Milo did: he didn't guess. He walked the same five stops in order and stopped at the one that explained the symptom.

Sign up

Join the 1M+ learners on CodeSignal

Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal