One thing that few people argue about in the move to the cloud is the accepted view that the best way to achieve scale is by throwing together lots of lightweight commodity machines with relatively low specifications, and stringing them together to achieve scale. It’s a compelling story and one which Google has famously promoted – we all know that when a node fails in a Google data center, the techs don’t even bother ripping the machine out, automated failover simply lets another piece of kit takeover.
Given this accepted orthodoxy, it’d be a brave company that tries to subvert this. But that is exactly what ProfitBricks is trying to do. ProfitBricks is a company created by the founders of 1&1, one of the best known web hosting companies. The founding team from 1&1 took their exit and decided to do it all again – this time with a cloudy story. ProfitBricks touts itself as a second generation IaaS, one that cites its differentiators as;
- a graphical user interface which allows customers to assemble a virtual data center via a graphical UI. The aim being to reduce the complexities and disconnectedness that traditional IaaS modules create
- free networking structures by genuinely isolating customer networks in the virtual data center
- interconnected redundant networking with InfiniBand running at 10Gbps
- tailor-made servers
- highly-redundant storage
ProfitBricks are talking a scaling game and suggests that their offering allows users to scale in a vertical fashion – up to a massive 48 core virtual machine, all sitting on one physical machine. Of course the other IaaS vendors can scale to this level, but do so across multiple machines and without customer visibility as to how many physical machines they’re straddling. Their minimum ProfitBricks compute unit is one core and it doesn’t subdivide these cores into virtual CPUs as it is worries about the contention issues around bugger, cache and I/O. In order to reach these massive machine levels, ProfitBricks runs on its own proprietary virtual machine management software – this software has the ability to add cores to a virtual machine on the fly and, according to ProfitBricks, without disrupting the operation of the original machine. ProfitBricks does this by using a highly modified form of KVM.
ProfitBricks is talking a “get the exact right size” story and hence allows customers to build their virtual server with a specified number of cores from 1 to 48 and with up to 196 GB of RAM. The creation of this virtual resource is eased by the ProfitBricks data center design tool – a graphical tool that allows the user to plug and play with firewalls, load balancers, network components and the compute and storage components themselves. Users drag and drop these different components and then fires up the resource from within the designer.
ProfitBricks currently has two data centers, one in Germany and one in Las Vegas and has multiple availability zones within those two centers.
ProfitBricks have a hard task ahead of them – the world has bought into a vision of scale out and the economic rationale for doing so. There are a few hurdles the company will need to overcome to justify their approach;
- Redundancy – at least conceptually a scale out architecture indicates a more robust redundancy than does simply building the biggest virtual machine imaginable. While some of the benefits of this redundancy is perceived rather than actual, with all the main players talking a scale out story, it’s going to be hard to change that
- Linked to the above, clearly there will be some customers who need to scale beyond 48 cores – in these instances ProfitBricks will still be relying on scale out and hence it is a slightly confused message they’re having to deal with.
That said, ProfitBricks rightly points out that traditional scale-out approaches generally rely on some less than optimal technologies – things like having to slice databases across multiple machines and the issues around networking speed. While there are a large number of companies hoping to solve the database sharding problem, there are some technical disadvantages that sharding brings – things like increased complexity, increased difficult in relation to SQL queries and increased difficulty of complexity. Scaling up allows a company to utilize un-sharded databases and hence avoid these limitations.
Of course other, more traditional infrastructure vendors claim the ability to scale up in a live setting – both VMware and Citrix run live migrations for its infrastructure products.
As the world moves more to a heterogeneous model with companies using lots of different hypervisors, cloud stacks and components depending on their needs, the ProfitBricks approach takes a different track and build upon a proprietary approach that doesn’t lend itself to federation. It feels like a great solution for five or so years ago before open source cloud operating systems and umbrella cloud management platforms became the norm but with even Citrix and VMware making admissions that the world is going to more and more move towards heterogeneity, it doesn’t feel like the ProfitBricks “build the biggest single machine possible” approach really has legs.
I quite like the graphical virtual data center design tool. Infrastructure is increasingly becoming a highly complex amalgam of lots of different modules and a tool that allows users to graphically plug and play these modules to fill there needs makes total sense. Another sensible choice is the use of InfiniBand to eek out the maximum network performance possible.