User provisioned sites: Introducing Cyclone
Cyclone is a new Drupal module which enables users to deploy sites to a variety of platforms including Pantheon and Aegir.
The main aim of Cyclone is to put control into the hands of the end user, to give them the ability to spin up sites when they desire. A secondary aim is to make it easy for publishers, such as agencies, entrepreneurs and ditro builders, to publish site templates which can easily be browsed and selected by users.
The desired outcome is that we have more Drupal sites being created and more happy users of Drupal.
Drupal hosting APIs
The Drupal hosting market has come along in leaps and bunds over the last few years. Companies such as Pantheon, Aberdeen Cloud and Acquia have developed platforms which are very developer friendly, allowing for the easy deployment of code between environments: dev, stage and production. They augment the open source Aegir project which provides a powerful web front end to the provision project, allowing sites to be installed, cloned and migrated between platforms.
Each of these platforms offer APIs to control various part of the system. Aegir is perhaps the most direct, being built entrely around Provision and Drush. It is essentially just a front end to components designed to handle sites and platforms. Pantheon is another standout. Their Terminus CLI allows control of many aspects of sites including creating sites from Drush archives and installing for base "products. Acquia offer a RESTful CloudAPI which is able to control all aspects of installed sites. Aberdeen has command line tools and is soon to release a RESTful interface as well.
In order to faciitate user provisioned sites, these APIs must support basic site clone or install functionality. Once these methods are available, Cyclone is able to use them to create sites. At the time of writing only Aegir and Pantheon offered such methods. Cyclone therefore targets either of these two platforms.
Morpht will be presenting Cyclone and the companion project Cyclone Jenkins, at DrupalSouth, in Wellington. We will be demonstrating how it works as well as some of the code behind it. We will post the presentation here once it has been uploaded.