Book Image

Implementing Azure Cloud Design Patterns

By : Oliver Michalski, Stefano Demiliani
Book Image

Implementing Azure Cloud Design Patterns

By: Oliver Michalski, Stefano Demiliani

Overview of this book

A well designed cloud infrastructure covers factors such as consistency, maintenance, simplified administration and development, and reusability. Hence it is important to choose the right architectural pattern as it has a huge impact on the quality of cloud-hosted services. This book covers all Azure design patterns and functionalities to help you build your cloud infrastructure so it fits your system requirements. This book initially covers design patterns that are focused on factors such as availability and data management/monitoring. Then the focus shifts to complex design patterns such as multitasking, improving scalability, valet keys, and so on, with practical use cases. The book also supplies best practices to improve the security and performance of your cloud. By the end of this book, you will thoroughly be familiar with the different design and architectural patterns available with Windows Azure and capable of choosing the best pattern for your system.
Table of Contents (16 chapters)
Title Page
Dedication
Packt Upsell
Contributors
Preface
Index

PaaS II (Azure Service Fabric, also known as Azure microservices)


Azure Service Fabric is a PaaS offer for distributed systems that simplifies the packing, provisioning, and management of scalable and reliable microservices. Before we start with a deep analysis, we should deal with the microservice architecture in general.

Let's take a look at the first diagram:

Core elements of this architecture are the services (or microservices). The services are defined by the following characteristics:

  • A service is small, which means a service offers only one function in contrast to the application with many functions.
  • A service is independent. This has several meanings for our work:
    • Each service has a separate code base, and this without the need to share the same technology stack, libraries, or frameworks. You can use, for example, C# for the first, Java for the second, and a JavaScript framework for the third service
    • Each service can be managed or deployed from a separate development team or a business...