Our friends at Travel Massive – the world’s largest community of leaders and innovators in the travel industry – have listed Joviam as one of the key factors in the huge scaling of their platform.
Take a read of their latest blog post covering tips on how to scale your blog below.
Scaling your travel website is a great problem to have. I’ve decided to share some of my personal tips for how we’ve scaled Travel Massive’s fast growing community platform.
A quick background. I’ve been developing the Travel Massive community platform for the past two years, and over that time we’ve scaled from 500 members in January 2015 to 30,000 in May 2017 – a factor of over 50x. Over this time I’ve employed a number of strategies to support our growing membership with the help of Joviam.Here’s my 12 tips for any travel company – travel startup, blog, travel agent, hotel, or destination – for scaling your website hosting and maximising your performance.
You should care about performance! Because the slower your page loads, the less chance visitors will convert to paying customers, and the more money you’re going to miss out on making. If your website site is making $1000 per day, a 1 second page delay could potentially cost you $2,500 in lost sales every year (via Kissmetrics blog).
Host the closest. Is the service physically located close to your customers? No point hosting your server in Tokyo when your customers are in Brazil. You can use a service such as Pingdom to run a free speed test to a website from different locations. Ask you hosting provider what kind of bandwidth they have – this will be the limit of how fast visitors can download your page.
Ensure it’s not “shared hosting”. Shared hosting is kind of like being in a hostel – not all the infrastructure is exclusively yours, so if someone else is using the shower you’ll have to wait your turn. Shared hosting is too often the downfall of most blogs because these providers make their margins by squeezing hundreds of customers onto one tiny little server.
You get what you pay for. A good hosting provider should not put you out of pocket but equally if it’s too cheap, you’re unlikely to get great performance or support. As a rule of thumb, spending less than the price of a couple of beers a month is too cheap. Invest in your website performance and you’ll earn it back in increased sales conversion.
Optimise your database. Websites and apps can suffer from poorly optimised database configurations. A slow database query can translate to seconds of time for a visitor to wait for a page to load. If you’re using a relational database such as MySQL (one of the most popular) then you should have your developers optimise the database’s indexes and queries so they are fast.
Use SSD for databases. Another strategy available is to store your database on SSD (solid state drive) storage which is 100x to 1000x of times faster than conventional disk storage. Not all hosting providers offer SSD so check first that they offer this. Travel Massive uses Joviam’s super fast SSD for our database layer.
Less is more – be lean. Keep your code base to a minimum. For WordPress users – keep count of your plugins and reign them in where possible. Plugins are great, but they will almost certainly increase your page load time. The more functionality your website has the harder it will be to scale. 80% of your users will use 20% of your features (80/20 rule).
Offload images to a CDN. Content Distribution Networks (CDNs) can host images (such as profile pictures, backgrounds) on your behalf – serving them from a fast network of servers around the world. The means your own server has less work to do. Providers such a Amazon CloudFront and CloudFlare offer CDN solutions. If you’re using WordPress then there are plugins to “CDN-ify” your website with one of these services.
Cache it, don’t re-create it. Most website content is “static” and doesn’t change much, so you can use a technique called “cacheing” (pronounced like the money – cash) which will store a copy of the content so that future requests can be served by a cached version. Cached pages can be served millions of times with little overhead. There are many levels of cacheing and it can get quite technical – but the starting techniques are with memcached (which can store cached database objects), and FastCGI cache (which can store cached copies of html pages).
Backup, Backup and Backup. This is obvious but most often the last thing you think about, but don’t forget! You should back up your database and your files on a regular basis (preferably daily) to somewhere other than your own hosting. Amazon S3, Google Drive, and our provider Joviam provide cheap, reliable storage for cloud backups – and there are plugins for WordPress than can help. As an extra safetey measure – perform a periodic backup of your backup to your laptop or another server. Make sure you keep track of your backups and keep them secure.
Use Analytics. When you’re scaling your app or website, you need to know what pages or services are most utilised so you know where to put your time and money into scaleability. Having a good analytics implementation such as Google Analytics will help you understand your traffic, page load time, and identify potential bottlenecks. You can also measure your server or instance performance with software tools such as Nagios or Prometheus (on Linux/Ubuntu).
Thanks for reading my tips. If you’re a developer and want to discuss scaling tips at a more advanced level – please comment on my scaling discussion on Travel Massive Answers. I’d love to hear from you!
Ian is the founder of Travel Massive – the world’s largest tourism industry community. When he’s not developing Travel Massive’s open-source community platform, he’s swimming at Manly beach or can be sometimes found in his home state of Tasmania.