Looking for a website that is free of service hiccups?
Then, the best solution is to make your server highly available. Luckily, Linode comes with NodeBalancer service.
These NodeBalancers help to distribute website traffic to many servers and avoid downtime. But, it involves configuration that depends on the type of your website.
At Bobcares, we help Linode customers to setup NodeBalancers as part of our Managed Cloud Services.
Today, we’ll discuss the top merits of NodeBalancers along with the common usability issues.
Why to use Linode NodeBalancers?
Before proceeding further, we’ll first take a look on why we need Linode NodeBalancers.
Imagine that you own a website having considerable hits. And, in near future you are planning on a marketing campaign or simply a knock-out sale on the website. That means, your website will have more visitors and Linode server need to handle more web port traffic.
If there are no proper mechanisms to handle this additional traffic, the web server will collapse. That’s where NodeBalancers help.
NodeBalancer will sit in front of your web servers and distribute traffic between all of your web servers. In this method, visitors will be hitting the NodeBalancer first. And, users would not even know the system that runs in the back-end.
Merits of NodeBalancers
From our experience in managing Linode servers, our Dedicated Engineers see the major benefits of Linode NodeBalancers as :
1. Communication via private IP address
Although the NodeBalancer listens on a public IP address, all the communication with the Linode servers happens using private IP address. In Linode, private IP traffic is free of cost. Thus, it helps to save money in bandwidth.
2. Adds to security
Similarly, having a NodeBalancer adds to server security. Here, the web servers do not have to be directly exposed to the Internet. They just have to communicate to the NodeBalancers. Thus, attackers cannot directly target your web applications and initiate harm for the websites.
3. Scale up/down on the go
Again, NodeBalancers allows to add and remove back-end web servers on the go. When your site have more visitors, we can simply add new Linode servers to handle the load.
Or, if there is a need to scale down, we can simple remove Linode web servers. Unlike in normal server setup, this will not affect the working of website.
Usability problems with NodeBalancers
So far we saw the reasons to use NodeBalancers. But, we often see Linode customers reporting problems after enabling the NodeBalancers. We’ll now take a look at them.
1. Hosting SSL websites
A major area of usability issues happens with the SSL websites. Form our expertise in Linode servers, our Support Engineers see that this happens mainly due to bad configuration of NodeBalancer.
Linode NodeBalancers support handling secure traffic in 2 ways. The secure communication can either end at the NodeBalancer or at the final Linode web server.
Often Linode customers report that WordPress websites do not show up correctly with NodeBalancer. Here, our Support Engineers validate the NodeBalancer SSL certificates first. Also, we tweak the WordPress configuration file to use HTTPS when the “HTTP_X_FORWARDED_PROTO” is set.
NodeBalancers can only handle one SSL certificate on them. As a result, for customers hosting multiple SSL certificates on a Nodebalancer, our Cloud Engineers recommend the use of solutions like HAProxy.
2. Redundancy for NodeBalancer
Unfortunately, NodeBalancer do not support floating IP address. In an attempt to optimize, some Linode customers may request for backup arrangement for NodeBalancer too.
But, this is not necessary as the NodeBalancer by default has a backup mechanism internally. If for some reason NodeBalancer goes down, it automatically do a switch over to backup system and run the NodeBalancer from the same IP address.
3. Getting real client IP
Recently, a Linode customer reported the problem that all his website requests show up as if originated from the NodeBalancer IP address. He actually wanted to track the IP address of the original visitor.
On further checking, our Dedicated Engineers found that in his setup, the SSL connection was terminating at the Linode web server. Here, the connection hits the NodeBalancer first, which then forwards to back-end nodes. So, that will always show the NodeBalancer IP.
To fix, we had to suggest the customer to use the session variable to grab the visitor details.
Another workaround here is to change the NodeBalancer settings to end the SSL connection at NodeBalancer. As a result, NodeBalancer would add the “x-forwarded-for header” that contains the client IP address.
4. No SSH access
Last, but not the least, you do not have SSH access to the NodeBalancer. This can create usability issues if you would like to specifically check the server logs. But, most of the management can be easily done from the Linode Manager itself.
[Trouble in choosing the configuration options in Linode NodeBalancer? We can help you out.]
Conclusion
Linode NodeBalancer really helps to avoid single point failure of your apps hosted in Linode. Today, we saw the benefits of NodeBalancer and how our Cloud Engineers solve the usability problems in Linode NodeBalancer.
0 Comments