Do you even DevOps?
G+V Technical Director Gary Lake gives a quick rundown on how we’ve adopted DevOps practices, what they are, and why they might just be the best thing we ever did for you…
Put simply DevOps is the process of codifying and automating the creation, setup, maintenance and deployment of your infrastructure, platform and code.
Put even more simply, we’re basically taking all those really hard, complex yet repetitive, and ultimately high-risk tasks that are associated with looking after servers, networking and code changes, and replacing them with a simple suite of developer tools that perform these tasks in a fraction of the time with relentless consistency.
Put even more simply, I think this might be one of the single best investments we’ve ever made.
Why should I care?
It all boils down to safety, security and peace of mind; that and knowing that we’re not wasting your time and budget needlessly maintaining poor infrastructure.
By automating the creation and setup of your servers, we can upscale, migrate or rebuild your infrastructure rapidly and keep pace with your business and its demands no matter how quickly you’re growing. And in the unfortunate case of a total system loss, these tools allow us to have you back up and running in hours not days.
There’s a greater degree of security and confidence in your code base too. DevOps allows us to configure multiple development, staging and production environments that are complete mirrors of each other, eliminating scope for “well it worked fine in development/staging” type errors cropping up in production. It also means our developers are always working in a completely unified environment which cuts down on bugs and errors.
This way of working takes a huge load off in terms of maintenance and patching as this too can be boiled down to a few simple commands and pushed across multiple environments with ease for testing and release.
Is this like the cloud then?
We make cloud-based hosting like Digital Ocean and AWS part of our offering, so yes, ‘The Cloud’ plays a big part in enabling our DevOps way of working. We become completely untethered from the physical hosting environment and it, in turn, becomes part of the code base.
If you’ve ever felt stuck in long hosting contracts and unable to move, or hobbled by outdated, unmaintained and expensive dedicated hardware, or had a general frustrating lack of consistency between development, staging and production environments, this whole DevOps way of working is going to feel like the ultimate breath of fresh air.
How does this help with my website/application? That’s always such a pain too!
DevOps doesn’t stop with the servers and infrastructure, it’s all about bridging across to the development team as well.
It all starts with source control systems like Git (think document version control but for computer code) which allows teams of developers to work safely together without overwriting each other’s changes, and it helps manage feature development alongside routine maintenance and emergency hot-fixing.
The next key step in all of this is then the ability to deploy these updates in a controlled way. The days of developers waiting ages while they drag hundreds of code files onto slow, insecure FTP servers, hoping they don’t accidentally overwrite another developer’s changes, are past us. Instead, a single command triggers a deployment from the source control system which rapidly copies across only the changed code and automatically runs any required setup tasks directly onto the server(s). Release folders are kept and another single command can trigger a rollback to an older safer version of the code should anything go wrong.
The short of it is, we spend more time working on features and less time tidying our metaphorical developer bedrooms.
This sounds great, but all this talk of developer tools sounds like you’re trying to lock us in?
Everything we use is based on popular open source technology and can be worked on by any developer with the right skillset.
Our DevOps stack is generally built around tools such as Vagrant, Git, Composer, Node and Ansible, with hosting provided by Digital Ocean or AWS. It’s all perfectly standard, readily-available technology, free to use without expensive licenses or vendor lock-in, and it’s all heavily documented online (go on, Google them). If anything, we’ve made it easier for you to take your whole website/application and hosting environment with you at a later date, not that we think you will!
If you’re tired of being locked in to inefficient and dilapidated ways of working, get in touch today and find out how we could support you with your website, online shop or application.