We have a number of internal tools that help us to perform our services in a safer and more effecient manner. While you'll never interact directly with our tools, we'd like to tell you about them so that you can feel more confident about what's happening to your site.
Site Dominator ("Sidom")
We work with sites hosted on a variety of different environments (Drupal hosting companies, generic hosting companies, custom servers/VPS, etc) that need to be accessed and deployed to in any number of ways.
In order to standardize the way we backup and deploy to our customer's sites, we created an internal application called Site Dominator or Sidom, for short.
Every day, Sidom makes a backup of each of our customer's database and user uploaded files, as well as pulls any recent changes into our internal Git repository for that site. We can also ask it to take the latest backup and deploy it on our staging server.
Then we make any changes in our Git repository for the site, and we can ask Sidom to deploy those changes to the staging or live site. When deploying to the live site, it makes a new backup and merges any new changes from the site before trying to deploy our changes in the safest way possible.
This is great for a few reasons:
- We can work with any customer site in standardized way. No matter how the live site code is accessed (ex. FTP, SSH, Git, etc) we work in our Git repo and deploy the changes in the same way for every customer. We just have to configure Sidom for how each customer site works. This can be customized for the quirks of individual sites, or particular development workflows.
- It's harder to cause problems stemming from human error in deployment. Our tools don't cut corners and perform the deployment steps correctly every time.
- We can deploy changes to lots of sites very quickly. This important in allowing us to get security updates out to our customers the same day that they are released.
Sidom can also assist in less common situations, like remediation in the case a site is hacked.
We're planning to write some in depth blog articles showing off the features of Sidom in the near future. :-)
Drupal Inquisition ("Drinq")
Since we perform a site audit for every potential customer, we've done A LOT of site audits. :-)
Traditionally, we've done them by having a developer follow a set of instructions manually which included both scripts and automated tools, as well as some manual tasks, making each site audit take a minimum of 2 hours to perform.
While these site audits are great tools for helping us learn about a site and identify potential problems and pending maintenance that needs to be done, we only get all that information when a customer first signs up - we don't necessarily learn about problems that were introduced to the site later.
So, we've recently started work on a new internal application called Drupal Inquisition, or Drinq for short, that tries to automate everything from our site audit process that is automatable.
It's still in the early stages. However, we're hopeful that it'll not only help to get the time it takes to perform a site audit down to one hour or less (leaving only the work that must be done manually by a developer) but also allow us to perform continuous site audits.
Everyday, when Sidom make it's backup of each customer site, it could run Drinq and see if any new problems were recently introduced on the site!