11 Intermission: An insurance policy for free

 

This chapter covers

    • A broken system where no parts were broken
    • Context mapping to understand what’s going on
    • Risk of myopic views of microservices

    So far, we’ve covered lots of different ways to use design to make software more secure. We’ve collected designs from different areas, like cloud architecture, Domain-Driven Design (DDD), and reactive systems, where security wasn’t the original focus. The nice thing is that all these designs can be used in ways that increase security as a beneficial side effect. All in all, we’ve covered a lot of ground, and we’ll soon turn to applying these fundamentals to some different scenarios, such as legacy systems and microservices architectures. But before doing that, let’s take a quick break and look at how a system of systems can break without any specific part being broken. We’ll do that by examining a case study of a real-life system.

    If you’re in a hurry, you can safely skip this chapter. Otherwise, hang on, it’s a fun story with some interesting details. This is a real-life story about how an insurance company came to give away policies without payment. It’s also about how that disaster could have been avoided.

    11.1 Over-the-counter insurance policies

    11.2 Separating services

    11.3 A new payment type

    11.4 A crashed car, a late payment, and a court case

    11.5 Understanding what went wrong

    11.6 Seeing the entire picture

    11.7 A note on microservices architecture

    Summary