The Docker Orchestration race continues to heat up. With a ton of great tools on the market and new tools arriving almost daily makes it difficult to stay up to date with all the developments. @veggiemonk and I try to stay on top of the Awesome Docker List but it seems we get new pulls almost daily on the repo.
Before we get started let's define what a Docker Orchestrator is. Docker Orchestrators makes our lives even easier if that's possible. For example, deploying containers via the command line (CLI) is very easy but can be difficult to administer n number of containers across n hosts or for non CLI coherent people. These Orchestrators enable users to manage their images, containers and hosts from a user friendly interface. This interface allows users to administer container networking, configurations, load balancing, service discovery, High Availability, Docker host management and a much more.
In order to narrow down the vast amount of Orchestrators 4 main criteria were selected:
- GUI Based
- Ease of use
- Time it takes till first container is deployed
- Managing multiple nodes, stacks and services
The Rancher-Labs team has a successful track record in the Cloud. Rancher was started by the same team that developed Cloud.com, maker of the Apache CloudStack software, which was acquired by Citrix in 2011. Rancher has developed 2 separate products Rancher which is the platform and interface for deploying and running containers and RancherOS is a 20MB Linux Operating System optimized for running Docker containers.
Tutum was first developed back in 2013 when Docker was still in the infancy stages. Tutum has a large active community with a user base of roughly 24,000. Recently, Tutum was acquired by Docker. Since the acquisition, Docker has announced that Tutum will be part of the Universal Control Plane I've signed up for the BETA but exact details are still unclear on how this will be integrated. It is safe to say that Tutum will be further integrated with additional Docker services very soon.
SaaS and On-Premise
Tutum initially started with as a Software as a Service solution. At the DockerCon EU conference last year, Tutum announced plans to launch an On-Premise or self-hosted solution in combination with their Docker Universal Control Plane offering.
Rancher was designed from the beginning as an on-premise solution and does not offer a SaaS offering.
Before we can launch our first container we need to prepare our infrastructure and install Docker. Both Rancher and Tutum make this extremely simple by supporting most of the leading Cloud providers.
A simple click of a button, you can choose your preferred Cloud provider and both Orchestrators deploy a Virtual Machine on the selected Cloud provider, install/configure Docker and connect this newly created VM to the Docker Orchestrator. Once the host is up and running both services offer real-time monitoring of your newly created Docker Host.
Rancher has a few more options in regards to deploying a new host. It offers the ability to select which OS to deploy, whether backups should be enabled, and custom Docker installation URLs. RancherOS is also specifically designed to run in such configurations.
Rancher add Host
Tutum provides a handy audit trail for your host including versions installed, upgrade information, as well as information on when it was deployed. This actually comes in very handy when you have several nodes running.
Tutum Add Node
Rancher supports - Amazon EC2, Digital Ocean, Exoscale, Packet, Rackspace, Ubiquity Hosting, Other (Self defined API) and bring your own host
Tutum supports - Amazon EC2, Digital Ocean, Microsoft Azure, Soft Layer, Packet, and Bring your own host
Rancher has a ton of functionality when it comes to Administration. Rancher offers everything from multiple user, multiple environments (Separating Dev from Prod) and a service debugging tool.
Tutum uses Docker Hub or a Local User Authentication for User Authentication while Rancher offers Github, LDAP or Local User Authentication methods.
Rancher wins the feature comparison when it comes to Administration. However, we are sure Tutum will offer more Administration capabilities once the on-premise solution that is expected to release with the Universal Control Plane is available.
Command Line Interfaces
Both Rancher and Tutum offer Command Line Interfaces (CLI). However, they are both very different. The Rancher CLI actually operates like the docker-compose but offers some additional functionality like scaling and sidekicks with the rancher-compose.yml files.
Tutum's CLI is actually the Command Line equivalent of the GUI. Basically all the functionality in the GUI can be run from the Tutum CLI like deploying new nodes, deploying stacks, and managing containers.
The CLI's both serve their purpose but offer completely different usability. Rancher does offer a unique proposition with its rancher-compose tool which offers additional features. Tutum edges out Rancher in this category as the amount of functionality that the Tutum CLI offers is far greater where the Rancher CLI is basically an expanded docker-compose.
Deploying a Service or Stack
Deploying a Service for both Rancher and Tutum is very straight forward. Both Orchestrators offer relatively the same features as what's available within Docker. Stacks which are a collection of services is available in Rancher and Tutum as well.
Rancher requires that you deploy a Stack first before you can add a service whereas Tutum allows for either deploying a single service or a Stack which allows Tutum services to get up and running quicker.
Advanced options for services are available in both Rancher and Tutum. Rancher steps it up a notch in regards to how advanced the advanced functionality actually is. For example, additional networking options, security, user data and health checks are all options available in Rancher.
Rancher and Tutum offer their own catalogs. However, Tutum's catalog offers a ton of catalog items built by the Tutum team like Databases, Cache Servers, and Analytics just to name a few. The Tutum catalog also offers direct access to the Docker Hub which allows you to search and install directly via the Docker Hub or Private Registries. Navigating the interface is very easy, clean and intuitive.
Tutum Catalog Example
Rancher also offers a Catalog but it is slightly different than Tutum. It's offering is geared more to building upon your Rancher installation with the likes of adding GlusterFS, Convoy Gluster or NFS, and DNS services to name a few. Rancher does up the ante by offering the ability for Admins to create their own Catalog which links to a user defined Git Hub project containing the service items.
The differentiator is Tutum is very easy to use and the GUI is definitely superior where Rancher allows you to launch full stack services directly from the catalog. Rancher’s catalog does have the ability to launch full Stacks with multiple services directly from the Catalog. Tutum requires you copy and paste the docker-compose file to create similar Stacks.
To summarize our little comparison is a bit difficult. It is now apparent that these two Orchestrators are really meant for 2 different types of users. Rancher is for teams wishing to manage an on-premise infrastructure whereas Tutum meets the needs of sole developers looking to quickly get up and running with Docker without having to install or configure anything locally.
Tutum excels at the time it takes to deploy the first service which was one of the tests requirements. Since Tutum requires zero initial setup you are off and running once you have signed into the platform and connected your first node whereas Rancher requires the installation of the Rancher server. The installation of the Rancher Server is really easy but may not fit the use case for everyone.
Tutum is an excellent tool with an extremely polished UI. Since the GUI is a bit more polished than Rancher it makes also a bit easier to use. However, where Rancher excels is in the fine details and additional functionality.
Rancher and Tutum are still in Beta but we are well aware of several customers using both platforms in production. They are both expected to release General Availability very soon. What we don't know is the timeline of Tutum's on-premise solution which would make it more comparable to Rancher and would make Tutum eligible for a rematch.
OK OK, so who am I selecting as the winner of the comparison? Winner winner chicken dinner, Rancher is the Winner. I chose Rancher while the advanced features and being able to install it on-premise allow for a lot more control over the Docker infrastructure. However, if we could combine the awesome UI from Tutum, Rancher's advanced features and on-premise capabilities we would have the ultimate winner.