Mastering the Foundations of Microsoft Azure: Essential Insights for Success part 1
Tags: cloud, azure, beginners, tutorial
Published: 2023-05-13 14:19:40

**Microsoft Azure**, often referred to as **Azure** is a cloud computing platform operated by Microsoft that provides access, management, and development of applications and services via globally-distributed data centres. I guess you know this already. It is the definition given by our well known "WikiPedia". But if you know what Microsoft Azure is all about, why should you read this article? Hugh, read! But to make things easier, let me give you an outline of the article. 
First things first: let me present myself. I am Kalvin and I will guide you through the whole reading. Yeah, you can count on me.

## 1. AZURE FUNDAMENTALS

Five fundamental concepts in Azure are **regions**, **availability zones**, **region pairs**, **resources** and **resource groups**. Let me define each of these concepts for you.

### A. Regions
An Azure region is a set of data centres, deployed within a latency-defined perimeter and connected through Azure’s own dedicated regional low-latency network. Two points to keep in this definition are:

 ❑Each region is in a specific geographic location.

 ❑Each geographic location has a cluster of data centres.

**<-- Dig deeper -->** 
Let's talk about **Azure geography**. An Azure geography is a segmented market containing one or more regions, that preserves data residency and compliance boundaries. This enables customers with specific data-residency and compliance needs to keep their data and applications in specific locations. 
**Tip:** Use [Azurespeed](Azurespeed.com) to identify the closest datacenter to you based on average latency per millisecond
![Azure regions](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7zkkfbqt8sx4tq69lpf6.jpeg)

**Note:** There exist special government regions like the US Gov Virginia and much more.

### B. Availability zones
Azure Availability Zones are unique physical locations within an Azure region made up of one or more data centres equipped with independent power, cooling and networking.

Note that a zone can have more than one data centres but there must be a minimum of 3 zones in a single region also
while one zone can contain more than one data centre, no two zones share same data centre. This said, you may wonder why grouping data centres into availability zones if regions exist already? Three points:
❑ High availability.
❑ High redundancy(replication of your workload and protection against downtime due to data centre failure and resiliency within a region).
❑ High networking and connectivity.


![Availability zone](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wzvmjo76meomhfge0zzj.jpeg)

### C. Region Pairs
An Azure Region Pair is a relationship between 2 Azure Regions within the same geographic region for disaster recovery purposes. But why was this concept created? I have a question for you: What happens when there is a regional disaster or catastrophic event like hurricane, electricity black, civil unrest out likely to affect all Availability zones in a region? The magic answer Microsoft Azure has to this question is offering to users the ability to replicate their workload in two regions. If one goes down, you are able to access workload in the other region. This is called Region pairing. 

**Note:**
❑ Although replicating in another region, it is still within same geography except for Brazil South- South Central US.
❑ If both regions are affected, Azure will prioritise one before the other.

### D. Resources
In Azure, a resource is an entity managed by Azure. Virtual machines, virtual networks, and storage accounts are all examples of Azure resources. Simply put, resources represents the services offered by Azure.

### E. Resource group
A resource group is a logical container hosting your resources deployed in Azure. Just take it like this: you are using different Azure resources. Hmmmm, it may be a virtual machine with additional disk storage...... You want to deploy this. What you should do is to create a kind of container to host these resources. You can also add these resources to an existing resource group. Is it clear enough? I hope so :)

**Note:**
❑ A resource can only be in one resource group at a time and resource groups cannot be nested.
❑ Resource group gives order to your portal. You can assign resources into resource groups based on type, lifecycle, departments etc.

Knowing these five concepts will definitely make the rest of this article more digest to read. Hey, do you know what? Let's practice a little bit. But before let me present the the tool we will be using.

## RESOURCE MANAGER
Azure **Resource Manager** is the deployment and management service for Azure. It provides a management layer that enables you to create, update, and delete resources in your Azure account. You use management features, like access control, locks, and tags, to secure and organise your resources after deployment.

**<-- Recap -->**
❑ Users can create resources via Azure portal, PowerShell, CLI and ARM templates.
❑ All these interfaces connects to the resource manager.
❑ Resource manager is the management layer for all resources and resource groups.

But who can manage your different resources? Good question. Do you know what is an Azure subscription? It is simply a subscription that provides an authenticated and authorised access to azure resources. Voila Voila!!!! But this doesn't give an answer to the question right? The answer is **Management group.** But what is it all about?

**Management groups** are containers that help you manage access, policy, and compliance across multiple subscriptions. Create these containers to build an effective and efficient hierarchy that can be used with Azure Policy and Azure Role Based Access Controls. So yeah, the main aim of this is to ensure security and control access.

**Key points:**

❑ Management groups provide hierarchy for governance and structure to enable one manage access, policies and compliance for many subscriptions.
❑ A management group can support up to 6 levels of depth.
❑ The root management group cannot be deleted or moved unlike other management groups.


![Management group](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/csh6n1covaa402x4hyuc.png)

## 2. AZURE COMPUTE SERVICES
Azure compute is an on-demand computing service that provides disks, processors, memory, networking and OS. These include Azure Virtual Machines (VMs), Azure Container Service, Azure App Services, Azure Batch and Azure ServiceFabric. Let's talk about some Azure compute services.

### a. Virtual Machines(VMs)
A VM is a virtual emulation of your physical computer. It is an ideal choice when in need of total control over the OS and ability to run custom software capable of meeting your needs.
But how do you create a VM in Azure?

**Prerequisites:**
- Create a Microsoft Azure free account. Why should the account be free? Because if you forget a resource you will be definitely billed for it. So hmmm, just pick a free account for a start.

**Step 1:** Search VM in the search bar

![VM search](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lg90rdsr8vxp4n0nwt57.png)
**Step 2:** Open VM creation form

![Form filling](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cuvy6eiafwcx2rk1dukn.png)
**Step 3:** Review and create

![VM creation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r9x3yo303mi5vhcy9h4n.png)

**<-- Dig deeper -->** 
To manage VMs further, you can also use 

❑ **Virtual Machine scale set** which allows you scale group of identical machines created from same image to meet your work demands in a number of mins. To create a virtual machine scale set, follow the steps mentioned for the VM creation. Search for "scale set" in the search bar.

❑ **Virtual Machine availability sets** designed to promote resiliency and high availability. It groups VMs into update domain and fault domain. **Update domain** groups VM to be updated at the same time. AN update group is given 30 minutes to recover before the next update domain starts. **Fault domain** groups VM sharing same power and network switch. Protects against power and network failure. 

**Note:**
Availability set is free, you only pay for instances created.

### b. Containers
Containers are packages of software that contain all of the necessary elements to run in any environment. In this way, containers virtualise the operating system and run anywhere, from a private data centre to the public cloud or even on a developer's personal laptop. Keep these points in your mind about containers:

❑ While VM’s are a good way of cutting cost with physical infrastructure, it is limited to one OS per virtual machine. Containers allow you run multiple instances without need of a full guest OS.
❑ Contains application codes, libraries and dependencies so they can run anywhere.
❑ Good for legacy applications,
❑Created from container images, which are templates that contain the system, applications and environment for the container.

Have we talked of update domain and fault domain already? No? Oh, hmmm. Let's take a break and come back. In the part two of this article, we are going to discuss these different domains but not only. We will discover storage services, azure analytics and azure database. 

If you found this article helpful please like, share and follow