Security patterns

In this sample chapter from Designing and Developing Secure Azure Solutions learn more about design patterns and the importance of adopting these patterns to improve the secure design of solutions.

After completing this chapter, you will be able to:

  • Adopt the proposed patterns to improve how you securely design your solutions.

  • Identify even more Azure security patterns, further improving your understanding of Azure.

What is a pattern?

Design patterns are not new to information technology, but they still play a fundamental role. Design patterns were conceived by a British-American architect of Austrian origins named Christopher Alexander. In 1977, Alexander wrote a book about recurring solutions to common problems related to building physical structures. However, this book became influential beyond its original field. Indeed, Alexander’s work inspired four computer scientists and researchers—Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides—to apply the same concepts to software design. The result was a book titled Design Patterns: Elements of Reusable Object-Oriented Software, which is still widely used today.

In his book, Christopher Alexander defines patterns as follows:

“Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.”

The point here is that patterns represent a structured approach to address common problems. They are a way to collect and share know-how that has consistently provided value to many disciplines, including software design. Given that this book relates to the development of secure solutions on Azure, we focus here on design patterns in that context.