HybridCluster have announced a free for non-commercial use license for their cloud hosting platform. The platform supports Linux, Apache, MySQL and PHP (LAMP) applications, and provides high availability and auto scaling with a combination of ‘AwesomeProxy’ a proprietary multi-protocol proxy server, lightweight containers and a ZFS based storage fabric.
HybridCluster doesn’t actually support the Linux in LAMP, running instead on FreeBSD so that it can use OpenZFS (which only recently made a stable port to Linux). The use of the ZFS file system and volume manager underlies most of the scalability and resilience on offer. This is achieved by making a set of independently capable distributed replicas for each application. HybridCluster’s proprietary components consist of the AwesomeProxy front end, SiteJuggler to handle distribution, replication and migration, and Yakd for system configuration. Founder Luke Marsden made this comment on the differences between HAproxy and Awesomeproxy:
The key difference between this and HAProxy is that AwesomeProxy is integrated with SiteJuggler, which with no single point of failure and using smart distributed algorithms and distributed storage, automatically provides failover with commodity hardware across data centers. In terms of AwesomeProxy itself, it also understands the binary MySQL protocol, FTP, IMAP, POP, SMTP, SSH and a bunch of other interesting protocols. Finally, AwesomeProxy is a key component in our live migration system, where it pauses new requests while in-flight ones complete, and queue them up while the underlying filesystem is unmounted, the last few 100kb of changes replicated over the network, mounted, set up, at which point the thrower unleashes the requests which built up before the live migration - in order to live migrate containers in seconds across continents without the user noticing.
FlexContainers are offered in two types based on chroot and jail, with each type supporting different template options and underlying capabilities. Chroot containers are used for CGI/FastCGI websites such as PHP, Python or Perl. MySQL databases and email accounts get their own ZFS filesystem - so can be independently migrated and scaled - and multi-tenancy is handled natively inside the respective services. Jail containers can have a wider variety of internals (much like Docker containers). Containers can be created from templates to speed deployment and conserve storage space by using copy on write techniques.
The company has been targeting web hosting providers who might wish to offer more scalable and reliable versions of traditional web application platforms. Commercial pricing is £1/month with a minimum of 100 FlexContainers. The terms for the free offering are fairly broad ‘Non-commercial licenses may be used for any purpose where its usage is not intended for financial gain’, and seem designed to appeal to hobbyists and other open source projects.