Security, Privacy, and Multi-tenancy
Don't worry if these words sound scary — we'll explain each one along the way. In this lesson we learn how to talk in an interview about keeping a system safe and private: authn/authz — short for two things: authentication (verifying who you are, like showing an ID at the entrance) and authorization
System Design (planning how to build big software that serves many people) is like planning a city: roads, storage, traffic lights, and maintenance crews so the city keeps running smoothly even during rush hour, when everyone is out at the same time.
- Security and privacy
- The core idea of this lesson: how we keep the system safe and users' data private. It includes: authentication and authorization (authn/authz — who you are and what you're allowed to do), keeping secrets and passwords in a protected place (secrets), encrypting data (encryption), separating different customers (tenant isolation), preventing misuse (abuse prevention), and how long we keep data and when we delete it (retention).
- Trade-off
- Trade-off — a conscious choice where you gain one thing and pay for it with another, like picking fast food over a home-cooked meal: you save time but lose some quality. In an interview you explain what you gained and what it cost.
- Operational metric
- An operational metric — a number that shows whether the decision really works when the system is live and serving real users (this is called production). For example: latency (how long it takes to get an answer), error rate (the share of requests that fail), queue lag (how many tasks are waiting in line), cache hit ratio (how often we found the answer in fast memory), and more.