So you’ve got a website. It’s all shiny and new but it’s going to be showing off a lot of images, videos or maybe audio files. The traditional approach to this is to just bung these files on the same server as your website - now this can sort of work when you don’t have too many files to show, but in the modern day when speed is the highest priority on the web, there’s an alternative way to go - cloud file storage.
I know it’s a bit of a buzzword but in a nutshell the cloud is - other people’s computers that you don’t have to worry about maintaining that are distributed around the world.
Instantly we can see a couple of advantages:
you don’t have to worry about maintaining - Less requirement for stuff to go wrong because experts are looking after it for you. This also makes it cheaper because of the economy of scale and it being someone’s sole job to look after thousands of these things.
distributed around the world - If your data is stored on a computer in the UK and someone in Australia wants to access it, it costs a lot of money and takes a lot of time to get the information there. So why not store the data in multiple places around the world to make it cheaper and faster to get that data to them. (Netflix have taken this to the extreme by actually deploying your films to your individual Internet Service Provider)
The biggest player in the world when it comes to cloud computing is Amazon Web Services (AWS) - they offer a whole bunch of services to facilitate getting people into the cloud. A lot of it is stuff which I wouldn’t ever consider even touching - however their EC2 (cloud computing) S3 (cloud storage) and Cloudfront (Global Distribution) services are phenomenally useful for making standard websites faster. I’m not really going to talk about EC2 here, but instead go into some more detail about S3 and CloudFront.
S3 actually stands for Simple Storage Service. It works a bit like Dropbox in that you can upload files through a visual interface, but it also provides developers with a code interface (an API) that gives us the ability to take files and dump them in a ‘bucket’ to be accessed later.
CloudFront is a content delivery network (CDN) that handles all of the distribution around the world I mentioned earlier. It makes your files available at a regional level to people within that area - speeding up their access to the files and making your website faster.
Fantastic - well this is where things get even better, there’s a Wordpress Plugin which handles (almost) all of this for you. WP Offload Media (formerly WP Offload S3): An Amazon S3, Digital Ocean Spaces & Google Cloud Storage Plugin for WordPress - Delicious Brains - the fantastic team at Delicious Brains have made this delightfully simple plugin called WP Offload Media, with just a few (relatively) simple steps you can offload your entire Wordpress Media library across to Amazon S3 and then serve it to people around the world with CloudFront.
Their site has plenty of installation instructions on how to get started, so I won’t bother writing them all up here - but here are four specific reasons that using AWS S3 with Wordpress is a good idea:
Sure, there’s an initial upfront cost when it comes to buying the plugin (although at Glue Digital Studio we have an agency license and if anyone comes onto our hosting package we’ll set the service up under our license) and a minute cost for storage (we’re talking pennies for most use cases) - however the cost of having local storage on a server is immense in comparison.
You also only pay for what you use whereas buying local storage volumes normally come in 10GB blocks and are charged presuming you’re going to fill the whole thing.
With any Wordpress website the server is doing a lot of work. It has to process a development language and turn that into a web page, it has to run a database and grab information from there and if you’re storing the files locally it has to fetch these and turn them into the visuals that you are looking at. If you could remove that final step, you’re taking an immense amount of pressure off your server. Not to mention the global availability of the files so no matter where in the world someone is looking at your site, they’ll get the files delivered to them from that location.
I’ve done a lot of site migrations in my time - and the one thing that will always slow it down is moving the media library. Most Wordpress theme and plugin sets sit between 10Mb and 200Mb - a site which has been going for a few years with regular blog updates and the like can accrue a media library in excess of 4Gb. That’s an awful lot of data to download and then re-upload if you want to move to a different server. If those files are stored on S3 however and you want to move servers - you only need to download the theme / plugin files and upload those to a new location, cutting the time required to do a site migration by over 50% usually.
Worst Case Scenario - your site gets hacked and brought down, now of course you’ve been doing regular backups… but these backups always need to be stored somewhere - having to store backups of your entire media library is a chore, it takes up room (usually on your strapped for space server) and can be time consuming to restore. If all of these files were in S3 however, the only thing you’re storing and then restoring and the theme files and the plugins. S3 has its own backup mechanism in place and provides 99.99% uptime guarantees.
If you want to have a chat about migrating your Wordpress Media library across to Amazon S3, then drop us an email today to [email protected] and we’ll be more than happy to have a chat and see if there’s a way we can help out.