From the course: DevOps Foundations: Site Reliability Engineering

Unlock this course with a free trial

Join today to access over 25,500 courses taught by industry experts.

Distributed design

Distributed design

- Designing applications is a big topic that's near and dear to our hearts. - To do it right, you first need to understand that there's a difference between science and engineering. One problem with computer science is that it's often taught much like high school physics, where you assume a frictionless environment. Yeah, you really can't do that. - Real software engineering takes as a foundational premise that anything can and will break. Dependencies will fail in a variety of ways and you must make your service react well and be observable in the face of failure. - This is even more important now that systems are massively distributed and increasingly microservice-based. - Every service relies on a sharply rising number of other services, all of which might fail. - And there's those new serverless applications, which are more reliable without all that hardware dependency, right? - Nope, they're still running on servers,…

Contents