A growing number of businesses require high availability for the systems they use. It makes no difference whether the service is used internally or publicized to the Internet.
In the previous months, I spent a lot of time using load balancers for a particular website or service. I will thus go through how to use Microsoft ARR to load balance your IIS servers today.
Let’s get started!!
What is Application Request Routing
I’d like to briefly clarify what Application Request Routing or ARR, is before we get started with the implementation.
The HTTP headers used by Application Request Routing, a proxy-based routing module, determine which content servers should receive HTTP requests.
ARR can be used to
- Increase application availability and scability.
- Better consume content server resources.
- Facilitate the launch of applications by managing pilots and A/B testing.
- Reduce management costs and provide shared hosts more chances.
Web Farm Infrastructure
Prior to beginning the implementation, it is crucial to invest some effort in creating the right infrastructure.
There are two types that the ARR can provide us with for the Web Farm infrastructure.
- Local Content Infrastructure
Each Web Server in a local content infrastructure retains the material on their own machine. The biggest drawback of this kind of infrastructure is that it makes it difficult to publish large websites with lots of files and data on the backend.
The primary drawback is how challenging it is to manually maintain content synchronization across each Web Server.
2. Share Network Infrastructure
In a shared network infrastructure, all web servers point to a shared location that hosts content as a file server.
Large sites benefit greatly from it, but there are certain drawbacks.
- For a busy web farm, network bandwidth can become a limiting concern.
- Several servers using the same files could cause file locking issues.
Both types of infrastructure have benefits and drawbacks. You can choose which is more effective for your web farm based on your needs.
3. Lab Infrastructure
Check out what I used for the load-balancing situation here:
- 2 x IIS as Webservers that host the Website
- 1 x Load Balancer to forward all the HTTP Requests in the Webservers.
You may see a diagram of the infrastructure of your web servers after the load balancer has been added here.
How to Configure the Load Balance Server with IIS and ARR
We must continue with the default installation of an IIS on the server that will serve as the load balancer in order to use the Application Request Routing (ARR).
Let’s move forward with the necessary chores in the correct order.
- Open the PowerShell as Administrator to do the IIS default installation
- Type the following command
Install-WindowsFeature -name Web-Server -IncludeManagementTools
- In the meantime you can download the ARR module from the Official Website of the ARR.
- The download link of the file located in the bottom of the page, in the Paragraph Download ARR 3.0
https://www.iis.net/downloads/microsoft/application-request-routing - Start the ARR installation which is straightforward.
How to set up and customize a web farm
Open IIS Manager after the installation is finished, then carry out the subsequent steps to build the Web Farm.
- You will see a new option, the Server Farm.
- Right-click in the Server Farm, and select Create Server Farm.
- Type the Name that you would like to use, and click Next.
- Add the IP Addresses of the Web Servers, and click Next.
- You can now examine the IP addresses and the status of our web servers by expanding the Web Farm and clicking on Servers.
- Making certain adjustments to the DNS Entries on our DNS Servers is crucial.
- All requests must be sent to the load balancer’s IP address because we have one.
- In order to point to the Load Balancer IP Address, we must construct a DNS A Entry in our DNS servers with the name of the website.
It’s done!
You now have a load balancer that will control all of the traffic to your website and provide a high-availability solution for your web servers at the same time.
Final Conclusion
It is essential that you preserve uptime and track the effectiveness of different operations as an IT organization. You may make sure that your procedures and websites function properly by making database load balancing a crucial component. If you are still unsure whether to use load balancing, stop debating it and just do it. More than you could ever imagine will be yours to gain.
We as hosting provider also provide load balancing features on our hosting environment. For more information about load balancing, please feel free to visit our site at https://www.hostforlife.eu.