If you develop websites for a living and manage multiple projects at once or you have a multitude of websites that you and/or your team manage then you know how quickly things can get out of hand and disorganized. After spending countless hours thinking about this, I think I have the answer.
Managing even just a few websites can be a headache. Adding more websites adds more overhead from complications of divergent codebases, dissimilar hosting environments and a variety of variables. I learned that consistency and repeatable approaches in workflow made a huge impact to how effectively I could manage the technical aspect of my business.
Searching for Answers
When I first began providing professional services to clients they were on multiple types of website platforms, different content management systems, server platforms and more.
As I learned and matured in my approach, I began consolidating my client websites onto a single platform. It was good for a time and when the number of sites I managed grew, I found myself outgrowing my hosting provider. I didn’t really want to be in the web hosting game. Around that time, manage hosting in the WordPress space was just starting to gain steam with Pagely and WP Engine leading the way.
We used WP Engine for a long time and it was great! I’m still a fan of WP Engine, however, I felt like working with WP Engine had its issues. Particularly how Git was integrated into their platform. Setting up Git isn’t that bad, but once you have repo access you can’t just clone the repo down. You have to grab a copy of a backup, download it, and then push your changes up (after you remove any files that shouldn’t be in source of course). It’s clunky but not bad.
Once I had that process in place I knew that I could begin taking a look at some of the other tools I used. I was a heavy user of deployhq for a long time. However, when I began consolidating my clients’ sites onto WP Engine I knew that I could lean less on third party deployment tools. Also, a nice feature was that WP Engine had a built-in staging site that you could spin up at any time! Neat!
Blueprinting for success
Standardizing platforms helped me out quite a bit and reduced the number of random errors and hiccups from having sites hosted across numbers of disparately configured servers on different providers. The next thing I looked at was finding ways to create a simple and repeatable process for getting my projects kicked-off quickly and sanely.
Using tools like Desktop Server and Local, from Flywheel, allow for simple blueprints to be made of your common website configurations. Simply setup your blueprint and spin up your site. Another tool that I found to be awesome was WP-Core. With WP-Core I could quickly download my commonly used plugins and port them over to any project in a snap.
With a decent workflow and a blueprint I was cruising.
Taking that workflow and kicking up a notch
At a local web conference, someone from Pantheon hosting was demo-ing their platform and asked if I wanted to see it. I’d seen countless demos from hosts, I’d seen the endless cPanel interfaces. I wasn’t expecting to be “blown away” by the demo. However, that’s precisely what happened.
The demo included an end-to-end website setup from a local to the online dev site. Git was integrated. In fact, you couldn’t necessarily push updates without using Git. All changes had to be in source control. They provided three environments: Dev, Test, and Live. In addition to that, you could spin up new environments with a click. Need to work on a new feature but you don’t want to mess with your dev, test, or live environment? Just spin up a new environment with a new branch. Brilliant!
I knew that this improved and integrated workflow was precisely what I had been looking for this whole time. I signed up for Pantheon’s Agency Partner Program and got to testing. I did my first site on the platform and it was a dream to setup and get running.
Enter Custom Upstreams
Pantheon recently announced their Custom Upstreams solution. Custom Upstreams aren’t new to Pantheon, they’ve had them as long as I’ve been a customer. However, there was a bit of rigamarole to get it setup, you had to talk to support first and wait for them to create one for you and then proceed to jump through the hoops to set it up.
Recently, I attended a mixer hosted by Pantheon where I got to speak to one of their Drupal Agency Partners. They talked about how they manage their client sites with their own custom upstreams and how it saved them time, money, and headaches. I was intrigued and “bookmarked” that conversation. I needed to set some time aside to get things going with these upstreams.
What is a custom upstream? Put simply, it’s a custom codebase that Pantheon will host for you. You can have your own Drupal or WordPress setup, with all of your themes and plugins you like to start projects with. Do you always use ACF or Pods? No problem. Are you a devoted WP Migrate DB Pro user? Great! Install it locally, insert license and go! Your codebase aka custom upstream is a “child” of Pantheon’s Master Upstream/Codebase. Pretty much all Managed WordPress hosts have a slightly modified versions of Drupal/WordPress core running on their platforms. With Custom Upstreams you now have your own version.
But the fun doesn’t stop there. Sure, spinning up your preferred configurations with every project is great, but with Custom Upstreams you can also push updates to your upstream to any site that you build with that Upstream! Is there a plugin vulnerability with ACF that you need to patch? No problem! Update your Upstream and then push updates down to the other sites using it without any fuss!
Who should use Custom Upstreams?
Custom Upstreams are great for those who manage any number of websites for clients who desire predictable, stable, and repeatable workflows. System Administrators, DevOps, Developers, and Managers who oversee server/site health, security, and more, will find the benefits to be too numerous to ignore. Truly.
I’m a big believer in the use of Custom Upstreams and not just because I’m a Pantheon Agency Partner. It’s like all the stuff I’ve been doing but super-charged and fully integrated.
What are you folks doing for your workflows? I’m curious to know as this is an area I’m always looking to improve.