Virtual IP (VIP) addresses have been the right tools for many environments to meet availability, workload, and disaster recovery requirements. But we may not be able to do this for every scenario.
Virtual IP (VIP) addresses have been the right tools for many environments to meet availability, workload, and disaster recovery requirements. But we may not be able to do this for every scenario. Last year I mentioned VIPs in regards to delegating the permission to take a VIP node up or down, but this year, one of the challenges I have is to build this into applications. These applications can be more than just a simple Web service on a number of servers that hit the same backend database.
The issue I’m running into is that application vendors are saying that they don’t support VIPs or haven’t tested them. While the explanations of their position are usually less than satisfactory, one explanation that I received that was acceptable had to do with how the application sequences transactions. In the case of a network-based appliance managing a VIP for a true round-robin distribution, the sequencing on the two destination servers was at risk. Most switches that support a VIP can also support a policy of primary system or secondary system, so that traffic goes to the primary system unless it is unavailable or fails the validation. Either way, issues can arise when we start putting applications behind a VIP that network teams and server administrators may not have much visibility into. These can be support issues or technical issues.The other end of a VIP is how DNS is used. Frequently, I use a VIP with a host (A) and alias (CNAME) records. Figure A shows this approach: Figure A
In this fashion, the clients see and use only the CNAME -– webservice.rwvdev.tld -– and don’t know anything about the VIP address. This enables a quick redirection of the workload if the VIP becomes an issue by changing the CNAME to go directly to a host’s fully qualified domain name. This configuration has also brought up some issues related to support and technical functionality of some applications.
Truth is, we love VIPs, but we may not be able to use them for every scenario. It just depends on the application. I am very curious to your approach and comments related to challenges in using VIPs and how you've worked them out. Please share your strategies below.