Scalability Flashcards
What are the pros and cons of the single-server design?
Pros: Cheap, easy to maintain
Cons: Single point of failure, cannot scale to support more users
In a single-server design, what is the main benefit of separating the database from the main server into a separate resource?
You can now scale the server and database independently
What is vertical scaling?
Replace your current webserver with a larger, more expensive webserver with increased cpu and memory
What are the pros and cons of vertical scaling?
Pros: easier to maintain
Cons: Expensive, single point of failure, limited scalability as you get larger
What is the purpose of a load balancer in horizontal scaling?
- It distributes work evenly across multiple machines
- It can reroute traffic to different servers if one or more goes down
What is horizontal scaling?
When you scale your application with a cluster of machines which are given a distributed amount of work by a load balancer
What are the pros and cons of horizontal scaling?
Pros: Resilient, infinitely scalable
Cons: More instances to manage, individual web servers must be stateless
In the horizontal scaling technique, what does it mean that the individual web servers must be stateless?
The web servers have to be stateless because any request from the client must be able to be sent to any web server in the cluster. Can’t assume that one web server knows the state of a previous request and can act on it.
T/F: Choose the simplest architecture that meets your projected traffic requirements, but no simpler
True