Creating complex services in Azure with Content switching
The telephony market has evolved from early beginnings where a switchboard operator had to manually connect subscribers together to today’s software driven exchanges which can offer a variety of services. Conferencing, “follow me”, call forwarding, and many premium rate services are now commonplace. Internet access has evolved similarly from the early days of dialup BBS, to the first browsers to the huge diversity of sites and services we see today.
For anyone designing an online presence, it’s remarkably easy to spin up new services in the Azure cloud,, or to leverage the plethora of web offerings, including products such as Microsoft Dynamics CRM (AX, GP and Nav), Microsoft Dynamics ERP, Microsoft SharePoint, WordPress, Umbraco and DNN (DotNetNuke). Depending on the architecture of the service these could exist in one Azure region, in multiple Azure regions or even external to Azure. This wide choice of software elements can help shorten time to market of new services and provides choice and flexibility in the face of changing business needs. However, the same type of intelligent switching as found in carrier networks is required to ensure simplicity for the users, who should not have to be aware of the complexity behind the URL they type.
KEMP’s LoadMaster provides the intelligence needed to process an HTTP request when a user “dials” a service. In the same way that a phone number provides the programming information for a telephony network to ensure correct routing, the contents of an HTTP request can be used to direct traffic within and across networks. This is particularly important in the Azure cloud when multiple services need to be accessed as only one IP address is exposed for an Azure cloud service.
With its ability to manipulate URLs and direct traffic based on the content of a request, a LoadMaster placed behind that single IP can process Layer 7 traffic and direct requests to the desired service. The intelligence to make the switching decisions is based on regular expressions which define how to examine source IP, headers and contents of a request. This allows for sophisticated rules to be created. For example, a request to this one IP address could direct one user, perhaps a regular customer, to a set of servers configured to provide optimized response while a different user, perhaps accessing the site from a mobile device, is directed to content tailored to that device. From the user perspective, this all happens seamlessly, just like hitting “dial” on a phone.