In my search for equivalent services that mimic typical DC Services, I discovered Cedexis which provides Load Balancing for Internet Traffic. Here is the reason why I was looking for this solution and my review of this experiment…
Why Internet Load Balancer?
The key problem I was trying to solve was that, I had two or more websites hosted on PaaS CSPs. All these had exactly the same Stateless Code and were integrated with more cloud based Stateful PaaS Services. I wanted these to be Load Balanced from the same URL that I publish. This I achieved very easily using DNS Load Balancing.
What else did I want?
Further to this I wanted to control the Load Balancing to have more Intelligent functions like:
I wanted the Balancer to know if the ‘Private URL’ was working or not before sending the traffic
The Load Balancer should be able to look ate how the Website is performing and then route the traffic to preferably the higher performing site and scale down when the performance starts dipping. This needs to be done automatically.
Further to the above I wanted to have maintenance handling. For example, if I have been doing some work on one website, I should be able to tell the load balancer not to send traffic to that website. To make things more complicated what if I wanted to decide on sending only a percentage to a site where I’m testing new code. Bottom-line I wanted direct control of the logic for routing instead of relying on the provider’s prefixed solutions.
Inside the Datacenter Network all these can be achieved by F5 and their competitors … but I wanted these features on the Internet, with no hardware / appliance Investment and with minimal fuss
I actually discovered Cedexis when trying to find Benchmarking info between Internet CDNs. Cedexis does have competition but what intrigues me was they openly were giving out metrics about all major CDNs and ISPs. That validated that they have good Integration with global Internet Services. A few more blogs later I tried it directly and here we go…
Opening an account is easy…Just go to the site cedexis.com and its just a simple regular signup with ‘official’ email id. A few Hours later you will get a mail to activate your account in the ‘official’ email id provided. Click on the link provided to activated and you are good to go.
The portal is accessible from https://portal.cedexis.com/ui/dashboard
Let’s start Configuring
On the Left you will see the main services
The Radar is the Tool to monitor Traffic Flows
The Openmix is the actual Load Balancing Tool but needs configuration on the individual targets in the Platforms Section
Platforms is the Section where you define the Target URLs which the load balancer needs to balance between individually.
The Page Load Time section, as the name suggests gives the Page Load time statistics gathered
The CDN Purge is a convenience tool that can be used to purge cached data from multiple CDNs conveniently in one click.
Setup the Platforms
In the Platforms section you will find a in the top right next to the search box. Click it. You should see this form
Select the type of Target this target is…I liked this part as I’m able to specify not just websites (Datacenter), but CDNs, Managed DNS and many other SaaS solutions as well!
Give it a report name which will be the name used in dashboard and other reports, alias and tags to refer when searching. Hit Next and you should see the optional settings
While these need not be configured as in my case. You should configure these if you want to use for custom routing.
Sonar on the other hand allows to set the Polling Interval to test for availability.
As you can notice the ‘Platforms’ that are created are just placeholders and don’t even take the ‘Private’ URLs yet…unless you have configured anything in the optional parameters…The actual URL Details will have to be provided in the OpenMix section
So heading to openmix…We create a new Load Balancer by clicking on the ‘+’ on the top right like we did for Platforms. Cedexis Refers to each of these entries as ‘Apps’.
For simplicity we will proceed with say round robin…. whose further setting are very similar to RTT.
Here you provide the Fallback Public you are configuring this load balancer Application. This needs to be a proper IP or CNAME…No HTTP/HTTPS/parameters etc… this would be the site called if ‘All’ the Platforms Configured are below Treshold configured in the next screen
Self explanatory…I wonder why this has been kept alone!
Now is when you add the platforms and the correct CNAMEs for each …Use the ‘Add Platform’ button to add more Platforms…
Hit Complete and if all information is correct then you will be asked if you want to Publish this…Click Publish if you are confident…Else you can Publish later as well.
On Publishing the Load Balancer is configured and a CNAME to be configured in your DNS is generated. Once ready this is shown in the OpenMix Dashboard.
Now in your DNS use this generated CNAME as target for the ‘Public’ domain name you wanted to use for this load balancer…I found the Cedexis CNAME to be active immediately…though DNS took some time to map.
If you want to use more external information, then the Fusion Data Feeds need to be configured…I’m leaving this for some other time…
In conclusion, I liked the quick and easy configuration Interface. Further I did not find any difference after I moved my application from DNS Load balancing to Cedexis… I feel this is far more powerful than generic DNS Load balancing. Corporates could use this to Load Balance between CDNs to control usage costs and ensure best user experience and ensure the CDNs compete to get your traffic.
I have only looked at a very simple use-case…The Capabilities are much more. However for Production deployment many more considerations will have to be looked at including Security, Vendor empanelment, Resilience, support levels, SLA Breach handling, Relationship fit etc.