Every term of the maze, defined simply and illustrated with an example. Click a term inside a definition to open it.
No term matches. Try another word.
A
ACID
The four guarantees of a transaction: Atomicity (all or nothing), Consistency (rules stay true), Isolation (transactions do not interfere), Durability (what is committed survives a crash).
Example · A transfer debits account A and credits account B, or does nothing at all.
Acknowledgement
Message a consumer sends to the queue to confirm it processed a message. Until it arrives, the queue may deliver the message again.
Example · The worker emails the invoice, then acknowledges the message, which leaves the queue.
Active-active
Architecture where several regions serve traffic at the same time. No switchover needed on failure, but simultaneous writes to the same data must be reconciled.
Example · Customers in Abidjan are served by the West Africa region, those in Paris by the Europe region.
Active-passive
Architecture where one region serves all traffic while another waits, with replicated data, ready to take over through failover.
Example · The Paris region serves Mboa Market; the Johannesburg one only takes over during an outage.
ADR (Architecture Decision Record)
One-page document that records an architecture decision: its context, the decision, its consequences and its status. It lives in the code repository and is never rewritten, only superseded.
Example · docs/adr/0012-shared-cache.md explains why the team chose Redis over local caches.
Anycast
Networking technique where the same IP address is announced from several places in the world: each user is routed to the nearest one.
Example · Public DNS servers and most CDNs use anycast to answer from the closest site.
API
Application programming interface: the contract a program exposes so that other programs can use it (the possible calls, their parameters and their responses).
Example · Mboa Market's mobile app calls GET /products/42 on the API to display a product.
API gateway
Single entry point in front of the services: it authenticates, applies rate limiting, routes each request to the right service and logs.
Example · Every partner request goes through the gateway, which checks their API key and quota.
Assumption
Something taken as true in a design without having checked it yet. It is written down so that someone can confirm or correct it.
Example · “Assumption: the sales peak is three times a normal day's traffic.”
Asynchronous
Describes work done later, without making the requester wait. It often goes through a message queue.
Example · The order is confirmed right away; the PDF invoice is generated asynchronously, a few seconds later.
Asynchronous replication
The primary confirms a write without waiting for its replicas, which receive it just after. Fast, but with replication lag and a risk of loss if the primary fails.
Example · A replica in Johannesburg receives the Paris orders about two seconds behind.
At least once
Delivery guarantee: a message is never lost, but it may arrive more than once. Consumers must therefore be idempotent.
Example · A worker crashes before acknowledging: the “invoice 812” message is delivered a second time.
Authentication
Proving who you are: password, code received by text, security key, fingerprint. Not to be confused with authorisation.
Example · You enter your number and the code received by text: Mboa Market knows it really is you.
Authorisation
Checking what the authenticated user is allowed to do, on every request and every object.
Example · You can see your invoices, but not other customers'.
Autoscaling
Automatic adding and removing of servers based on load. It requires stateless servers that start quickly.
Example · Three servers at night, twelve on sale day, with no human intervention.
Availability
Share of time a service works, often expressed in “nines”: 99.9% means about 8.8 hours of downtime a year.
Example · A 99.99% target allows about 53 minutes of downtime a year.
Availability zone
Isolated datacenter (or group of datacenters) within a cloud region, with its own power and network. Two zones rarely fail at the same time.
Example · Mboa Market's servers are spread across three zones of the same region.
B
Back-of-the-envelope calculation
Quick estimate, with rounded numbers, to find the order of magnitude of traffic, storage or cost before designing.
Example · 500,000 users × 20 requests ÷ 100,000 seconds ≈ 100 requests per second.
Backpressure
Mechanism by which a saturated component tells its callers to slow down, instead of accepting work it will not be able to do.
Example · The queue is full: it refuses new messages with a 429, and the sender slows down.
Blast radius
Extent of the damage when something breaks: how many customers, services or countries are affected. You reduce it by isolating parts.
Example · With one database per country, an outage in Senegal does not affect customers in Cameroon.
Bottleneck
The most limited component of a system: it sets the capacity of the whole. Improving another component is useless until it is relieved.
Example · The web servers run at 50%, the database at 120%: the database is the bottleneck.
Bounded context
Part of the business with its own vocabulary and data model (a Domain-Driven Design notion). It is a natural boundary for a module or a service.
Example · For the catalogue, a “product” has photos; for delivery, it has a weight and dimensions.
Browser
Program that displays websites (Chrome, Firefox, Safari…). It is a client: it sends requests and displays the responses.
Example · Your browser requests mboamarket.com and displays the page it receives.
Build vs buy
Choice between developing a component yourself or using an existing product or service. You usually only build what differentiates the company.
Example · Mboa Market builds its recommendation engine, but buys text messaging from a provider.
Bulkhead
Separating resources (threads, connections) per dependency, like a ship's watertight compartments, so that a single sick dependency cannot exhaust everything.
Example · The recommendation service has its own pool of 20 connections: even stuck, it leaves the others free.
C
Cache
Very fast memory that keeps copies of answers already computed, to serve them again without redoing the work.
Example · The best-selling fabric's page is served from Redis in one millisecond, instead of 20 ms from the database.
Cache busting
Changing a file's name with every version (often with a fingerprint of its content) so that caches and browsers download the new version.
Example · style.css becomes style.3f9a1c.css on every deployment.
Cache hit
The requested answer was already in the cache: it is served immediately.
Example · Out of 100 catalogue reads, 90 are cache hits.
Cache invalidation
Removing or updating a copy in the cache when the original data changes, so as not to serve stale data.
Example · The seller lowers their price: the application deletes the product:42 key from the cache.
Cache miss
The answer was not in the cache: it must be computed or read from the source, more slowly.
Example · First visitor on a rarely viewed product: cache miss, database read.
Cache-aside
Way of using a cache: the application checks it first; on a miss, it reads the database then stores the answer in the cache with a TTL.
Example · Page missing from the cache → database read → copy into Redis for 5 minutes.
Cache-Control
HTTP header that tells browsers and CDNs whether they may keep a copy of a response, and for how long.
Example · Cache-Control: max-age=31536000: this image may be kept for a year.
Canary release
Shipping a new version to a small share of traffic first (5%, for example), monitoring, then widening. If something goes wrong, only a minority is affected.
Example · The new payment page is shown to 5% of customers for an hour before everyone.
CAP theorem
During a network partition, a distributed system must choose between consistency (C, never answer wrong) and availability (A, always answer).
Example · Outage between two datacenters: payment refuses rather than risk a double charge (C), the cart stays open (A).
Cardinality
Number of distinct values a field takes. A good shard key has high cardinality.
Example · The customer id has millions of values; the order status, five.
Cascading failure
Failure that spreads from one component to those that depend on it, often because they wear themselves out waiting for it.
Example · Recommendations slow down, the web servers block their threads, and payment goes down in turn.
CDN
Content delivery network: servers spread around the world that keep copies of static content as close as possible to users.
Example · Mboa Market's photos are served from Lagos and Johannesburg instead of Paris.
Change data capture (CDC)
Reading a database's write log to publish every change as an event, without touching the application's code.
Example · Every change to the products table updates the search index a few seconds later.
Choreography
Way of running a saga where each service reacts to the others' events, without a central conductor.
Example · Stock hears “order created” and reserves; payment hears “stock reserved” and charges.
Circuit breaker
Mechanism that stops calling a failing dependency: calls fail immediately (and a fallback answers), then a few trial calls check whether it is back.
Example · Recommendations answer in 4 s: the breaker opens and pages display without them.
Client
Program that sends requests to a server: a browser, a mobile app, another service.
Example · The Mboa Market app on your phone is a client of the API.
Client-server model
Organisation where clients send requests and servers answer them. It is the foundation of the web.
Example · Your browser (client) asks for a page, Mboa Market's server (server) sends it back.
Compensating transaction
Operation that undoes the effect of an earlier step of a saga when a later step fails.
Example · The payment is declined: the compensation releases the reserved stock.
Concurrency
Number of requests being processed at the same moment. By Little's law, it equals throughput multiplied by latency.
Example · 500 requests per second lasting 0.4 s each: 200 requests in flight at once.
Consistent hashing
Technique that places keys and servers on a ring: adding or removing a server only moves a small share of the keys, instead of nearly all of them.
Example · Going from 4 to 5 shards only moves about 20% of the keys.
Constraint
Limit imposed on the design, which you do not choose: budget, deadline, team size, existing technology, law.
Example · “Constraint: the solution must run on PostgreSQL, which the team already knows.”
Consumer
Program that reads messages from a queue or a event log and does the corresponding work.
Example · The “invoices” worker consumes the queue's messages and generates the PDFs.
Consumer group
Set of consumers sharing the reading of a topic. Each group keeps its own offset: several teams read the same events independently.
Example · Delivery and accounting form two groups that both read every “order paid” event.
Conway's law
Observation that a system mirrors the communication structure of the teams that build it.
Example · Three autonomous teams almost always end up producing three services.
CQRS
Separating the model that writes the data from the one (or ones) that serve complex reads, each optimised for its use.
Example · Orders are written to PostgreSQL; search reads a copy in a search engine.
CRDT
Data structure that can be modified in several places at once and merged automatically, without conflict.
Example · A like counter incremented in two regions gives the right total after merging.
D
Data residency
Obligation, often legal, to store certain users' data in a given country or region.
Example · The regulator requires Cameroonian customers' payment data to stay in Cameroon.
Data warehouse
Database dedicated to analysis, fed with copies of production data, so that heavy reports do not slow customers down.
Example · The year's sales by region are computed in the warehouse, not in the orders database.
Database
Software that stores data durably and lets you find, change and protect it.
Example · Mboa Market's customers, orders and stock live in a PostgreSQL database.
DAU (daily active users)
Number of distinct users who use the service at least once in a day. The starting point of most estimates.
Example · 500,000 DAU × 20 requests each = 10 million requests a day.
Dead-letter queue
Queue where messages that still fail after several attempts are put aside, to be analysed without blocking the others.
Example · An invoice with an invalid format fails three times and goes to the dead-letter queue; an alert notifies the team.
Defence in depth
Stacking several independent layers of protection, so that one layer giving way does not open the whole system.
Example · Web application firewall, segmented network, multi-factor authentication, encryption and audit logs.
Design document
Document of one to three pages that presents a design before it is built: context, goals, non-goals, proposal, alternatives, risks, rollout plan.
Example · The new payment service's document is sent to the board 48 hours before the review.
Disaster recovery
Set of means and procedures to restart a service after a disaster (loss of a region, a datacenter, data), with a defined RTO and RPO.
Example · Twice a year, the team really switches Mboa Market over to the standby region.
Distributed traces
Record of a request's path through every service, split into steps (“spans”) with their duration.
Example · A payment's trace shows 40 ms in the gateway, 30 ms in the service, 1.8 s in the fraud check.
DNS
Domain Name System: the Internet's phone book, which turns a domain name into an IP address.
Example · mboamarket.com → 203.0.113.10.
Document database
NoSQL database that stores documents (often JSON) whose fields can vary from one document to another.
Example · A fabric page has a size and a pattern, a phone page a capacity and a colour.
Domain name
Readable name that designates a website or service on the Internet, turned into an IP address by the DNS.
Example · mboamarket.com, api.mboamarket.com.
Double-entry
Accounting principle: every movement is written twice, as a debit on one account and a credit on another, so that total debits always equal total credits.
Example · A 5,000 FCFA payment: debit on the customer's wallet, credit on the seller's account.
E
Edge server
CDN server placed close to users, serving them copies of content without going back to the origin.
Example · A customer in Douala receives the photos from an edge server in Lagos.
Egress
Data leaving the cloud for the Internet. Providers charge it per gigabyte, and it is often a surprise line on the bill.
Example · 50 TB of images served directly from the servers: about $4,500 a month.
Encryption at rest
Encrypting data stored on disks, so that a stolen disk or backup stays unreadable.
Example · The database and its backups are encrypted with a key managed by the cloud provider.
Error budget
What the SLO allows you to miss over the period (1 − SLO). While some is left, you can take risks; once spent, you harden.
Example · 99.9% over 30 days: a budget of 43 minutes of downtime.
Event
Message that describes a past fact, in the past tense: it does not ask for anything, it announces.
Example · “Order 812 paid”, “Parcel 77 shipped”.
Event log
Ordered sequence of events that you only append to. Messages stay there for the retention period, even once read.
Example · The “clicks” log keeps seven days of events, which a new consumer can reread.
Event sourcing
Storing the sequence of events as the source of truth, and rebuilding state by replaying them. Powerful for audits, demanding to implement.
Example · A wallet's balance = the sum of all its movements since it was opened.
Event streaming
Publishing events to a event log that several consumers read continuously, each at its own pace.
Example · Every click goes into Kafka; analytics and fraud detection read it within seconds.
Eventual consistency
Copies of a piece of data may diverge for a while, but end up converging if nobody changes it any more.
Example · A product's like count is a few seconds behind on some servers.
Exactly once
Effect achieved when each message produces its effect only once, even if delivered several times. In practice: at least once delivery + idempotent processing.
Example · The “charge 5,000 FCFA” message arrives twice, but the customer is only charged once.
Exponential backoff
Spacing retries further and further apart (1 s, 2 s, 4 s, 8 s…) to let a service recover instead of crushing it.
Example · Payment fails: retry after 1 s, then 2 s, then 4 s, then give up.
F
Facets
Search filters shown with the number of results for each value.
Example · “Size: M (124), L (98) · Price: under 10,000 FCFA (312)”.
Failover
Automatically replacing a failed component with its standby copy, for example promoting a replica to primary.
Example · The primary fails; within 30 seconds, the replica in the other zone becomes the new primary.
Fallback
Backup answer served when a dependency does not respond: a default value, a simplified version, a clear message.
Example · Without recommendations, the page shows “best sellers” instead.
Feature flag
Switch that turns a feature on or off without redeploying, for everyone or for some users.
Example · The new checkout flow has a bug: its flag is turned off, the old one comes back in ten seconds.
FinOps
Practice that makes cloud cost visible and manageable by teams: resource tagging, unit cost, regular reviews.
Example · Every month, the team reviews the five biggest lines of the bill and the cost per order.
Fixed window
Rate limiting algorithm that counts requests per fixed time slot (per minute, for example) and resets the counter at the start of each slot.
Example · 100 requests allowed between 10:00 and 10:01; the counter resets at 10:01.
Four golden signals
The four measurements to watch for every service: latency, traffic, errors and saturation.
Example · The payment dashboard shows p95, requests per second, error rate and database load.
Functional requirement
What the system must do: a feature, a behaviour visible to the user.
Example · “A customer can track their parcel.”
Fuzzy search
Search that finds the right results despite a typo or misspelling.
Example · “wax fabrik” still finds wax fabrics.
H
Hash partitioning
Choosing a piece of data's shard by computing a fingerprint of its key (hash(key) % N): data spreads evenly.
Example · Customer 4821 lands on shard hash(4821) % 4 = 1.
Health check
Regular check that a server answers correctly; a failing server is taken out of rotation by the load balancer.
Example · Every 5 seconds, the load balancer calls GET /health on every server.
Hit ratio
Share of reads served directly by the cache. The higher it is, the less the database works.
Example · A 90% ratio: the database only sees one read in ten.
Home region
Region a customer is attached to: all their writes go there, which avoids conflicts in active-active.
Example · Ivorian accounts always write in Abidjan, even when the customer travels to Paris.
Horizontal scaling
Growing a system by adding identical machines behind a load balancer, rather than enlarging one machine.
Example · Going from 3 to 12 web servers for sale day.
Hot key
Key that receives a disproportionate share of traffic: it overloads the shard or cache node holding it, however many there are.
Example · A star's shop concentrates 70% of writes on a single shard.
HTTP
The web's protocol: the format of the requests (verb, address, headers) and responses (status code, content) exchanged between clients and servers.
Example · GET /products/42 → 200 OK and the product page.
HTTPS
HTTP encrypted with TLS: nobody along the way can read or change the exchange.
Example · The padlock in the address bar indicates an HTTPS connection.
I
Idempotency
Property of an operation that can be run several times with the same effect as once.
Example · “Mark order 812 as paid” is idempotent; “add 5,000 FCFA to the balance” is not.
Idempotency key
Unique identifier sent with an operation: if the server sees it again, it returns the first result instead of starting over.
Example · The Idempotency-Key: 7f3a… header prevents a double charge when the app resends a payment.
IDOR
Access control flaw: the server returns an object designated by its id without checking that it belongs to the user.
Example · Changing /invoices/1043 to /invoices/1044 shows another customer's invoice.
Incident commander
Person who coordinates the response to an incident: they assign roles, make decisions and keep information flowing, without doing everything themselves.
Example · “I am taking command. Aïcha communicates, Koffi switches over. Check-in in 15 minutes.”
Index
Structure that lets a database find rows without reading the whole table, like a book's index. It speeds up reads and slightly slows down writes.
Example · An index on customer_id finds a customer's 20 orders among 10 million in a few milliseconds.
Inverted index
Search engine structure that maps each word to the list of documents that contain it.
Example · “wax” → products 12, 48, 301; “fabric” → products 12, 77, 301.
IP address
Number that identifies a machine on a network, like a postal address.
Example · 203.0.113.10 (IPv4) or 2001:db8::10 (IPv6).
L
Last write wins
Conflict resolution rule: when two copies were modified, the most recent change is kept. Simple, but the other change is lost.
Example · Two devices change the address at the same time: the one saved last is kept.
Latency
Time a request takes to get its response, in milliseconds.
Example · The product page displays in 180 ms.
Least connections
Load balancer algorithm that sends each request to the server handling the fewest at that moment.
Example · A server busy with three PDF exports receives no more requests while the others are free.
Least privilege
Giving each person, service or key only the rights strictly necessary for its task.
Example · The email service can read addresses, but not payment data.
Ledger
Record of every money movement, append-only: a line is never modified, a correcting entry is added.
Example · A Mboa Pay wallet's balance is computed from its ledger.
Little's law
Relationship between throughput and latency: requests in flight = throughput × time spent in the system.
Example · 100 req/s × 0.2 s = 20 requests at once; if latency goes up to 2 s, 200 are needed.
Load balancer
Component that receives every request and spreads them across several servers, leaving out those that stop answering.
Example · The load balancer sends Mboa Market's visitors to four web servers.
Load shedding
Deliberately refusing the least important traffic when the system overflows, to protect what matters most.
Example · At peak, recommendations and bots are cut to keep payment fast.
Load test
Deliberately sending heavy, realistic traffic to the system to measure what it can handle before real customers arrive.
Example · A week before the sales, the team simulates 5,000 req/s for an hour.
Logs
Lines of text an application writes to describe what it does, useful to understand an incident.
Example · 2026-11-06 14:12:03 payment 8812 declined: insufficient balance.
M
Message
Small packet of data put into a queue or a event log to be processed by another program.
Example · {"type": "invoice", "order": 812}.
Message queue
Component that receives messages from producers and hands them to consumers, to do work later and absorb spikes.
Example · RabbitMQ, Amazon SQS or Google Pub/Sub carry Mboa Market's invoice requests.
Metrics
Numerical measurements tracked over time: requests per second, latency, error rate, load.
Example · A curve of the payment p95, minute by minute.
Microservice
Small independent service, with its own database, deployed and sized separately, communicating with others over the network.
Example · The payment service is deployed separately, by its team, several times a week.
Modular monolith
A single application deployed as one block, but split into modules with strict boundaries, which do not share their tables.
Example · Catalogue, orders and delivery are three modules of the same Django application.
Monolith
Single application that contains every feature and deploys as one block.
Example · The whole Mboa Market shop fits in one application, one database, one deployment.
MTBF
Mean Time Between Failures: average time between two failures.
Example · One failure every 60 days on average: an MTBF of 60 days.
mTLS
Mutual TLS: client and server each present a certificate, so both sides know who they are talking to.
Example · The orders service can only call the payment service with its own certificate.
MTTR
Mean Time To Repair (or To Recover): average time to restore service after a failure.
Example · With automatic rollback, the MTTR goes from 40 to 5 minutes.
Multi-factor authentication
Authentication that requires at least two proofs of different kinds: something you know, something you have, something you are.
Example · A password, then a code received by text or generated by an app.
O
OAuth 2.0
Protocol that lets an application act on behalf of a user, with a limited token, without ever knowing their password.
Example · A partner carrier accesses the orders of a seller who authorised it, and nothing else.
Object storage
Service that stores files (images, videos, backups) reachable through a URL, with almost no size limit.
Example · Sellers' photos are stored in an S3 bucket, not on the web servers.
Observability
Ability to understand what happens inside a system from what it emits: metrics, logs and distributed traces.
Example · Within two minutes, the team sees that payment is slow because of one specific SQL query.
Offset
Number of the last message read by a consumer group in a partition of a event log.
Example · Rewinding to yesterday morning's offset replays a day of events.
On-call
Arrangement where engineers, in turn, can be reached to respond to alerts outside office hours.
Example · This week, Koffi is on call: the payment alert wakes him up if needed.
OpenAPI
Standard format for describing a REST API (routes, parameters, responses), from which documentation, clients and tests are generated.
Example · Mboa Market's openapi.yaml file is reviewed by the mobile team before any development.
OpenID Connect
Identity layer on top of OAuth 2.0: it lets you sign in to an application with an existing account.
Example · Mboa Market's “Sign in with Google” button.
Orchestration
Way of running a saga where a conductor service calls each step in order and triggers the compensations.
Example · The “order” service asks stock to reserve, then payment to charge.
Origin
The servers where the reference content comes from, which the CDN copies and caches.
Example · The CDN asks the origin for an image again when its copy has expired.
Outbox pattern
Writing the event to publish into an outbox table, in the same transaction as the data, then publishing it through a relay. Data and event exist together, or not at all.
Example · The order and the “order created” event are saved in the same transaction.
OWASP
Foundation that publishes, among other things, the ranking of the most common web security flaws (the OWASP Top 10).
Example · Broken access control tops the OWASP ranking.
P
p50 (median)
Latency below which 50% of requests fall: what the typical customer experiences.
Example · p50 = 80 ms: one request in two answers in under 80 ms.
p95
Latency below which 95% of requests fall. The remaining 5% are slower.
Example · p95 = 300 ms: 19 requests out of 20 answer in under 300 ms.
p99
Latency below which 99% of requests fall: what the unluckiest customers experience.
Example · p99 = 2 s: one customer in a hundred waits at least 2 seconds.
PACELC
Extension of the CAP theorem: under a Partition, choose between Availability and Consistency; Else, choose between Latency and Consistency.
Example · Even without failures, reading a nearby replica is faster, but may return a slightly old value.
PCI DSS
Security standard imposed by card networks on any organisation that stores, processes or transmits card data.
Example · By storing only the provider's token, Mboa Market sharply reduces its PCI DSS scope.
Peak factor
Ratio between traffic at the busiest moment and average traffic. Often 2 to 3, far more on a sale day.
Example · 100 req/s on average, 300 req/s at 8 pm: a peak factor of 3.
Percentile
Value below which a given percentage of measurements falls. For latency, you track the p50 (median), p95 and p99.
Example · The 95th percentile of response times is 300 ms.
Point of presence
Site of a CDN (or a network) set up in a city to be close to users.
Example · The CDN has points of presence in Lagos, Nairobi and Johannesburg.
Postmortem
Written analysis after an incident: what happened, why, and what changes. It is “blameless”: it looks for causes, not culprits.
Example · “Cause: a 24 h DNS TTL delayed the switchover. Action: bring it down to 60 s.”
Pre-mortem
Exercise before a project: imagine it failed six months from now and list why, to deal with the risks in advance.
Example · “Payment failed because the single provider went down on sale day.”
Primary
In a replicated database, the copy that receives every write and passes it on to the replicas.
Example · Orders are written to the Paris primary, then copied to two replicas.
Producer
Program that puts messages into a queue or a log.
Example · The orders service produces an “invoice” message for every paid order.
Purge
Removing a copy from a CDN before its TTL ends, to force a return to the origin.
Example · An image published by mistake is purged from the CDN within seconds.
R
Range partitioning
Splitting data by key ranges (dates, letters…). Handy to read a period, but recent data piles up on one shard.
Example · One shard per month: every November order lands on the same one.
Rate limiting
Limiting the number of requests a client can make per period; beyond it, the server answers 429 Too Many Requests.
Example · 20 requests per second per client, 1,000 for an identified partner.
Read replica
Replica used to serve reads and relieve the primary.
Example · Catalogue searches read the replicas; payments read the primary.
Read your writes
Guarantee that a user always sees their own changes, even if other reads go through lagging replicas.
Example · For 5 seconds after changing their address, the customer reads their profile from the primary.
Reconciliation
Comparing your own records with a partner's (bank, operator) to detect and fix differences.
Example · Every hour, Mboa Pay's ledger is compared with the Mobile Money operator's statements.
Redis
In-memory key-value store database, widely used as a cache, session store and counter.
Example · Mboa Market's carts and sessions live in Redis.
Redundancy
Having several copies of a critical component so that a single failure does not stop the service.
Example · Three web servers, two load balancers, a database and its replica.
Region
Geographic area of a cloud provider, made of several availability zones.
Example · The “Europe (Paris)” and “Africa (Cape Town)” regions.
Relational database
Database that stores data in linked tables, described by a schema, and queried in SQL.
Example · PostgreSQL, MySQL, SQL Server.
Relevance
Score a search engine gives each result to decide their order.
Example · A product with “wax” in its title comes before one that mentions it in its description.
Replica
Copy of a database, kept up to date from the primary.
Example · A replica in another zone can become primary if the first one fails.
Replication
Continuously copying a database's data onto other machines, to read more and survive a failure.
Example · Every order written in Paris is copied to two replicas within a second.
Replication lag
Delay between a write on the primary and its arrival on a replica.
Example · A 2-second lag: a replica may show the old address for 2 seconds.
Request
Demand sent by a client to a server: read a page, create an order…
Example · GET /products/42.
Requests per second (req/s)
Number of requests a system receives or handles every second: the unit of throughput.
Example · Mboa Market's server handles 300 req/s.
Reserved instances
Machines rented for one or three years in exchange for a large discount, ideal for what runs all the time.
Example · The production database, running day and night, costs 40% less as a reserved instance.
Response
What the server sends back to the client: a status code and, often, a body.
Example · 200 OK with the product page as JSON.
REST
API style where you handle resources named by URLs with HTTP verbs: GET, POST, PUT, PATCH, DELETE.
Example · POST /orders creates an order, GET /orders/7 reads it.
Retry
Resending a request that failed, hoping for a passing error. Reserved for idempotent operations, with exponential backoff.
Example · The provider answers 503: another attempt a second later.
Retry storm
When every client retries at once, they multiply the load on an already fragile service and keep it from recovering.
Example · 200 clients retry three times each as soon as the service is back: it receives four times its traffic and falls over again.
Right-sizing
Matching machine sizes to their real load, so as not to pay for unused capacity.
Example · Twelve servers at 17% load brought down to four servers at 50%.
Rolling deployment
Updating servers one at a time: the load balancer takes out the one being updated, then puts it back in service.
Example · Out of four servers, three serve customers while the fourth moves to the new version.
Round robin
Load balancer algorithm that sends requests to each server in turn.
Example · Request 1 → server A, request 2 → B, request 3 → C, request 4 → A…
RPO
Recovery Point Objective: how much data you accept to lose in a disaster, expressed as time worth of writes.
Example · 5-second RPO: at worst, the last 5 seconds of orders must be reconstructed.
RTO
Recovery Time Objective: maximum accepted downtime before the service is restored.
Example · 15-minute RTO: the standby region must serve customers 15 minutes after the outage.
Runbook
Written step-by-step procedure for an operation or an incident: what to check, what to do, at which thresholds.
Example · “If the database exceeds 90%: turn off recommendations, then notify on-call.”
S
Saga
Operation split into local transactions, one per service, chained by events; if a step fails, compensating transactions undo the previous ones.
Example · Order → stock reservation → payment → shipping, with a compensation for each step.
Saturation
State of a component that has reached the end of its capacity: requests wait, then are refused.
Example · At 600 req/s for a capacity of 300, the server saturates and refuses half the requests.
Schema
Description of the data's structure: the tables, their columns, their types and their links.
Example · The orders table has the columns id, customer_id, amount and status.
Schema registry
Service that keeps the versions of each event type's format and rejects changes that would break consumers.
Example · Removing the amount field from “order paid” is rejected: three teams read it.
Scraper
Program that crawls a website automatically to copy its content, often at high speed.
Example · A competitor copies every Mboa Market price each night, 1,600 pages per second.
Search engine
Software specialised in full-text search: it builds an inverted index, ranks results by relevance and tolerates typos.
Example · Elasticsearch, OpenSearch, Meilisearch, Typesense.
Secrets manager
Service that stores passwords, API keys and certificates encrypted, hands them to authorised services and rotates them.
Example · The payment service receives its API key at start-up; it changes automatically every 90 days.
Server
Machine or program that waits for requests and sends back responses.
Example · Mboa Market's web server sends back the catalogue pages.
Session
What lets the server recognise a signed-in customer from one request to the next: their identity, their cart, their preferences.
Example · A cookie holds the session id; the session's data lives in Redis.
Shard
One of the databases the data is split across in sharding; each one owns part of the data.
Example · Shard 2 holds the customers whose id falls into its share of the ring.
Shard key
Field that decides which shard each piece of data goes to.
Example · The customer id: all of a customer's orders are on the same shard.
Sharding
Splitting data across several databases to spread writes and volume beyond what a single machine can carry.
Example · Four databases, each with a quarter of Mboa Market's customers.
Single point of failure (SPOF)
Component present as a single copy whose failure stops the whole service.
Example · A single database, with no replica: if it fails, all of Mboa Market fails.
SLA
Service Level Agreement: contractual service-level commitment to a customer, with penalties if it is not met.
Example · 99.9% monthly availability for partners, otherwise a 10% discount on the bill.
SLI
Service Level Indicator: the measurement of service quality, as the customer sees it.
Example · The share of payments that succeed in under 500 ms.
Sliding window
Rate limiting algorithm that counts requests over the last N seconds at every moment, without the jolts of the fixed window.
Example · At 10:00:30, you count the requests received since 9:59:30.
SLO
Service Level Objective: the target set on an SLI, over a given period.
Example · 99.9% of payments succeeding in under 500 ms, over a rolling 28 days.
Source of truth
The store that is the reference for a piece of data; the others are copies that can be rebuilt.
Example · The products database is the source of truth; the search index is rebuilt from it.
Spot instances
The cloud provider's unused machines, rented at a large discount but which can be taken back at any time. Ideal for interruptible jobs.
Example · The nightly recommendation recomputation runs on spot instances.
SQL
Standard language to query and change a relational database.
Example · SELECT * FROM orders WHERE customer_id = 42;
Stale data
Copy of a piece of data that is no longer up to date, for example in a cache or a lagging replica.
Example · The cache still shows the old price, although the seller lowered it.
Stateful
Describes a server that keeps information in memory between two requests (sessions, carts): it is not interchangeable.
Example · A server that keeps the cart in memory: if it restarts, the carts disappear.
Stateless
Describes a server that keeps nothing between two requests: any server can answer any request, and servers can be added or removed at will.
Example · Sessions are in Redis: restarting a web server logs nobody out.
Static content
Files that are the same for every visitor and rarely change: images, CSS, JavaScript, videos.
Example · A fabric's photo is the same for every customer; their cart is not.
Status code
Three-digit number at the start of an HTTP response: 2xx success, 3xx redirect, 4xx request error, 5xx server error.
Example · 200 (OK), 302 (redirect), 404 (not found), 429 (too many requests), 500 (server error).
Sticky session
Load balancer setting that always sends the same client to the same server, because that server holds their session.
Example · The whole campus comes through one IP address and lands on the same server.
Storage tiers
Storage levels with different prices and speeds: hot (read often, more expensive), cold or archive (rarely read, far cheaper).
Example · Logs older than 30 days move automatically to cold storage.
Strangler fig
Gradual migration: a gateway in front of the old system routes each feature to the new one, bit by bit, until the old one can disappear. The name comes from a fig tree that grows around a host tree.
Example · First 5% of photo uploads to the new service, then 50%, then 100%.
Strong consistency
Every read sees the latest committed write, as if only one copy of the data existed.
Example · Right after a payment, every balance read shows the new amount.
Synchronous replication
The primary waits for at least one replica to receive the write before confirming it: no loss if the primary fails, but every write is slower.
Example · Mboa Pay's ledger waits for its replica in the other zone before confirming a payment.
T
Threat modeling
Exercise that lists, for a feature, who could attack it, to steal or break what, through where, and how to protect against it.
Example · Before card payments: card theft, insider fraud, denial of service, injection.
Throughput
Amount of work handled per unit of time, often in requests per second.
Example · The payment service handles 120 payments per second.
Thundering herd
Sudden rush of requests to a resource at the same moment, for example when an empty cache sends every read to the database.
Example · The cache restarts: 2,000 reads per second hit the database all at once.
Timeout
Maximum time you wait for an answer before giving up, to free resources.
Example · After 300 ms without an answer from recommendations, the page displays without them.
TLS
Protocol that encrypts and authenticates a network connection. It is what puts the “S” in HTTPS.
Example · mboamarket.com's TLS certificate proves to the browser that it is talking to the right server.
Token bucket
Rate limiting algorithm: a bucket of N tokens refills at a fixed rate; each request uses a token; empty bucket, request refused. It allows small bursts.
Example · 10 tokens, refilled at 2 per second: a burst of 10 goes through, then 2 requests per second.
Tokenisation
Replacing a sensitive piece of data (a card number) with a worthless token, the real data staying with a specialised provider.
Example · Mboa Market only keeps tok_8f3a…; the card number stays with the payment provider.
Topic
Named stream of events of the same type in a event log such as Kafka, split into partitions.
Example · The “orders-paid” topic has 24 partitions.
Total cost of ownership
Full cost of a solution over its lifetime: purchase or development, but also operations, maintenance, security and team time.
Example · A “free” home-made system that keeps two engineers busy full time costs more than a $500-a-month service.
Transaction
Group of database operations that all succeed together or all fail together.
Example · Create the order, remove the item from stock and record the payment, in a single transaction.
TTL
Time To Live: lifetime of a cached copy; after that delay, it is dropped and reloaded on the next read.
Example · Product pages have a 5-minute TTL in Redis.
Twelve-Factor
Twelve-principle method for building cloud-ready applications: stateless processes, configuration in the environment, logs on standard output, fast start-up and shutdown…
Example · The database key is read from an environment variable, never written in the code.
Two-phase commit (2PC)
Distributed transaction protocol: a coordinator asks each participant whether it is ready, then tells them to commit. Reliable but blocking if the coordinator fails at the wrong moment.
Example · Four databases wait for the decision of a coordinator that just crashed.