Web Development, Data Security 3B Digital Web Development, Data Security 3B Digital

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.

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.

Read More
3B Digital 3B Digital

Content Delivery Network System (CDN)

A CDN is a network of servers located around the World. Its primary purpose is to make your static, dynamic and streaming content to load faster. If you’re using a CDN, content will be duplicated to servers around the world, and the user’s request will be directed to the geographically closest server.

A CDN is a network of servers located around the World. Its primary purpose is to make your static, dynamic and streaming content to load faster.

CDN.JPG

What are the different types of content?

  • Static: Javascript, CSS, and images

  • Dynamic: content generated by the web server normally using Ruby, PHP or javascript.

  • Streaming: any audio/video files

When a user requests an asset from a web server, the server locates the asset and delivers it back to the user. Classically this involve either locating the asset in the one location it’s stored (in the case of static or steaming content), or generates it on-demand (in the case of dynamic content.

If you’re using a CDN, content will be duplicated to servers around the world, and the user’s request will be directed to the geographically closest server. This leads to far less latency when requesting assets, leading to page elements loading much faster.

Why is the server response time important?

  • Increased bounce rate. Server response time has a direct effect on page loading speed. Your website could be losing huge amounts of traffic if the pages take too long to load. According to Google, 53% of people will close the page if it takes more than 3 seconds to load.

  • A decrease in search ranking. Increased bounce rate will make Googlebot think that content on the page is poor quality and you will drop down within Google search soon enough.

What does server response time depend on?

  • Poor quality web hosting. Using legacy or underpowered software/hardware will most likely lead to longer response time.

  • Traffic overload. At peak times when your website is getting large volumes of traffic reaching the capacity level of your server, users can experience significant page loading delays or even a 509 error (bandwidth limit exceeded).

  • Bloated web pages. if your website does not follow at least the most common optimisation practices it will take longer for the page to load. Some of the most important things to consider are minifying JS and CSS files, optimising images, not using non-responsive or oversized images and unnecessary gifs.

  • Not enough caching. If you intend to improve your website loading speed and reduce unnecessary waiting, enable browser caching. Server response will be much faster if a browser extracts previously loaded elements from the local cache rather then loading the same elements multiple times. Additionally server-side caching can improve the load times of dynamic content, even if the user hasn’t visited the site before.

Benefits of using CDN

  • Preventing traffic overload. Loading different pieces of content from separate servers will be less likely to cause server traffic overload, as all traffic will be split between the servers, rather than overwhelming a single server.  

  • Decreased latency. Latency is a time period between when a user makes a request to a server and when they get a response. Lower latency time means that page load times will improve.

  • Data centre distribution. A CDN will help to localise your website, reducing the chances a user having to access information from a single server which may be geographically far away, for example, having to travel transatlantic. The information will be extracted from local data centres, helping any content to load faster.

  • Improved reliability. Loading media content faster may allow users to enjoy it in a higher quality - lower latency and faster load times could mean that a user is able watch a video in HD where they may otherwise have only been able to watch it in SD, leading to increased user satisfaction.

  • A CDN might turn out to be a cheaper option for you. Having one system that distributes your site information worldwide is often more cost effective than paying for the bandwidth from your main server to send the content around the globe.

  • Protection against DDoS. Attacks like this may damage your reputation and lead to financial loses. A CDN can help keep the website running as they act as an extra line of defence, with many designed in such a way to stop a DDoS attack before it reaches the main server.

As we all know, for any business consumer, satisfaction is key. Your website will be penalised by Google if the pages take too long to load. Once you’ve been penalised there is a long and complicated process of getting your trust back.

Your site will benefit most from implementing CDN if any of these apply to your business:

  • your site is targeted at a worldwide audience

  • you get large traffic spikes

  • content on your website includes large audio/video files  

  • you’re streaming live videos

Contact us if you’d like to find out more about how CDN can benefit your website, and if you need help implementing it!

Read More