Bossie Awards 2013: The best open source data center and cloud software

Top picks in open source data center and cloud platforms, infrastructure, and management tools.

The best open source data center and cloud software

Open source is changing everything in the data center -- even the hardware. While Facebook's Open Compute Project is brewing better designs for servers and networks, other open source projects are remaking the databases, application platforms, and virtualization layers for a new generation of apps. And wouldn't you know it, the next generation of tools for managing this "cloud" infrastructure is coming from open source too.

OpenStack

If you like the ease of resource provisioning that Amazon EC2 provides but you work for a corporation that's still frightened of anything outside the firewall, then OpenStack may be for you. An open source cloud management stack with heavyweight commercial backing, OpenStack provides a management GUI and API layer to manage data center resources much the same way Amazon does.

OpenStack is divided into modules for managing compute, storage, and network resources; it also provides utilities for managing shared services such as identities and virtual machine images. The question of whether corporations will embrace cloud infrastructure isn't "if," it's "when," and when that time comes, OpenStack is shaping up to be the leading open source option.

-- Steven Nuñez

Eucalyptus

Even if the OpenStack project has the size and momentum, Eucalyptus is still the open source leader in hybrid cloud capability. With Eucalyptus you can build an in-house private cloud that can be driven with the same tools and scripts you use to operate Amazon Web Services. Eucalyptus commands and scripts can be used to drive AWS instances as well.

This compatibility makes Eucalyptus an excellent development platform and test bed for apps that will be (seamlessly) deployed to AWS, and vice versa. Features introduced in Version 3.3 this year include AWS-compatible Auto Scaling, Elastic Load Balancing, and CloudWatch monitoring services.

In hybrid scenarios, these new services will allow you to programmatically collect operational metrics from both Amazon and Eucalyptus and shift workloads between the cloud and on-premise as needed.

-- James R. Borck

OpenShift

A free PaaS, OpenShift helps developers build, test, deploy, and manage applications in a cloud. OpenShift incorporates Git and Jenkins, provides Apache and JBoss servers, and supports languages such as Node.js, Ruby, Python, PHP, Perl, and Java. Unlike other open source projects in this space, OpenShift managed to produce a general-availability release. Cloud Foundry may eventually pull ahead with the addition of support from IBM, but this was OpenShift's year in the sun.

-- Michael Scarlett

Cloud Foundry

Cloud Foundry is the open source PaaS offering from the newly formed Pivotal. It can be used to deploy your applications on a variety of infrastructures, including Amazon Web Services, OpenStack, and vSphere. It supports Java, Ruby, and Node applications out of the box, but if you're working with .Net, you can use Iron Foundry, another open source project built on Cloud Foundry.

In addition to the open source version, Pivotal offers a hosted version (currently in beta) that deploys your apps to Amazon Web Services where you can easily bind a selection of services, including MongoDB, RabbitMQ, and JMeter load testing. Enterprises are already paying attention: GE, IBM, Intel, and Baidu are among those that have already adopted the software.

-- Jonathan Freeman

Docker

Docker is a new open source project -- spun out of the dotCloud PaaS -- that creates lightweight, self-sufficient containers for applications. Developers can work with the same container that was used for building and testing to run at scale on public instances, OpenStack clusters, VMs, and bare metal servers. Combining Linux containers with a REST-based API for scripted control, Docker makes deploying and scaling Web apps, databases, and back-end servers easy.

-- Michael Scarlett

MariaDB

MariaDB works as a binary-compatible "drop-in replacement" for MySQL. Databases created in MySQL can be used transparently in MariaDB. The upcoming 10.0 version of MariaDB backports some changes from MySQL 5.6 and adds new features unique to MariaDB, such as the new Cassandra storage engine (for access to Cassandra clusters). What's more, the project is controlled by a foundation that aims to keep MariaDB independent of corporate control -- a safeguard against history repeating the turn that the MySQL project has taken under Oracle.

-- Serdar Yegulalp

MongoDB

Perhaps the most popular NoSQL database of them all, MongoDB uses a binary form of JSON document to store data. This allows schemas to vary across documents, giving developers unbridled freedom compared to traditional relational databases, which impose flat, rigid schemas across numerous tables. Yet MongoDB still provides the functionality developers expect in a relational database. This was a big year for MongoDB with two new releases and scores of new features, including text search and geospatial capabilities, as well as performance improvements such as concurrent index builds and a faster JavaScript engine (V8).

-- Michael Scarlett

Couchbase Server

Like other NoSQL databases and unlike most relational databases, Couchbase Server does not require you to create a schema before data is inserted. One unique attribute of Couchbase Server is its memcached library. This feature allows developers to seamlessly transition from a memcached environment and gain data replication, durability, and zero application downtime. The 2.0 release added document database capability. The 2.1 release built on this with cross-data center replication and improved storage performance.

-- Michael Scarlett

Neo4j

An agile and blazing-fast graph database, Neo4j can be used in a variety of different ways, including social applications, recommendation engines, fraud detection, resource authorization, and data center network management. Neo4j has continued its steady progress with both performance improvements (streaming of query results) and improved clustering/HA support.

-- Michael Scarlett

Salt

What's important when managing massive numbers of servers? Speed and simplicity. SaltStack achieves both in solving the two biggest problems in server management: remote command execution and configuration management. Everything from FreeBSD jails to Amazon EC2 Amazon Machine Images can be managed from a single UI, eliminating the need for multiple management interfaces. The project is relatively new, so the code and architecture are clean, and SaltStack seems to have gathered a good (egoless) community around it.

-- Steven Nuñez

Open Compute Project

What started as a project to deliver a better data center for Facebook has become one of the most intriguing projects in all of IT. Rather than keep hardware designs to themselves, members of the Open Compute Project (a growing list of hardware, software, and cloud companies) have arranged to make them available to all without licensing costs. Aside from rack and server designs, the OCP is also delving into networking hardware, low-cost block storage systems, "Virtual IO" (to allow data paths to be abstracted between computing resources in a data center), hardware management standards, and much more. The OCP holds regular engineering workshops every couple of months in different places around the globe.

-- Serdar Yegulalp