In this post, once again we are going to look into the Azure entities. Yes, It is a Virtual Machine(VM) and correlated entities.
If your new to cloud computing, Please check out one of the earliest posts.
Before we dive into the topic, I like to give a quick introduction to Azure and other IAAS entities. In my previous post, I have mentioned the Azure and hierarchy levels of structure. I believe that gave the audience enough intro to the Azure services and way of organizing the entities.
Without further delay lets dive into the Azure VM. As we know, azure is one of the most competitor cloud hosting providers in the front runners. Other are AWS and Google Cloud Platform(GCP). The term VM will be different from each cloud provider, but you will have the same benefits of service with everyone. Hopefully, I will be writing those aspects in the upcoming posts.
What is a Virtual Machine?
Virtual machines are one of the computing entities in IAAS. It has been created on the virtualization technique on top of the physical server. In Azure, we have other different compute service like,
- App Service
- Serverless Computing
We will discuss this all computing service in a different post. Now we will deep dive into a virtual machine.
The virtual machine will act as a physical server for hosting solution, When you create a virtual machine in Azure cloud, along with you will get different supporting entities which will help us to establish the communication to the virtual machine. Also, those entities will provide us the provision to protect the virtual machine from outside exposure and easy access for subscriber usage with a secure protocol. The below are the entities which create together with Azure virtual machine,
- Network Interface
- Public IP
- Virtual Network
- Virtual Network Subnet
- Private IP
- Network Security Group
- Storage Account
Virtual Network is the primary factor for the communication from azure cloud to the on-premises network. Whenever you create any VM, it should be under the Virtual network. It is a protocol of the Azure virtual machine service. Each virtual network can have multiple Subnet, Application Gateway and Network Security Group associated with it. Don’t be confused, I will explain all these concepts in the post.
A subnet is the logical segregation of the resource on the network. When we create a virtual network, it will create a default subnet. Depends on our infrastructure classification, we can create more subnet in the virtual network. Each subnet will have a certain amount of address space, based on the address limit we can assign the resources to the subnet. However, each virtual network can have one or more subnet based on address space availability.
For Example, I have Virtual network with address space 250 address, you can create 2 subnets with SubnetA 125 addresses and SubnetB with 125 addresses
Network Interface is the primary entity for the communication to the virtual machine. When you start to create a virtual machine in the azure, it will create a network interface at the very first to keep on other elements to hold on top of it. If you look at the above diagram, the Network interface will be connecting the Public access and Virtual machine. Along with this, it will also hold on Network Security Group, Application Security Group, and Private IP. We can call a network interface is the Gateway of the VM.
Private IP is specific to the subnet address range, this IP is for internal usage on the network. When you have internal network connectivity with another virtual network. You connect both virtual networks using peering, you can use private IP to connect VM from other networks to active VM. On the other hand, we can use this IP for internal load balancing by splitting the traffic to different virtual machines.
Public IP will be associated with the network interface. This IP will be used to connect the VM via RDP and SSH. Also, this IP will be the endpoint for this VM to connect from an on-premises network to Azure Cloud. In this IP, we have static and dynamic IP’s. Dynamic will be changed when the VM restarts via the Azure portal. But Static IP will remain the same even we restart the VM via the Azure portal.
Wait I got a question, Why IP is changing when shutdown the VM? Yes, there is a reason. Let me explain here …
Actually there is a difference between Stop the VM from the machine and Stop the VM from the Azure portal. When you stop the VM from the machine, it is just shut down. You can reboot them at any moment through the portal. When you stop VM from the Azure portal, it is not shut down. Instead, it is deallocated from the physical server. When you deallocate the machine obviously it will remove the Public IP (Because that IP can be removed from the deallocated machine and allocate to new live VM).
The disk is the primary entity to boot a VM. The virtual machine will be booted on top of OS(OS will be residing in the disk). When you log in to the virtual, you will find 2 drives C and D drive, C will be having the OS and other installation kinds of stuff. D drive will be for temporary usage. If your VM deallocated and assigns back to you, all information resides in the D drive will be lost. Maybe in some cases, users want to store more information on the virtual machine. In that case, we can attach the new disk to the virtual machine. That will help you to keep the data safer without loss.
Generally, Azure will provide the disk in 2 types, Managed and Unmanaged Disk. The managed disk will be managed by the azure, they will be taking care of encryption and backup at regular intervals. But in case of Unmanaged disk, subscriber has to take complete ownership of disk. To be honest, Microsoft recommends using Managed Disks on your usage.
Depends on the realtime requirement and usage, we have different bandwidth disks available. Ultra SSD will be a topmost high-end disk for usage as well as pricing. It has a Throughput of 2000 MiB/s and Input/Output Operations Per Seconds(IOPS) will be 160,000. Usually, people will prefer this kind of disk for high rate transaction systems. The next level down disk is SSD Premium, this is preferred for Production Usage. It has a Throughput of 900 MiB/s and IOPS as 20,000. Finally, other types are Standard bandwidth. SSD Standard comes with a throughput of 750 MiB/2 and 6,000 IOPS. It will be preferred for Development and Testing activities. HDD Standard Legacy disk type, however, it is faster and compatible with backup and non-critical tasks. 500 MiB/s throughput with 2,000 IOPS.
From the Ultra SSD to Standard HDD, the price will be increasing on each type of disk. Again, it depends on the usage and realtime scenarios. On the other hand, you cannot use more disks to your VM. It has limitations depends on the size you opting while creating a VM.
Service Level Agreement(SLA) is the most important topic when we discuss Virtual machines. We should explain the different SLA providing by the Microsoft Azure. SLA is the promise, It is provided by Microsoft for Azure subscriptions. If your host the services with Azure, They will provide you a certain percentage of Uptime with different levels.
When you consider the Single Virtual machine, Azure providing 99.9% of SLA. There are other SLA even more, 99.95% and 99.99%. 99.95% for Availability Set. 99.99% for Availability Zones.
What is Availability Set?
The availability set is the technique that enables the user to keep the system in high availability in public. Let's assume, you have planned to create a 2 VM for your application hosting. when you create a virtual machine in Azure, there is a chance it will reside in single physical servers in Data Center Rack. That rack is associated with cooler, Power supply, networking, etc … If one of them accidentally goes down your system also will be in down. That will impact your business. To avoid this situation, you can host your VM’s into 2 different physical servers which is reside in different racks in the same data center. So even though one of the servers goes down, the application will remain running with the help of another VM which is hosted in another rack in the same data center. Azure provides 99.95% SLA for the Availability set.
What is the Availability Zone?
Availability Zone is an increased availability time for the application. It provides 99.99%. Most of the high critical applications will be preferred for this uptime. If you take the same scenario, you want to host the 2 VM for your application and prefer for the best uptime. Then you go for the availability zone. This will host your VM in different data centers in different Zone. Due to some local disasters data center goes down. Other data centers will remain to provide uptime for your application.
Finally, we reached the climax of the post. I believe you have learned something from this post. Thanks for reading along with the post. I will catch you soon with another interesting post within a couple of days. Feel free to share your feedback.