Stingray Traffic Manager is a pure software ADC , and as such has the ultimate flexibility of being able to migrate effortlessly between physical, virtual and cloud environments. Recently I have been taking a look at how easy it is to install and run Stingray within the Dimension Data (OpSource) cloud platform.
I’m running a HA pair of Stingrays (version 9.1) in OpSource without any problems. However I needed to switch the cluster communications method from multicast to unicast. Creating a new HA cluster should work fine for version 9.2 and beyond, because the default method is now unicast.
Traffic IP Groups
Creating a Traffic IP group is simple enough and works as expected. Fail over works great too, so creating always available HA services in OpSource Cloud is straight forward.
Once you have created your TIP Group, you will need to set up an additional NAT rule in the Cloud settings.
I tested failing over a TIP in a cluster while connecting through the public NAT address and it did so without any noticeable interruption in service. That's a big tick in the HA box from me.
So I created a Traffic IP Group, Virtual server, and Auto-Scaled Pool for magento. The auto-scaling system had its minimum nodes set to 1, so I always had at least 1 node available in my pool.
To test the driver I generated a little load and watched for the auto-scaler to kick in and start provisioning a new node for me. My hysteresis value was 20 seconds, so the high load had to be sustained for 20 seconds before the Auto-Scaler would do anything. This is used to stop brief spikes causing unnecessary scaling actions.
Soon a new node provisioning action was instigated, and OpSource began deploying my node.
Once the node had been cloned and booted, the Auto-Scaler updated the pool and Stingray was load balancing across an additional node.
I left the load generator running a little too long and ended up with three nodes in my pool. However that’s not a problem, because Stingray soon scaled back down to 1 node once the load stopped.
The OpSource Driver is a little unusual in that I have given it an additional “destroy” flag which determines what the driver should do on a scale down action.
I would recommend setting the destroy flag in the Auto-Scaler configuration to “false”. So rather than destroy the nodes, the driver simply powered them off. This will make for much quicker scale up actions for nodes which have been used previously.
The next time I needed to scale up the pool, the provisioning time was in seconds (for a simple power on), rather than then several minutes it can take for a full clone.
MSM and Global Load Balancing
I haven’t played with either MSM or GLB in the OpSource cloud yet, but I see no reason why there should be any difficulty in doing so. Running a globally load balanced service in multiple OpSource Cloud regions should be relatively simply. If you make use of Stingrays Geo Load Balancing feature then you can ensure your clients are always serviced by their closest OpSource Cloud location.