Reliable Architecture – Systems Strategy and Design
As most of you should know by now, reliability doesn’t start in the app code development but in the solution architecture design. As we said at the beginning, SREs also have architectural skills. They need to review architectural diagrams, application topologies, and solution designs to spot areas where reliability is unclear.
In this chapter, we will cover the following main sections:
- Designing for reliability
- Splitting and balancing the workload
- Failing over – almost as good
- Scaling up and out – horizontal versus vertical
- In practice – applying what you’ve learned
In this chapter, we will define how to break up the workload among multiple workers, whether servers, containers, or serverless. Then, we will discuss the load balancer and how it enables reliability and follow up with a discussion about what is better: bigger workers or more of them. Moreover...