DRD and Drush: Drupal power tools, part 1 of 4

Almost 5 years ago I've started working on DRD - a.k.a. Drupal Remote Dashboard. The idea behind this module which is published on drupal.org has been and still is to provide a central place in a web browser for Drupal shops and system administrators or DevOps to get all the essential data and statuses about any number of Drupal installations. Whether each Drupal installation hosts a single site or a number of domains (multi-site installations) shouldn't matter and even other platforms like Aegir should be supported. All of that ideally with no or at most minimal configuration being required.

As of writing this blog post in June 2014 there are around 100 shops and/or admins according to Drupal's usage statistics using DRD. If each of them by average monitors a few dozen Drupal sites, DRD is most likely already monitoring a few thousand websites. Not bad for a module that originally had been developed for my own requirements only. Thanks to other Drupalistas in the community DRD got pushed to a more wide-spread usage and grew up recently to the mature, stable and powerful platform that it is with the latest 2.4 release hosted on Drupal 7 for now.

DRD's benefits and how DRD compares to other monitoring platforms

First of all, getting started with DRD is simple and straight forward. Configuration is minimal and DRD catches almost any Drupal installation and platform that we can think of. If it didn't, just file a support request in the issue queue. We got all the specifics covered so far and if we come across a new one, we'll get that sorted too.

Next, DRD has been designed from ground up with security and privacy in mind. The communication between the dashboard and all the remote Drupal sites is protected even if the remote site doesn't support SSL/TLS. DRD encrypts all requests and responses by the AES algorithm and only you as the admin know the keys - you don't have to share them with anyone. Remote Drupal sites will only accept DRD requests from dashboards that you have authorized beforehand.

Features and benefits of DRD are almost endless. In essence you get a simple dashboard where you get all the details about all your Drupal sites in one place. Once you get used to DRD you probably won't login to your individual sites anymore as you get all you need from DRD. People have reported that this is a huge time safer and they never want to miss it anymore.

Finally, the most important distinctive feature compared to other (Drupal specific) monitoring solutions is that there is no third party required to use it. You own your Drupal sites (and those of your clients) and you also own your Drupal Remote Dashboard DRD. Install it on just one Drupal 7 site and you're ready to go. You neither have to share with others (i.e. service providers) which Drupal sites you're working on. Nor does anyone else get in touch with operational data of your Drupal sites and servers. This is all yours and I believe this is very important to most of us.

DRD and Drush mutually benefit

Although DRD is feature reach there have always been use cases where it wasn't sufficiently equipped or it took too long to get the data one was looking for. For most of DRD's users Drush has been a complementary tool to DRD and I have had the idea of integrating the two for a very long time. This has finally come true and the two are now walking hand in hand. What that means is all this blog series is going to talk about.

In short, the integration of DRD and Drush works both ways:

  1. All DRD actions are made available as Drush commands: From the command line of the main DRD server you can execute everything that so far was only possible within the DRD UI. This means you can write shell scripts or execute regular DRD tasks as cron jobs.
  2. All Drush commands on all remote Drupal sites are available in the DRD UI: This makes Drush much more accessible to a wider audience and as DRD supports multi-threading, Drush commands can now also be executed in parallel rather than one after the other.

You see, there is a lot to talk about and we'll break that down into 3 more parts to describe all the details on how to make all those beautiful tools work for you like a charm. Of course we're very keen to also get your feedback. Please feel free to comment below or use the DRD issue queue for support requests or bug reports.

Other parts

Part 2: Performing DRD actions with Drush at the command line

Part 3: Performing Drush commands from DRD's UI (coming soon)

Part 4: Use-cases and how to enhance DRD and Drush (coming soon)