Piston ready to capture 'waves of customers' coming off AWS
Puts out Enterprise OpenStack 2.0 as bait
Many of the core OpenStack developers who worked on the Nebula cloud at NASA ended up at cloud controller appliance maker Nebula or at Rackspace Hosting, the other initial collaborator for the OpenStack project. But more than a few of them ended up at Piston Cloud, which has come up with its own twist on the OpenStack cloud controller and is revving up to 2.0 on Tuesday.
That Piston Enterprise 1.0 was based on the "Diablo" OpenStack release, which came out in September 2011, but it had been seriously tweaked to make it more useful. With the 2.0 release, company founder Joshua McKenty tells El Reg that Piston Cloud is making more storage hardware options available and the software a little less rigid while moving to a more current set of OpenStack code.
Piston Cloud was established in January 2011 by McKenty, the lead architect at NASA working on Nebula, Christopher MacGown, who was the lead over at Rackspace working on its Cloud Servers infrastructure cloud, and Gretchen Curtis, was head of communications for the CTO at NASA.
As McKenty is proud to boast, it came out with the first commercial-grade OpenStack implementation a year later, with its Piston Enterprise OpenStack 1.0 release. Every OpenStack setup needs a lot more stuff than the basic code to turn it into a usable cloud controller, says McKenty, and even more so considering one of its key users.
The White House was an alpha user of the Nebula cloud at NASA - a beta product when McKenty was building the Nova controller with his engineering peers – and was using the cloud for its budgets. Therefore said that there could be no downtime on the Nebula cloud.
This is where McKenty started coming up with some of the architectural ideas that went into the Piston Cloud OpenStack distro.
Here's what the stack looks like:
Block diagram of the Piston Enterprise OpenStack, er, stack
All the stuff in red at the top is the bits of OpenStack that Piston Cloud likes and that makes OpenStack look and feel the same no matter who is making the distro. Piston Cloud has come up with its own CloudBoot bare-metal orchestration, which gets the KVM hypervisor deployed on raw servers and also absorbs new storage into the cluster if you add JBOD arrays to server nodes.
The company then took the ZooKeeper maintenance and configuration service from the Apache Hadoop stack and tweaked it to create its MoxieHA service orchestration and high availability software layer.
ZooKeeper implements the Paxos distributed lock manager, and this Paxos algorithm has also been picked up by Facebook's Cassandra NoSQL database and in the Cubby lock service at the heart of Google's BigTable data store.
In short, CloudBoot detects a new node using IMPI and then PXE boots a hardened Linux image into the machine, then passes it off to MoxieHA for it to be fully configured with KVM and then start accepting virtual machine images deployed by OpenStack. MoxieHA also load balances the VMs across the systems in the cloud and can move them around if a server is getting wobbly.
With the initial Enterprise OpenStack 1.0 release, Piston Cloud picked Ceph as its distributed object and block storage system, but according to McKenty, the servers could only use JBOD arrays attached to nodes and they had to have a precise mix of disk and flash storage that was tuned specifically to support the Piston Cloud release.
Part of the reason Piston Cloud was so picky about the storage configuration underneath OpenStack was that it had created its own live migration implementation for the KVM hypervisor, which McKenty tells El Reg still can't support proper live migration without downtime.
To build its own live migration for VMs, Piston Cloud licensed virtual memory streaming code from GridCentric, which takes snapshots of running virtual machines and then can move them around the virtual SAN that Piston Cloud has created with Ceph.
The VMS software also does memory oversubscription, which allows you to cram twice as many VMs onto a physical server, and can do instant cloning of running VMs and boot them up in under 1 second, according to McKenty.
For networking, Piston Cloud has stayed away from the Quantum plug-ins for software-defined networking and is happy to use the Nova networking stack that was originally developed by NASA and that has been subsequently enhanced.
With the Enterprise OpenStack 2.0 release, Piston Cloud is moving up from Diablo to the "Folsom" OpenStack release, which came out in September last year, with a smattering of the code from the "Grizzly" release, which just came out last week, backported onto Folsom.
Piston Cloud is perfectly happy to hang back with the Folsom release and only do necessary backports from Grizzly. "Rackspace and Nebula are uncomfortably close to the OpenStack trunk," says McKenty.
He says he knows because he has been doing OpenStack from the beginning and Piston Cloud supports real-world customers using OpenStack in production so they know what works and what does not yet work.
Yup, that's a management console screen, in this case from Piston Enterprise OpenStack 2.0
With the 2.0 release, code-named "Fitzgerald," Piston Cloud can implement its virtual SAN on whatever internal storage you have on the nodes, and you don't have to have a particular mix of flash and disk to do it, either.
The OpenStack framework – the red bars in the block diagram above – are all updated to Folsom code, and the Cinder block storage layer was backported from Grizzly. Local storage nodes now include "ephemeral" storage, like Amazon Web Services has for EC2 virtual server images, so a Piston Cloud can look and feel more like an AWS cloud. LDAP and SNMP support were also added to the 2.0 release.
"OpenStack has focused too much on dev/ops and not enough on system administrators who are actually running the clouds," says McKenty. "These folks like LDAP and Active Directory and SNMP and logs and that kind of stuff."
Enterprise OpenStack 2.0 is certified to run on Dell PowerEdge R710, R720, and C6220 servers, HP ProLiant DL360 and DL380 servers, Cisco Systems UCS C Series rack servers, the IBM System x3650 rack server, and the Silicon Mechanics Pentos server.
You need at least three servers to create an infrastructure cloud, and for all the high availability features of the cloud to be implemented, you need at least five. A single controller can span up to 250 physical servers.
Enterprise OpenStack 2.0 has a 90-day free trial and costs $3,500 per physical server per year. That includes 24x7 tech support plus patching and release updates, of which there are a couple each year.
The 1.0, 1.2, 1.4, and 1.6 releases came out last year, and 2.0 is available in April with a 2.2 update expected in a quarter or so with more features most likely pulled in from Grizzly - McKenty would not say.
McKenty says that Piston Cloud expected to get a bunch of business from companies that wanted to build their own clouds, and while he won't give out precise numbers of paying customers, he says that the company does have "many paid and production deployments" with an order of magnitude more users who are doing proofs of concept.
What the company did not expect was to see so many disgruntled AWS customers looking to build their own clouds. But this is what is helping to ramp up the Piston Cloud business.
"We didn't expect to see waves of people coming off Amazon Web Services," says McKenty. "But think about it. The service is crappy, and they can't configure the virtual machines the way they want to. And they end up paying $80,000 a year for servers." ®