We've been at it for a while now: hardcore Drupal development for corporate websites, communities and organizations that want to do business with their online applications and websites. As with many everyday things, websites and online applications need servicing, which for Drupal is becoming more of a serious business to attend to. As Dries was showing in his State-of-Drupal on the Drupalcon in Szeged, late august 2008, the number of websites that indicate being serviced is far below average.

Obviously not every Drupal website may have its ping-home mechanism activated and the numbers might be skewed. Nevertheless, if you are in the Drupal business, maintenance will become a part of your day-to-day business.
Death of a thousand cutsDrupal has featured multiple website setups since Drupal 4.6.. Drupal's multisite features can help with the administration of any different sites a
once, the grouping together of many related websites in one place, and saving Disk space by not having multiple copies of Drupal running from the same location.
If you are committed to doing all the maintance yourself, you have to have a good and solid plan for managing your website updates. It's great to have the Update Status Module onboard that notifies you about available updates for your website. But that's just one. What about if you have several dozens of websites to maintain? As Adrian Rossouw puts it...
These simple tasks literally become the 'death of a thousand cuts'. You don't even need to have a hosting company to become overwhelmed by this situation, the simple fact is that manual interaction can only scale so far.
When you are into larger community platforms with thousands of registered users you have to be careful when applying updates to your website. When you have altered or custom made modules, the risk is even higher something breaks during updates. Rolling back is an option that you may want to consider as last resort, because fixing things always takes longer than you think and it will decrease your maintance window.
Protocols and proceduresBeing a professional Drupal service provider requires the laydown of a Maintance and Service protocol, including several important components:
1. Service Level Agreement
First and foremost, we define what we offer in our Service Level Agreement (SLA). This is a document that is delivered in paper to a client when a website or project is finished and implemented. It states what services will be rendered periodically or otherwise after the website has gone live and what not. Other properties will be: downtime, maintance, change requests and calls and support understandings. There can be several formats (e.g. Good, Better, Best. Or Bronze, Silver, Gold) and there are prices attached to each setup. The client has to sign for this as this is an 'agreement' as to what-will-be-delivered for a certain fee. There are many methodologies and ideaologies that define what should be included in such an SLA, ITIL being one of the more familiar ones. There are many examples out on the web of good SLA's, though it involves quite a lot of time and a legal insight to mould a SLA suited to your organization and needs.
2. Procedures
It is essential to define the various aspects of the services that will be offered. It is to say how are updates going to be applied, which ones will be applied and how often. Responsibilities are to be set out and there needs to be a system in place for signaling the control and actions to be taken. Everything should be available for others to be looked up and executed.
3. Reporting
Our procedure includes a Management Support System that has all the defined projects with their recurring tasks and assigned members. This way we are assured we won't 'forget' tasks like: checking Drupal watchdog logs, server logs and checking and implementing (security) updates. This allows us to send a full and official report to our clients to show what it is we have done in the past month(s) that justifies the fee they paid.

Also it is always a good practise to inform clients about any tinkering with their website. Even if they shouldn't notice anything, it is good to inform them about upcoming updates beforehand. Most of the time, when updating a Drupal website, it is better not to work on any changes or content, even editorial. By informing clients beforehand, they can take this into consideration. When telling them the importance of the updates that will be be done, it is not going to be any problem in most cases. Then again, the timing of your updates may vary, depending on what service window is defined in your Service Level Agreement.
4. Update plan
As part of our procedure, we create an update plan that sets out:
- What updates to be done
- When
- On which server or projects
- What the implications are and what needs to be thoroughly tested or adapted first

The update plan is the script for everyone involved in the update cycle to see what was done and where the attention should go to. For example: when updating contributed modules concerning a webshop, the main focus should lie on the webshop modules and perhaps the changes that we made as a result of the updates.
5. Testing
If you are professionally involved in Drupal development, you will probably test your updates on a Testing or Staging Server first (this goes for most professional software development of course). All updates should be thoroughly tested first. Even if it seems like a small update, it could still trigger a malfunction somewhere in a related feature. When dealing with larger, more condition-critical websites or websites dealing with money, this becomes even more important.
Three way junctureBasically there are three directions in which to go when dealing with a (large) number of Drupal websites professionally...
- Use of tools and contributed modules for managing and maintaining Drupal websites
- Outsourcing your management and maintenance policies to a professional Drupal service provider
- A combination of those two: employ professional Drupal services for management and maintenance of your Drupal projects and those of your clients
I think we are about to enter all three of them. Let me explain...
Using tools to manage your websites
There are several options that make it easier to manage and maintain your Drupal projects. The Aegir hosting system is one example that consist of a set of contributed modules providing a hosting front-end for your network of websites. You can create new Site nodes and you can backup and upgrade websites by managing these nodes, as you would any other node. Druplet, Hostmaster2 and the Multisite Manager Module are several others. I won't go into detail about them, as this is not a roundup of those tools. You can read a solid roundup here.
Outsourcing your maintenance
You can always rely on professional Drupal partners for doing the updates and maintance of your Drupal projects and those of your clients. There are many professional Drupal service providers that have set out to do so. When there is a fair pricetag attached, this may be a suitable solution.
As I laid out, maintaining a fully operational Drupal websites involves quite a few tasks and responsibilities. This requires time and dedication which comes at a price. Hiring professional Drupal caretaking may be expensive. Ultimately your clients will have to carry that extra weight of steep pricing models.
In command of your Drupal projects
We have come up with a nice solution. Today we are launching the first beta of Drupal Commander. With Drupal Commander we offer complete overview and easy management for your entire network of Drupal websites. Clients that host their websites with us, are able to quickly see what's the status on their websites and what updates are recommended. This allows for quick planning and implementing of all necessary updates. Having full control over update management policies, Drupal Commander allows for instant access to services and technical support.

The first beta is launching today and we will be hooking up all of our clients. We will be involving our Drupal development partners as well and hook up all of their website projects.
Drupal Commander services
We're looking for the following possibilities to help you with your Drupal projects:
- Host your Drupal website on a specialized Drupal hosting environment and hook you up for Drupal Commander as a service
- Assign you for a Drupal Commander as a service connecting your network with Drupal Commander
- Possibly: provide a set of modules on which Drupal Commander is based allowing you to manage and maintain your Drupal websites more easily
Drupal Commander features
The following features are currently online and ready to be used:
- Overview of status for multiple websites on various servers accross our hosting domain or the internet
- Management and maintenance of website projects and tracking project details
- Viewing release notes and downloading patches and update packages directly from drupal.org
- Repository of contributed modules for quick access to your own customized modules and keeping track of them inside your website projects
- Reviews of contributed modules to share with partners and coworkers
RoadmapWe have plans for the following features in the months to come
- Creating real-time update plans and task assignments
- Issue tracking for customized and contributed modules within your website projects
- Auto update mechanism incorporating your testing or staging area
- Online knowledge base of common issues and features
- Drupal 6.x compatibility
- Desktop widget accessing critical update data and the status of your websites accross several servers
- Contributed moduleset for community release
ContactIf you would like to know more about Drupal Commander or what it can mean to you, please don't hesitate to contact us. We will be happy to call you or make an appointment to see what we can do.
Click here for contact options
Also if you have any comments, remarks or questions, feel free to post them here.
We will be launching a dedicated website for Drupal hosting, management and servicing shortly. Here we will tell you more about the developments around Drupal Commander in the weeks to come.








Post new comment