Capture the Flag
Join the Architecture Notes CTF and test your system design skills against participants from around the world. Solve challenges in distributed systems, web security, and more. Open to all skill levels.
Join the Architecture Notes CTF and test your system design skills against participants from around the world. Solve challenges in distributed systems, web security, and more. Open to all skill levels.
More features, active users, and data are collected daily. Your database is slowing your application. Many people don't understand database sharding, which could solve their difficulties. This article explains database sharding, its benefits, including how to use it and when not to.
The Twelve-Factor App methodology is a methodology for building software-as-a-service applications by Adam Wiggins. We cover how they have since evolved, and what we can learn from them today and how they changed the status quo of yesteryear.
A deep technical dive into all things Redis. Covering various Redis topologies, data persistence and process forking.
How Relational Databases Work. This post talks about how indexes and transactions work on the inside of relational databases.
Fallacies of distributed systems are a set of assertions made by L Peter Deutsch and others at Sun Microsystems describing false assumptions that programmers new to distributed applications invariably make.
Simon is the creator of Datasette and co-creator of Django web framework. Formerly he was a JSK journalism fellow at Stanford, and prior to that an Engineering Director at Eventbrite.
As we scale systems, it's essential to realize the impact of all the components in our systems and how they interact. For example, load balancers usually come into play once we scale beyond one server being able to serve requests reliably.
The Twelve-Factor App methodology is a methodology for building software-as-a-service applications by Adam Wiggins. We cover how they have since evolved, and what we can learn from them today and how they changed the status quo of yesteryear.
As you venture into more complicated architecture setups, there are a few things engineers sometimes don't understand when setting up consensus-based systems. Understanding quorums and fault tolerance are critical in understanding such systems.
There is often a level of focus on the bigger picture when it comes to system design, but we often don't think about the underlying components in these systems. So let's chat about different levels of memory.
Understanding latency is essential in all parts of our systems, including registers, main memory, disk, and network.
Lets talk about encryption foundational topic in system design. Encryption involves converting human-readable plaintext into incomprehensible text, which is known as ciphertext and decrypting it back to plaintext again.