Microsoft Azure Fundamentals. Core Architectural Components of Azure
Tags: devops, aws, learning, database
Published: 2024-06-07 08:29:50

Microsoft Azure, most times called Azure is a cloud computing platform developed by Microsoft. It has a wide range of capabilities, including software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS). Just like other cloud computing platforms Microsoft Azure supports a wide range of services including computing, analytics, storage, and networking. 
This discourse focuses on the core architectural components of Microsoft Azure to unravel the potential resource capabilities inherent in cloud computing. 

**Regions**
The physical architecture of Azure starts with its various datacentres called regions. These regions are in different geographical locations scattered across the world, currently its datacentres are over sixty. These regions(datacentres) are structured in such a way that it allows for customers to deploy services closer to their users for improved performance and compliance, examples of these regions include East USA, West Europe, Southeast Asia etc.
Azure regions are some cases paired with another region within the same geography (such as US, Europe, or Asia) at least 300 miles away. This approach allows for the replication of resources across a geography that helps reduce the likelihood of interruptions because of events such as natural disasters, civil unrest, power outages, or physical network outages that affect an entire region. For example, if a region in a pair was affected by a natural disaster, services would automatically fail over to the other region in its region pair.

**Availability Zones**
The regions are in turn made up of physically separate locations known as availability zones, created to distribute resources across multiple zones to ensure high availability and resilience as each of the zones have its own independent power source, network, and cooling. 
The design of the availability zones is to help protect applications and data from datacentre failures and to ensure high availability through redundancy. It must be noted that each region contains a minimum of three separate availability zones to ensure resiliency.

**Resource Groups**
As we go further into the architecture of Azure, we discover that it also has a logical container which houses all the resources for a predefined project, this container is referred to as Resource Groups. The resource groups make it easier to manage costs as it presents a simplified way of resource management and deployment since group resources can be arranged according to application, environment, or department. for example, a resource group for a web application could include the application service, database, and storage accounts. Also of note is the fact that resources within a defined group in Azure share the same lifecycle and management.

**Azure Subscriptions**
In Azure, a unit of management, billing, and scale is considered to be a subscription just the same way resource groups are a way to logically organize resources, subscriptions allow you to logically organize your resource groups and facilitate billing. In order to use Azure you are require to own a subscription. A subscription lets you have authenticated and authorized access to Azure products and services. It also allows you to provision resources. An Azure subscription links to an Azure account. An account can have multiple subscriptions, but it is only required to have one. 

**Azure Resource Manager**
Lastly in the Azure architecture framework is the Azure Resource Manager (ARM). This is the part that is responsible for the deployment and management of service for Azure. In other words, resources are managed and organized in Resource Groups through ARM. Some of its key features include role-based access control (RBAC), tagging for resource organization, audit logs for tracking changes. 
Because of its place in the Azure structure, we discover that ARM provides a unified way to manage Azure resources, it allows users to create, update, and delete resources as a group and it also uses templates to automate deployment of resources as a result helps to deliver the following benefits 1. provides a consistent management layer two. facilitates automation and orchestration of resources.

In conclusion, Azure supports a wide range of services that ensures high availability, scalability, and efficient resource management like programming languages, third party software and systems, tools, and frameworks including Microsoft specific software and tools.