In which scenario is a single-server design most appropriate?
For highly critical commercial applications
For large-scale systems with significant traffic
For small, low-priority tools or personal websites
For applications requiring high availability
What is a key drawback of a single-server design for commercial systems?
High cost of scaling
Single point of failure
Complexity of setup
Redundant database connections
What does vertical scaling involve?
Adding more servers to distribute the load
Increasing the capacity of an existing server
Implementing a load balancer to manage traffic
Dividing a database into multiple shards
What is a limitation of vertical scaling?
It requires complex database partitioning.
It is limited by the maximum capacity of a single server.
It cannot handle stateless requests efficiently.
It increases the number of servers to maintain.
How does horizontal scaling differ from vertical scaling?
Horizontal scaling increases the size of servers, while vertical scaling adds more servers.
Horizontal scaling involves adding more servers, while vertical scaling increases the size of existing servers.
Horizontal scaling reduces server maintenance, while vertical scaling increases it.
Horizontal scaling focuses on database optimization, while vertical scaling focuses on application layers.
What component is essential for horizontal scaling to distribute traffic across servers?
Database replicas
A load balancer
A central storage system
An additional web server
Why must web servers in a horizontally scaled system be stateless?
To ensure they can share storage efficiently
To allow any server to handle any user request independently
To improve CPU utilization across the system
To minimize database load during high traffic
What is a primary advantage of horizontal scaling over vertical scaling?
It reduces system complexity.
It eliminates single points of failure.
It is more cost-effective for small-scale systems.
It requires fewer machines to maintain.
In which scenario is vertical scaling likely sufficient?
A globally distributed e-commerce platform
A personal website with low traffic
A real-time video streaming service
A high-frequency financial trading application
What is a downside of horizontal scaling?
It limits the ability to add more servers.
It increases the likelihood of server failure.
It introduces more components to maintain.
It restricts redundancy in the system.
What design principle should guide the choice of system architecture?
Prioritize redundancy regardless of cost.
Build the simplest architecture that meets the requirements.
Always opt for horizontal scaling, even for small systems.
Avoid using load balancers to minimize complexity.