Azure Relay Service – 70-535 Exam Prep

Here’s some brand new content from the SoftwareArchitect.ca YouTube channel that you might find interesting.

Azure Relay Service is a topic on the 70-535 exam, and in this video I talk about it. We discuss the differences between WCF Relay and Hybrid Connection.

WCF Relay used to be called Service Bus Relay. And Hybrid Connection used to be called Biztalk Services.

This is an extraction from my course on 70-535 Architecting Microsoft Azure Solutions. You can get the course from the link below.

Here’s a link to my Udemy course on the Azure Architecture exam 70-535.
https://www.udemy.com/70534-azure/?couponCode=AZUREYT12

Quickstart Series: Windows Web App in Azure

In this video, I show you how to create a Windows Web App in Microsoft Azure. Windows Web App. We go through the Azure Portal, and see how form fields get filled in. If you can’t afford to create resources in Azure, but want to see how it’s done in 2018, this is the video for you.

Or you can see the video directly on YouTube.

Transcript:

Alright, so let’s start off by talking about the Azure Relay Service. The Azure Relay Service allows you to securely expose services that reside inside your corporate network without having to modify or open a firewall connection. Now that sounds like magic. Right? To be able to have stuff inside your network that can be accessed from outside your network without having to talk to your security team and to talk to your IT department and get that all set up, but let’s talk about how that works.

This is a kind of an older diagram. I modified it to show web apps and web jobs but it’s still true. You’ve got an Azure Relay Service in the middle, and you got some type of cloud app or some type of mobile app or other type of client that needs to access a Windows Communication Foundation WCF service that’s running inside your network. The way that it does that is by using Azure Relay Service as a proxy. So instead of trying to connect to your WCF service directly by its endpoint name the relay service creates a special endpoint for that and then you can access the relay service which is running in Azure. The way that that works is that the WCF service is actually the one that initiates the connection.

This is exactly how it works. So you set up Azure Relay Service within Azure. Then there’s this piece of software called Hybrid Connection Manager that you install inside your network. This is the Trojan Horse or the spy that is going to set this up. I don’t mean it to sound very nefarious but basically you’re installing a piece of software in your network and that Hybrid Connection Manager is going to connect to the Azure Relay Service using an outbound connection. So this is going to open up two way communication between the software inside your network and relay service running outside your network. It’s a bi-directional socket. And so this way traffic can travel from Azure over the relay service inside your network using this open connection that’s been established.

This specific example with Windows Communication Foundation is now called a WCF Relay. So there’s basically two types of hybrid connections. One is a WCF Relay specifically designed for Windows Communication Foundation and .NET Framework. This used to be called Service Bus Relay and in previous versions of this course, and in other courses, we’ve talked about Service Bus Relay. But now it’s called WCF Relay.

WCF Relay allows external connections to WCF services specifically and also .NET Framework. It does remap the WCF endpoints into relay endpoints. This specific thing cannot be used with other technologies. It’s specifically designed to work with WCF.

There’s a second type of relay service called a Hybrid Connection. Now this was basically borrowed from BizTalk services, and so again in a previous version of this course we’ve talked about BizTalk Services being different than the relay service. But now BizTalk Services has been folded into the relay service and is called Hybrid Connection.

This is what we’ve been talking about using standard web sockets for connections. It allows all source of applications to connect because it uses web sockets that’s an industry standard framework. And so you can use .NET Core, JavaScript, NodeJS, or basically any application that can communicate over web sockets. It also supports traditional, remote procedure called RPC programming models. RPC programming models is when you make a call asynchronously and then the return result calls back. Okay, so that programming model is supported using hybrid connections but not using the WCF service.

Now there’s a fairly hefty limit of five billion messages per month on relay service and hybrid connections. If you exceed that I think Microsoft wants to talk to you. Coming back to this diagram, because a picture is worth a thousand words. You have your relay service running in the middle on the on-premises size you have a Hybrid Connection Manager, the two of those things talk. And then your cloud applications or your other applications that can get into the cloud can use that WCF service from outside your firewall.