Skip to main content

Azure Express Route (Day 8 of 31)

List of all posts from this series:

Short Description 
Express Routes is a private connection between your network (on-premises) and Azure Data Centers. When using this feature, you have a direct connection with Azure Data Centers, that is not shared with other users.
Because of this, a connection like this is not only fast but is also extremely secure. All traffic from clients that use this feature is spitted in two ‘channels’. One channel is used for traffic that hits Azure public services and the second one for traffic that hits Azure Compute resources. For each of this channels (Direct Layer 3 and Layer 3), there are different speed that are guaranteed.

Main Features 
Not over public Internet
Connection that are made over Express Route are going over a private connection that is not connected to the ‘known internet’.
More secure
Data that are send over the wire is more secure because the connection is over a private wire that cannot be accessed by public users.
Faster speed
The speeds that are offered over this connection are higher and bandwidth is dedicated to you.
Lower latency
Having a direct connection between you and Azure data center, reduce the latency that normally exists between two endpoints.
Bandwidth Available
There are different options of bandwidth that are available from 10 Mbps and goes to 10 Gbsp.
Connection Redundancy
Yes, we even have connection redundancy. For Layer 3 Connectivity (over Network Service Providers) can have a redundant connection (Active Active connection).
Easy migration from S2S and P2S
If you already use Site to Site of Point to Site and want to migrate to Express Route you will discover that migration can be made very easily.
Virtual networks
All virtual networks that are connected to the same Express Route can talk with each other. You will be able to connect virtual networks from different subscriptions as long as all of them are connected to the same express route.
All Virtual Networks connected to the same Express Route are part from the same routing domain and are not isolation between them. If you need isolation between than you will need to create different express routes for each of them.

Number of routes
In this moment there is a limit up to 4.000 routes for public peering and 3.000 routes for private peering.
S2S or P2S cannot be used in combination with Express Route
You cannot use both methods to connect to Azure infrastructure. If you use Express Route, that you will not be able to use for the same connection S2S or P2S.
Multiple Providers
Each Express Route can be associated with only one provider. Because of this you cannot associates the same Express Route with multiple providers.
VLANs to Azure Express Route
Layer 2 connectivity extensions to Azure is not supported.

Applicable Use Cases 
Below you can find 4 use cases when Express Route can be used with success:
Video Streaming
When you are using Azure Media Services for video streaming. In this case you will want to be able to stream live content to Azure Media Services all the time. In this case you need a stable connection between your studios and Azure Data Centers. In this case Express Route can be a good option for you.
Monitor and Support
If your infrastructure and services are on Azure, than you will need at monitor and support phase an Express Connection between you and Azure. Support team needs to be able to access your Azure services in a fast and reliable way.
Data Storage
When you are using Azure Storage or SQL Azure to store your data, you will also want a low latency and fast connection between your data and your on-premises infrastructure. Express Routes can be a solution for this problem.
Bank data privacy
If you are a bank and need a secure connection between on-premises sites and your Azure services thank Express Route can be a very good solution. Using it you will have a secure connection that cannot be accessed from internet.

Code Sample
The only same code that I could add are different part of Power Shell scripts that are used to configure and manage Express Route. To add more value to this section I added the deployment workflow diagram that can be found on MSDN.

Pros and Cons 

  • Fast
  • Secure
  • Reliable
  • Redundant 
  • Easy to connect


  • Not available worldwide yet

The pricing is based on outbound traffic. A part of outbound is free, included in subscription. Exceeding it, you will be charged with a small rate per GB. The included data transfer traffic may defer based on Exchange provider port speed that you prefer to use.
When you calculate the costs of using Express Route you should take into account:
Exchange Provider Port Speed
Outbound Data Transfer

Azure Express Route can be used with success when you want to connect your on-premises infrastructure with Azure services, having a reliable and fast connection. This is a feature that should be used by all enterprise users that host their backend on Microsoft Azure.


Popular posts from this blog

ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded

Today blog post will be started with the following error when running DB tests on the CI machine:
threw exception: System.InvalidOperationException: The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer' registered in the application config file for the ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application. See for more information. at System.Data.Entity.Infrastructure.DependencyResolution.ProviderServicesFactory.GetInstance(String providerTypeName, String providerInvariantName) This error happened only on the Continuous Integration machine. On the devs machines, everything has fine. The classic problem – on my machine it’s working. The CI has the following configuration:

TeamCity.NET 4.51EF 6.0.2VS2013
It seems that there …

How to check in AngularJS if a service was register or not

There are cases when you need to check in a service or a controller was register in AngularJS.
For example a valid use case is when you have the same implementation running on multiple application. In this case, you may want to intercept the HTTP provider and add a custom step there. This step don’t needs to run on all the application, only in the one where the service exist and register.
A solution for this case would be to have a flag in the configuration that specify this. In the core you would have an IF that would check the value of this flag.
Another solution is to check if a specific service was register in AngularJS or not. If the service was register that you would execute your own logic.
To check if a service was register or not in AngularJS container you need to call the ‘has’ method of ‘inhector’. It will return TRUE if the service was register.
if ($injector.has('httpInterceptorService')) { $httpProvider.interceptors.push('httpInterceptorService&#…

Fundamental Books of a Software Engineer (version 2018)

More then six years ago I wrote a blog post about fundamental books that any software engineer (developer) should read. Now it is an excellent time to update this list with new entries.

There are 5 different categories of books, that represent the recommended path. For example, you start with Coding books, after that, you read books about Programming, Design and so on.
There are some books about C++ that I recommend not because you shall know C++, only because the concepts that you can learn from it.


Writing solid codeCode completeProgramming Pearls, more programming pearls(recommended)[NEW] Introduction to Algorithms


Refactoring (M. Fowler)Pragmatic ProgrammerClean code[NEW] Software Engineering: A Practitioner's Approach[NEW] The Mythical Man-Month[NEW] The Art of Computer Programming


Applying UML and Patterns (GRASP patterns)C++ coding standards (Sutter, Alexandrescu)The C++ programming language (Stroustrup, Part IV)Object-oriented programming (Peter Coad)P…