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

Azure execution models


Now we have acquired some basic knowledge about cloud computing, the question arises: Where do we go Each of these models can be used independently, but also in combination. from here?

I think that when we start talking about the Microsoft Azure platform, we should first talk about running applications in the cloud. For this, Microsoft Azure provides five deployment models (also known as Azure execution models), that are outlined in the following diagram:

The five execution models are:

  • Cloud services: Cloud services are the oldest part of the Azure platform and they have been available since its first preview (announced at the Microsoft Professional Developers Conference 2008). Cloud services are a PaaS offering from Azure and even though there are now some alternatives, they are still the leading solution. Cloud services are highly available, scalable, and multi-layered web apps hosted on a Windows Virtual Machine with an installed IIS.
  • Virtual machines (VM): This model is the IaaS offer from Azure. With VMs (based on Windows or Linux OS) you have the flexibility to realize your own workloads. In order to work with VMs as easily as possible, over 3,000 prefabricated images are available in the Azure Marketplace.
  • Batch: Azure Batch is a platform service for running large-scale parallel and highperformance computing (HPC) applications efficiently in the cloud.
  • Websites: With this model, you can quickly create and deploy your websites.
  • Mobile services: With this model, you can quickly create and host a backend for any mobile device.

Each of these models can be used independently, but also in combination.

As I mentioned earlier, there are hundreds of updates every year on the Azure platform and the Azure execution models have also been affected. The execution models' websites and mobile services are now out of date and have been replaced by the execution model, App Services (Azure App Services):

Note

Azure App Services is not just the replacement for the outdated execution models but much more.

Just look at the following diagram:

As you can see, the Azure App Services execution model currently consists of the following elements:

  • Web Apps: Web Apps is simply the new name for the Azure websites' execution model and does not really differ in its functionality from the previous component (by combining it with other app service elements, but there are extended features).
  • Mobile Apps: Mobile Apps is the new name for the Azure mobile services execution model and does not differ in its functionality from the previous component (by combining it with other app service elements, but there are more features).
  • Logic Apps: With Logic Apps, you can easily build and deploy powerful integration solutions by automating business processes or integrating your SaaS and enterprise applications. A visual designer is available for creating the necessary workflows. Logic Apps are the next evolutionary step in the Integration Services and the BizTalk services, and starting from 2018 are the only offer in this area.
  • API Apps: First of all, I must mention that the Azure API Apps are the only truly new component of this model. API Apps allows you to discover, host, manage, and market APIs and SaaS connectors in a modern, feature-rich, scalable, and globally available platform. API Apps is a complete solution for enterprise developers and system integrators, which extends the development of Web Apps (mobile applications) with numerous useful features.
  • Function Apps: This is not really a component of the Azure App Services. Azure Functions uses the Azure App Services environment only to handle the functionality.
  • Container Apps: This is not really a component of the Azure App Services. Azure Container Services uses the Azure App Services environment only to handle the functionality.
  • Microsoft PowerApps: This is not really a component of the Azure App Services. Microsoft PowerApps is a SaaS variant of the Azure App Services and uses the Azure App Services and the Azure App Services environment only to handle the functionality.

A further change to the area of Azure execution models is the addition of another model, Azure Service Fabric (also known as Azure Microservice Architecture), in 2016:

With Azure Service Fabric, you can focus on building applications and business logic, and let the Azure platform solve all other problems by analyzing reliability, scalability, management, and latency.

Note

More details about Azure Service Fabric and Azure App Services can be found in the next chapter.