[lxc-users] Cloud agnostic containers

Fajar A. Nugraha list at fajar.net
Thu Sep 10 05:03:56 UTC 2015


On Thu, Sep 10, 2015 at 2:06 AM, Luis Michael Ibarra
<michael.ibarra at gmail.com> wrote:
> Hi all,
>
> Some of my customers use cloud service providers like AWS or Rackspace, a
> few use VPS services like Digital Ocean, and others use their own data
> center.
>
> Here is the problem, I've deployed lxc/lxd in each cloud environment with a
> load balancer to communicate the containers network with the outside world.
> Most part of the services deployed are web based. However, mantaining this
> architecture is becoming a nightmare little by little.
>
> I'm thinking to create a cluster of load balancers in a cloud provider X and
> make a VPN network to communicate with each cloud environment to redirect
> requests. The objective is to centralize the load balancers of each cloud
> environment. However, issues arise:
> 1. A VPN will totally impact the response time.
> 2. I haven't found yet a cloud service to build a high availability load
> balancer solution like haproxy + keepalived. Mostly because cloud services
> disable multicasting by default, and it has to support some sort of
> tunneling to communicate with other cloud providers.
> 3. if this idea it's even plausible, would you suggest it?
>
> The idea of having clusters is more likely the idea behind docker
> machine/docker swarm. However neither of those manage the load balancing
> redirection.


I believe the keyword you're looking for is "global load balance".
Google should provide more info. It's not really lxc-specific, the
same concept should apply whether you use physical servers, VMs, or
containers.

Short version, it would generaly involve geographically-separated
datacenters, and some kind of DNS-based load balancers, where a client
will get an IP for datacenter closest to their location. Servers in
each datacenter would mostly access its own local resources. Due to
the "mostly local" approach, delays thru tunnelling (when accessing
remote servers) that you mention can be largely ignored.
Inter-datacenter accesses would mostly only be used for data
synchronization between clusters.

So AFAIK a "centralize the load balancers" is a bad idea. "Load
balancers in each geographic location" combined with "DNS-based
datacenter selection" is the way to go.

-- 
Fajar


More information about the lxc-users mailing list