You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cloudstack.apache.org by "Fuchs, Andreas (SwissTXT)" <An...@swisstxt.ch> on 2012/10/29 11:45:56 UTC

CS Loadbalancer Features

Hi

In our CloudStack POC we found out that the intergrate Loadbalancer lacks some, for us,  mandatory feartures:
As example:
- active, backup configs
- Customized health checks (request "healtcheScript.php", test answer for containing string)
- url hash loadbalancing

And nice to have:
- cookie insertion
- client source ip transparent mode for service where x-header injection is not working


Now the questions, as we understand CS uses HAproxy for LB. So is it possible to edit the HAproxy rules manually? Or will this mess things up with the CS config?
If we inegrate a Hardware loadbalancer like the NetScaller will the full features of the NetScaler be available to us? If yes how, via the GUI, API or directly on the Netscaler?
And if all this is not going to work, how do you best integrate an External Loadbalancer? Paralell to the CS Router Appliance or behind/in front of the CS Router.
(We are using an advanced network config with VLAN isolation, we are open to change this if it solves our problem)


Best regards
Andi


Re: CS Loadbalancer Features

Posted by Murali Reddy <Mu...@citrix.com>.
On 29/10/12 9:48 PM, "Fuchs, Andreas (SwissTXT)"
<An...@swisstxt.ch> wrote:

>Hi Murali
>
>Many thanks for your answers.
>
>>Can I ask what is the kind of deployment you are looking for? Do you
>>intend to provide LB as a service to the tenants (users)? If not, and
>>want fully leverage Haproxy or NetScaler's load balancing >functionality
>>then IMO, you can restrict CS router appliance to provide just DNS and
>>DHCP services, and setup  data path through gateway and load balancer
>>devices that you can control.
>
>Yes we like to deploy a LB service per tenant. Dreaming of something
>where CS is creating the service and real servers entries in the LB and
>then the tenant can connect to the LB and do all the fancy things the LB
>supports.

Yes, you can do all that with CloudStack. CS does not expose all the finer
parameters of the load balancers but supports set of load balancing and
sticky methods. I guess you can use CloudStack load balancing
functionality if your needs can be met with what CloudStack supports.

>
>So if we create a Network Offering with NetScaler as LB provider, will CS
>create virt and real servers on the NetScaler and we can adapt then the
>settings on the NetScaler to our needs or is this also stateless and the
>config may get lost?

If you choose NetScaler as LB provider in network offering, CS will take
care of setting up VIP, virtual server, services etc on the NetScaler when
you apply load balancing rule from CloudStack. But if you change the
configuration on the NetScaler directly there is no guarantee that changes
will persisted. For e.g., lets say after changing configuration on the
NetScaler, if you add VM to the load balancer rule from the CS, CS may
update the configuration on the NetScaler which may wipe out the changes
you have done for that particular LB rule.

>
>So if I'm reading this:
>http://blogs.citrix.com/2012/02/14/cloudstack-3-0-netscaler-driving-applic
>ation-networking-in-cloud/
>
>I have many more questions:
>- what's the advantage disadvantage of parallel vs. in-line mode
>- how are those modes configured, don't see where to configure

Functionality to support inline and side-by-side mode is missing in 3.x
and 4.0. There is an effort [1] to bring it back to 4.1 release. If you
use, in-line mode you get additional defence, where traffic goes through
the firewall before load balancer.

>
>If all this won't help, do we have to create a shared network offering
>without LoadBalancer feature and deploy the LB service ourselves?

Yes, you could do that with both isolated and shared networks.

>
>
>Regards
>Andi
>

[1] 
https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+Next+Rele
ase


RE: CS Loadbalancer Features

Posted by "Fuchs, Andreas (SwissTXT)" <An...@swisstxt.ch>.
Hi Murali

Many thanks for your answers.

>Can I ask what is the kind of deployment you are looking for? Do you intend to provide LB as a service to the tenants (users)? If not, and want fully leverage Haproxy or NetScaler's load balancing >functionality then IMO, you can restrict CS router appliance to provide just DNS and DHCP services, and setup  data path through gateway and load balancer devices that you can control.

Yes we like to deploy a LB service per tenant. Dreaming of something where CS is creating the service and real servers entries in the LB and then the tenant can connect to the LB and do all the fancy things the LB supports.

So if we create a Network Offering with NetScaler as LB provider, will CS create virt and real servers on the NetScaler and we can adapt then the settings on the NetScaler to our needs or is this also stateless and the config may get lost?

So if I'm reading this: http://blogs.citrix.com/2012/02/14/cloudstack-3-0-netscaler-driving-application-networking-in-cloud/

I have many more questions:
- what's the advantage disadvantage of parallel vs. in-line mode
- how are those modes configured, don't see where to configure

If all this won't help, do we have to create a shared network offering without LoadBalancer feature and deploy the LB service ourselves?


Regards
Andi

Re: CS Loadbalancer Features

Posted by Murali Reddy <Mu...@citrix.com>.
On 29/10/12 4:15 PM, "Fuchs, Andreas (SwissTXT)"
<An...@swisstxt.ch> wrote:

>Hi
>
>In our CloudStack POC we found out that the intergrate Loadbalancer lacks
>some, for us,  mandatory feartures:
>As example:
>- active, backup configs
>- Customized health checks (request "healtcheScript.php", test answer for
>containing string)
>- url hash loadbalancing
>
>And nice to have:
>- cookie insertion
>- client source ip transparent mode for service where x-header injection
>is not working

Andi,

There is session stickiness functionality in CloudStack with support for
both application generated and load balancer generated cookies. But
support for health monitoring and URL hashing does not exist. Can you
please raise a enhancement request?

>Now the questions, as we understand CS uses HAproxy for LB. So is it
>possible to edit the HAproxy rules manually? Or will this mess things up
>with the CS config?

You could do that, but configuration is not persisted as virtual router is
stateless. On network restart, virtual router recreate etc CloudStack will
only re-configure the load balancing rules based on what configuration it
has in the CloudStack DB.

>If we inegrate a Hardware loadbalancer like the NetScaller will the full
>features of the NetScaler be available to us? If yes how, via the GUI,
>API or directly on the NetScaler?

No, full feature set of NetScaler is not directly available if you use
load balancing functionality available through CloudStack. Having said
that CloudStack has flexible networking models. In a public cloud a tenant
can launch NetScaler VPX as VM in the deployment model shown in slide 21
of [1]. In this case tenant can fully use the NetScaler functionality.
Also cloud admin can by-pass CloudStack entirely and can provision network
service using the firewall and load balancer devices not managed by
CloudStack. Downside is that CloudStack won't orchestrate setting up load
balancing and tenants can not self-service. But this may work in
enterprise/private clouds.

>And if all this is not going to work, how do you best integrate an
>External Loadbalancer? Paralell to the CS Router Appliance or behind/in
>front of the CS Router.

Can I ask what is the kind of deployment you are looking for? Do you
intend to provide LB as a service to the tenants (users)? If not, and want
fully leverage Haproxy or NetScaler's load balancing functionality then
IMO, you can restrict CS router appliance to provide just DNS and DHCP
services, and setup  data path through gateway and load balancer devices
that you can control.

-Murali

>(We are using an advanced network config with VLAN isolation, we are open
>to change this if it solves our problem)
>
>
>Best regards
>Andi
>
>

[1] http://www.slideshare.net/cloudstack/cloudstack-networking