Book Image

Azure for Architects. - Second Edition

By : Ritesh Modi
Book Image

Azure for Architects. - Second Edition

By: Ritesh Modi

Overview of this book

Over the years, Azure cloud services have grown quickly, and the number of organizations adopting Azure for their cloud services is also gradually increasing. Leading industry giants are finding that Azure fulfills their extensive cloud requirements. Azure for Architects – Second Edition starts with an extensive introduction to major designing and architectural aspects available with Azure. These design patterns focus on different aspects of the cloud, such as high availability, security, and scalability. Gradually, we move on to other aspects, such as ARM template modular design and deployments. This is the age of microservices and serverless is the preferred implementation mechanism for them. This book covers the entire serverless stack available in Azure including Azure Event Grid, Azure Functions, and Azure Logic Apps. New and advance features like durable functions are discussed at length. A complete integration solution using these serverless technologies is also part of the book. A complete chapter discusses all possible options related to containers in Azure including Azure Kubernetes services, Azure Container Instances and Registry, and Web App for Containers. Data management and integration is an integral part of this book that discusses options for implementing OLTP solutions using Azure SQL, Big Data solutions using Azure Data factory and Data Lake Storage, eventing solutions using stream analytics, and Event Hubs. This book will provide insights into Azure governance features such as tagging, RBAC, cost management, and policies. By the end of this book, you will be able to develop a full-?edged Azure cloud solution that is Enterprise class and future-ready.
Table of Contents (17 chapters)

Cloud computing

Today, cloud computing is one of the most promising upcoming technologies and enterprise—no matter how big or small, almost every companies and organization has adopted it as a part of their IT strategy. It is difficult these days to have any meaningful conversation about an IT strategy without including cloud computing in the overall solution discussions.

Cloud computing, or simply the cloud in layman terms, refers to the availability of resources on the internet. These resources are made available to users on the internet as services. For example, storage is available on demand through the internet to users for them to store their files, documents, and so on. Here, storage is a service provided by a cloud provider.

A cloud provider is an enterprise or consortium of companies that provide cloud services to other enterprises and consumers. They host and manage the services on behalf of the user. They are responsible for enabling and maintaining the health of services. Typically, there are large data centers across the globe opened by cloud providers to cater to IT demands from users.

Cloud resources consist of hosting services on on-demand infrastructure, such as compute, network, and storage facilities. This flavor of the cloud is known as Infrastructure as a Service.

Advantages of cloud computing

Cloud adoption is at an all-time high and is further growing because of the advantages it provides. Some of these advantages are mentioned here:

  • Pay-as-you-go: Customers do not need to purchase hardware and software for cloud resources. There is no capital expenditure for using cloud resource. Customers just pay for the resource for the time they are used.
  • Global access: Cloud resources are available globally via the internet. Customers can access their resources on demand from any where.
  • Unlimited resources: The scale of the cloud is unlimited. Customers can provision as many resources as they want, without any constraints. This is also known as unlimited scalability.
  • Managed Services: The cloud provides numerous services that are managed by the cloud provider for customers. This takes away the technical and financial burdens from customers.

Deployment Patterns in Azure

There are three different deployment patterns available on Azure. They are

  • Infrastructure as a Service (also popularly known as IaaS)
  • Platform as a Service (also popularly known as PaaS)
  • Software as a Service (also popularly known as SaaS)

The difference between these three deployment patterns is the level of control exercised by customer viz-a-viz Azure. The next image shows different levels of control within each of these deployment patterns.

Cloud services- IaaS, PaaS, SaaS

It is clear from the previous image that customers have more control using IaaS deployments and it keeps reducing from PaaS to SaaS deployments.

Infrastructure as a Service

IaaS is a deployment types in which customer provision their own infrastructure on Azure. Azure provides infrastructure resources and customers can provision them on demand. Customer are responsible for maintaining and governing their infrastructure. Azure will ensure to maintain the physical infrastructure on which these virtual infrastructure resources are hosted. Under this approach, customers needs active management and operations on the Azure environment.

Platform as a Service

PaaS takes away infrastructure deployments and control from customer. This is a higher level abstraction compared to infrastructure as service. In this approach, customers bring their application, code and data and deploy them on Azure provided platform. These platform are managed and governed by Azure and customer are responsible solely for their application. Customers perform activities related to their applications deployment only. This model provides faster and easier options for deployment of applications compared to infrastructure as a service.

Software as a Service

SaaS is a level higher abstraction compared to PaaS. In this approach, software and its services are available for end user consumption. Customer bring only their data into these services. Customers do not have any control over these services.