Book Image

Implementing Azure: Putting Modern DevOps to Use

By : Florian Klaffenbach, Oliver Michalski, Markus Klein, Mohamed Waly, Namit Tanasseri, Rahul Rai
Book Image

Implementing Azure: Putting Modern DevOps to Use

By: Florian Klaffenbach, Oliver Michalski, Markus Klein, Mohamed Waly, Namit Tanasseri, Rahul Rai

Overview of this book

This Learning Path helps you understand microservices architecture and leverage various services of Microsoft Azure Service Fabric to build, deploy, and maintain highly scalable enterprise-grade applications. You will learn to select an appropriate Azure backend structure for your solutions and work with its toolkit and managed apps to share your solutions with its service catalog. As you progress through the Learning Path, you will study Azure Cloud Services, Azure-managed Kubernetes, and Azure Container Services deployment techniques. To apply all that you’ve understood, you will build an end-to-end Azure system in scalable, decoupled tiers for an industrial bakery with three business domains. Toward the end of this Learning Path, you will build another scalable architecture using Azure Service Bus topics to send orders between decoupled business domains with scalable worker roles processing these orders. By the end of this Learning Path, you will be comfortable in using development, deployment, and maintenance processes to build robust cloud solutions on Azure. This Learning Path includes content from the following Packt products: • Learn Microsoft Azure by Mohamed Wali • Implementing Azure Solutions - Second Edition by Florian Klaffenbach, Oliver Michalski, Markus Klein • Microservices with Azure by Namit Tanasseri and Rahul Rai
Table of Contents (29 chapters)
Title Page
Copyright and Credits
About Packt
Contributors
Preface
Index

Chapter 17. Microservices Architecture Patterns Motivation

Use of patterns in architecting software solutions is not new to the industry. Design patterns and architectural patterns have been popular among application developers since 1990.

 

An architectural pattern can be defined as a verified and reusable solution to a commonly occurring problem in a software architecture. These patterns have numerous benefits; the most important of these is the ability to solve a recurring problem in a technology agnostic way. This level of abstraction increases the reusability of these patterns across different frameworks and programming paradigms.

Although the definition looks simple, learning the art of leveraging the patterns to define a software solution takes time and effort. Proper understanding of when and where to apply a pattern is the key to a good solution architecture. One way to gain this proficiency is to practice these patterns by designing and developing solutions with them. A good architecture...