Drupal + Python + Platform.sh: how we helped save man’s best friends

Winn Jewett
10 Apr 2019
Oxbow Labs

Colorado Springs is a great place to live for many reasons. People throughout the country associate it with sunshine, some say as much as 300 days per year. (That’s kind of an exaggeration. The National Weather Service reports the Front Range actually averages 115 clear-sky days, 130 partly cloudy days and 120 cloudy days annually.) But for the last five years, it’s been raining cats and dogs for my team at Oxbow Labs.

We’re a small web dev studio based in the Springs, excelling at helping clients of all sizes further their missions by integrating seamlessly with their organizations. For more than four years, Platform.sh has been our go-to hosting solution, and has completely changed how we build and maintain websites.

Tackling a legacy challenge to support a crucial mission

In 2014, the Humane Society of the Pike’s Peak Region (HSPPR) approached us with a challenge: to reimagine their website, so it elevated their most critical clients—pets seeking their forever homes. First, let me give you some background on HSPPR. Since 1949, HSPPR—a local, independent nonprofit—has served as the largest animal welfare group for homeless and abused animals in southern Colorado. As an open-admission shelter, HSPPR helps all animals in need; that means not one of the 26,000 animals brought to HSPPR each year is turned away, which is pretty amazing. As you might imagine, most people frequent the Humane Society website to view pets they may be interested in adopting. That activity drives the majority of site traffic and serves as their core mission to serve the community through pets.

Before we began to create the new HSPRR website, our analysis revealed that their legacy pet database had been around for decades (and seemingly hadn’t been updated in years). So, there wasn’t any direct way to access that information. The solution we came up with was to build a scraping tool using Python to extract the data directly off of the legacy system’s website. With Platform.sh, we were able to deploy this solution directly into the same hosting container as the Drupal website we were building. We could, then, build, test, and deploy the Python scraper and the Drupal website as one unified system.

Flexible, customizable workflow speeds development

Since launching the website, the Platform.sh multiple app architecture has enabled us to continually support and upgrade the pet scraper to adapt to HSPPR’s evolving needs. Because Platform.sh allows us to customize our development workflow, we’re able to meet the unique requirements for each website. For HSPPR, when a new feature is requested, we spin up a clone of the entire website, including the database, code, and files. We use this cloned website to build and test just this one new feature.

When we’re ready to show the new feature to our client, we pass along the URL, so they can provide feedback. With Platform.sh, this new feature can include changes to the Drupal website as well as the Python scraper tool simultaneously. Deploying the new feature is as simple as merging the code into the live website.

For more complex websites, we may have multiple developers working on a dozen new features or bug fixes at the same time, but the process is still just as easy.

Reliability: inversely proportional to complexity

Oxbow Labs is a small team of web developers. We’re not system administrators or hard-core DevOps experts, so keeping a whole suite of websites operational can be a challenge. Since we switched to Platform.sh, we’ve all slept much better at night, knowing that the websites we maintain are in good hands. Reliability starts with a dedicated app container for each website. This means that the performance of one website isn’t affected by other sites on the same server.

For HSPPR, putting both the PHP and Python applications on the same server reduces the complexity and potential points of failure by 50 percent. Backups and up-time monitoring are also greatly simplified by only having to monitor one instance.

Capabilities help increase pet adoptions, family reunions

It’s not often that Oxbow Labs and Platform.sh can say that we literally save puppies and kittens, but in this case, it’s not hyperbole. In the years since we built the HSPPR website, adoption rates have increased an average of 23 percent per year. And more than 30,000 pets have been reunited with their families. Platform.sh sustained reliability, performance, and improved development workflow were certainly contributing factors in HSPPR’s success.

Winn Jewett is Oxbow Labs founder and lead web architect.