I’ve been interested in Linux Containers for quite a while; I think that they have their sweet spot where they are better than virtual instances — in particular they require less resources.
I am working on a framework to use linux containers for on-demand computing — increasing or decreasing instances of applications as needed. I envision it being used for things such as:
- JBoss or other application servers
- Internet Applications
- Web
- Rails
- node.js
- Databases
- Caches
- And more
At this point I’m planning to use the following:
At this point, I think the key is in being able to dynamically assign units to HAProxy. HAProxy: Reloading Your Config with Minimal Service Impact describes a method for activating changes to HAProxy. Unfortunately there isn’t a good API provided by HAProxy to add/remove hosts as necessary. I’m wanting to be able to support both public and private clouds, with the idea being to have the ability to add resources from public clouds when private cloud resources are depleted.
Why am I doing it? For one, well, it’s interesting to me. For another I haven’t heard of any open source tools/frameworks which do this. Additionally I’ve seen many instances where virtual instances have been over provisioned or sit idle wasting resources, particularly when jvm’s are running inside a virtual instance.
There’s still a number of unknowns, but I think it’s workable.