Tag Archives: Performance

Azure Accelerated Networking

Early January Microsoft announced general availability of Azure Accelerated Networking (AN). It is now available for all the regions. This will improve the VM’s performance as its offloading software-define networking from CPU to FPGA-based SmartNICs. To make it more interesting, it can provide up to 30Gbps networking throughput without any additional charge. 

How it works? 

If you worked with Hyper-V clusters, System Center virtualization manager (SCVMM) you may probably aware how virtual switches works. It works as a middle man between virtual machines and physical network to provide greater control over “Communication”. It allows to move workloads between physical hosts, control traffic and isolation using policies, flexible hardware upgrades etc. Azure also uses virtual switches similar to hyper-v. 

Image source: https://docs.microsoft.com/en-us/azure/virtual-network/media/create-vm-accelerated-networking/accelerated-networking.png 
You also can read more about it using this link
As you can see in the above image without accelerate networking, traffic always need to pass through the virtual switch and physical hosts before it reaches the physical switch. When Accelerated networking in place, network traffic is directly handled by physical switch by bypassing host and the virtual switch. All the policies you used with virtual switches now can offload to hardware. As it removes the dependency of host to process the packet, we will be able to see lower latency. If there is no AN, Virtual switch process all the policies applying to network traffic. Since it is software based of cause it is need to handle by CPU. But the performance of it depend on the CPU utilization and number of policies. With AN, policies will no longer rely on CPU and it handle by the dedicated hardware. This will reduce jitter. 
There are few limitations applying to this feature. 
1. Can’t use with existing VMs – In order to use AN features, Virtual machines must be created with Accelerated Networking enabled. This feature cannot enable in existing VMs. 
2. A NIC with AN cannot attached to an existing VM –  A NIC with AN enabled only can attached during the VM creation process. It is not possible to attach it to existing VM. 
3. Azure Resource Manager only – This feature only can use with ARM. It can’t use in classic portal. 
Supported VM Instances 
Azure Accelerated Networking is supported on D/DSv2, D/DSv3, E/ESv3, F/Fs/Fsv2, and Ms/Mms Azure VM series. 

Supported Operating Systems
Azure Accelerated Networking is supported on both Linux and Windows operating systems such as, 
Windows Server 2016
Windows Server 2012R2
Ubuntu 16.04
Red Hat Enterprise Linux 7.4
CentOS 7.4
SUSE Linux Enterprise Server 12 SP3
This marks the end of this blog post. Hope this was useful. In next post I will demonstrate how to create VM with AN feature. If you have any questions feel free to contact me on rebeladm@live.com also follow me on twitter @rebeladm to get updates about new blog posts.

Azure DNS

Azure DNS is now fully supported in the Azure Portal. Even it’s remain on preview mode it’s not too soon to start your testing before introduce to the production environment.

In your local AD infrastructure, AD DNS service is taken care of all your DNS entries. It can be A records, mail server records (MX), CNAME records, service records etc. the same methodology apply for the public domain names as well. For example let’s assume there is public domain name called contoso.com. There is web server which host contos.com web site and its ip address is Also there is mail server running on So I need A record for the web site and MX record for mail service. But how public internet know these values? I need DNS server to serve DNS enquires from internet.

There is few way to do this. Domain registrar allow to use their own DNS servers to setup your DNS records. Some do this as free service and some provide it as paid service. Also if you need you can setup your own DNS server and point public domain names to it.

Before choosing one of the above options it’s important to consider,

1)    Availability of the DNS servers – what if Primary DNS server go down? How to handle such situation and keep the organization services up and running?
2)    Performance – How to handle the DNS queries and provide faster response time?
3)    Fast DNS Updates – Normally if you add new DNS record or update existing record it can take 4-48 hours to fully resolve through internet.  But this can make impact based on the organization requirements. 

Why Azure DNS?

With Azure DNS, you can host your DNS domains in Azure. Manage your DNS records using the same credentials and billing and support contract as your other Azure services. Seamlessly integrate Azure-based services with corresponding DNS updates, streamlining the end-to-end deployment process.

Azure DNS uses a global network of name servers to provide fast responses to DNS queries. Because we use Anycast networking, DNS queries automatically route to the closest name servers for the best possible performance.

The Microsoft global network of name servers has the scale and redundancy to ensure ultra-high availability for your domains. With Azure DNS, you can be sure that your DNS will always be available.

When you add a new DNS record, the Azure DNS name servers are updated in just a few seconds, so you don’t have to wait long before that DNS record can be used.

Source: https://azure.microsoft.com/en-gb/services/dns/

Now theory is over, let’s see it in action.

In my demo, I am going to use one of my domain therebeladmin.com and point it to Azure DNS. Then going to create A record to point it to my web server.

1)    Log in to Azure Portal as administrator (https://portal.azure.com)
2)    Go to New > type DNS. Then from the search result click on “DNS Zone


3)    Then it will open up the service description window. Click on “Create” to start


4)    Then in next window, provide the domain name as the name field, then you need to select the subscription. Also in page you can select which resource group it belongs to.  It gives opportunity to select the location this service should locate primarily. Once its completed click on “Create


5)    Once service is successfully commissioned it will appear in the portal home. Or else if you go to “All Resources” you will be able to find the DNS service just deployed. Click on it to start configurations.



6)    In the page it shows the detail of the configurations. To point therebeladmin.com to Azure DNS, I need to point name servers to it from my domain registrar end.


7)    My web server is running on so I need to create A record for that. To do that click on “Record Set” icon


8)    Now in new window i am creating A record to point the website. Once done changes click on OK to create the record.


9)    I am also creating CNAME record for WWW. So if someone type www.therebeladmin.com in the web browser it will resolve correctly. Also MX record too.


10)    Now I can see the new records I added in the web page.


Next step is to go to domain registrar and update name server records so it’s pointed to Azure DNS.


Using a public too I check the dns status and now I can see Azure DNS records are resolving correctly.



If you have any questions feel free to contact me on rebeladm@live.com