Whether you create applications that run on AWS, Microsoft Azure or Google Cloud Platform, use platforms such as Heroku or you develop enterprise applications which run on on-premise cloud networks within a corporate intranet, cloud computing becomes ever more crucial to providing business value through software.
Hence, it’s not only expedient to know about the classic relatively low-level GoF design patterns or Martin Fowler’s Patterns of Enterprise Application Architecture but about design patterns for complex, large-scale, distributed systems, too.
A particular benefit of Microsoft’s design pattern library is that it not only outlines the uses and advantages of each of the patterns listed but also talks about pitfalls and situations in which not to use them. Cloud design patterns can be seductive in that superficially they frequently seem elegant and pertinent to the solution of a problem at hand. However, the complexities involved in these patterns often outweigh the upsides.
It’s essential to be aware about these aspects in order to be able to make an educated decision as to when to use a particular cloud-related design pattern and when not to.