DevOps as a managed service

What do you think it’s like to acquire a DevOps agency to manage your hosting, site performance and development workflow?

We break down the tasks a DevOps engineer will carry out on a daily basis, including their roles and responsibilities, so you can see how it helps to have an internal or contracted DevOps specialist on-hand to help.

3B’s Creative Director, Alex , expresses his opinion of Dev Ops

3B’s Creative Director, Alex, expresses his opinion of Dev Ops

minimising website downtime and tracking site status logs

Continuous and automated monitoring of site server performance helps us to ensure we spot and fix issues before our clients and/or their customers notice anything happening. If anything is amiss, we jump on that right away.

By keeping an eye on the early warning signs, outstanding security updates, patches and other best-practice items such as cacheing - we can mitigate downtime, and stay within the confines of the uptime required as part of our service level agreement (SLA).

When we notice one of the sites we look after is down we:

  1. Methodically troubleshoot the reason(s)

  2. Identify a solution which fixes the problem ASAP

  3. Roll a solution out in the short-term, and the best system in shortly after (if more difficult).

  4. Build in new mechanisms to avoid facing a similar issue in the future.

Why might your website experience service downtime?

The most frequent cause of site downtime is, quite simply, low quality web hosting. This is not a problem only you experience, Pingdom have a live map of websites known to be down.

If your website is frequently down, let a competent DevOps professional in to your hosting and website admin areas, and ensure they have access to the data they need to diagnose the issues.

Most reputable hosting providers offer uptime guarantees above 99.95%, this is the equivalent of ~43 seconds per day (4.5 hours per year)

Many enterprise grade hosting providers will offer uptime guarantees above 99.99%, the equivalent of ~9 seconds per day (Less than an hour per year).

If you experience downtime greater than this, then you might have to switch to a different hosting provider to improve the performance of your site. Hosting providers we work with and rely on are Amazon AWS, Pantheon and SiteGround.

Your website might also be down due to DNS issues, DDoS attacks, hackers, poor website maintenance or problems with your content management system.

Put simply, sites go down when they put a lot of strain on the server.

What effect does downtime have on your business?

The first thing to think of is the cost of lost opportunity.

How many customers might you lose if your site is down?

On 16th of July, Amazon went down for 63 minutes, and cost them around $100 million.

Obviously, you probably don’t run Amazon, but converting customers is particularly difficult when your site is down.

Downtime might also damage your brand and reputation. Whenever a new visitor lands on your site you only have the one chance to make that great first impression. If your site is down at that moment, they are unlikely to give you a second chance.

Site speed for SEO

Performance is about retaining users. If you don’t retain users, you may find your website’s search rankings are affected.

Long site downtime or load times will drop you down Google’s search results pages, reducing the visibility of your site to potential customers.

DevOps is about constantly looking at new site performance benchmarks, then comparing our sites with the ideals, in order to identify where sites are performing badly and experiencing down time.

Carry out our Website maintenance commitments

Our team carries out monthly website updates for our client as part of our website maintenance packages for Joomla, Drupal and Wordpress.

Why is website maintenance important?

Ignoring core site updates will put the security of your site at risk.

Routine updates for contributed modules, plugins and extensions are also important as you often won’t know what the issues are that are being fixed.

Not carrying out updates on a regular basis may lead to compatibility issues too, meaning that developers can’t work as effectively as you’d like.

You might suddenly realise that your site is woefully out of date, and the complexity involved in shifting everything from a 2016 configuration to 2019 might be greater than you’d like, generally speaking. Greater complexity often brings greater costs.

Regular routine updates are not expensive, and keep your site secure, ensuring peace of mind.

At 3B we perform monthly audits on everything installed on our sites, and we have notifications in place to let us know if any security updates are released so we can action them urgently, followed by any other scheduled updates.

Managing development, testing/staging and production environments

Even small changes to the constituent code of a website might lead to a site going down. For the majority of sites, we run clones locally (or on ‘multidevs’) to test things before the changes go live.

By doing this way we can test the effect of updates, get instant feedback on likely effects to the live site, and all without interrupting the live site.

Here is how the process works for each site that we manage the hosting for:

Development site -> Test site -> Live site

The development area is used similarly to a sandbox, for playing with new code (new features or updates).

The test sites are then used to check for any issues (and to achieve go-ahead from our client for deployment).

If everything works as it’s supposed to, and the client is happy, then the new features are deployed to the live site.

As a general rule, any critical changes should never be made to a live site without rigorous testing!

Software Peer review

At 3B, we follow a software peer review process, which ensures that the eyes of an experienced colleague will double check an author’s work.

In practice, this means that there will always be multiple developers reviewing changes and approving them before it progresses from a development environment to testing.

We use an Atlassian JIRA Kanban board to track every stage of this process, so it’s solid, and we can continue to act in an ‘agile’ capacity.

Tracking work in a code repository

For every website we work on, we have all code stored in code repositories. This allows our developers to track any changes in ‘branches’, swap between different sandboxes, and roll back quickly in case of emergency.

note: This is true for websites other than those we have hosted on cloud-based CMSs such as Squarespace

What is a code repository?

A code repository is a web hosting archive. Developers use it to keep code for the different versions of the site, think of it like an Apple Mac’s timeline back-up for your website.

The use of code repositories allow developers to follow best practice ‘version control’ and track bugs.

Version control is extremely helpful when building new features, and carrying out maintenance.

Each new version is saved on a ‘branch’, which shows what changes were made to the source code and who made them.

One of the most important skills developers should practice is being careful and double checking every piece of work.

Even small changes to code can interrupt the natural workflows and dependencies of your site, and once damage is done, it might not always be quick to diagnose the issue and fix it.

Maintaining transparency with our clients

Although much of this work can happen in the background, we pride ourselves on being transparent, and keeping our clients up to date on the processes they pay us to follow.

If you’d like an honest opinion on the current health of your website, from a hosting perspective, do please feel free to contact us!

Contact us if you’d like your site to be looked after by a professional, reliable team! Ask for David, Jack or Denne, and we’ll be able to offer some sensible advice.