System Design

Usually Sound choices

Database decisions

  • Relational Database vs. NoSQL

CAP Theorem

Other ideas

  • Asynchronous server side pre-rendering of rarely changing pages

Scalability vs. Performance

If a service is slow for a single user you have a performance problem, if it is fast for a single user but slow under load you have a scaling problem.

Latency vs. throughput

Latency is the time to perform some action or to produce

Replication and Fail-over

Replication is the maintenance of copies of state (typically database state in systems, but application images is another example). Fail-over is the promotion of a system to serve requests.

Engineering Blogs