Neil Middleton

Hosting Kyan.com

It’s now been a week or so since we put the new Kyan.com live and we’ve been getting nothing but rave reviews from everyone who has seen the site. Whilst this is an amazing thing for us to get, it does come with some added side affects, namely the thirty thousand visitors we’ve had from around the globe coming in to see the new site for themselves.

Hosting this sort of thing can usually be a tricky affair as normally a corporate website doesn’t normally receive enough traffic to warrant any high throughput hosting from a cost point of view, but you also don’t want to have the site go down when some high profile twitterers mention your site at peak time.

To the cloud!

So, enter Heroku stage left. We’ve been using Heroku for a few months now, and some of the team have a few years of experience with the platform. Kyan is a Heroku development partner so we thought we should probably eat our own dog food and host our website on what we recommend. Everything you see before you is coming to you from one element or another of cloud hosting. We’re using Heroku for the site itself, S3 for some of the graphical elements, and services such as RedisToGo for some ancillaries such as caching.

Due to the flexibility of the platform we’ve got all sorts of background monitoring and scaling processes running, being able to see more of what’s happening on the site than ever before.

Keeping it fresh

Normally we would resort to using static pages for a site which doesn’t change that much, but Kyan.com is still a fully content managed website using a custom backend. What’s more there is content that is always changing. For instance, in the footer of each and every page we have some statistics about the company. These stats are changing second by second and update on the site regularly. A feature such as this instantly makes static caching less than ideal.

Our main focus with the hosting was to be able to return pages nice and snappily, whilst also being able to scale as far as we may need to without any fuss. This ruled out most standard hosting straight away. Using Heroku allows to scale our resources on-demand, so when floods of traffic come we’re able to deal with them and ensure that users don’t see any issues.

Caching

So, how do we ensure we can scale? Well, 90% of the site you see before you is coming from Amazon’s S3 service which is an ideal platform for simple serving static files such as CSS and images up to some massive throughputs (Personally I’ve seen 18,000 requests/second on S3 before). By using Rails 3.1 and the new asset pipeline we’re able to do this automagically, making the development and deployment process as streamlined as possible.

We’re also doing some low-level caching, for instance in the footer. By using a Redis key/value store we’re able to cache the website footer for a few minutes at a time periodically updating on a needs basis. This means that every user isn’t having to wait for the live stats to come through, we’ve already done it before they turn up.

Overall we’ve had a great time using Heroku for Kyan.com and we’ve been able to scale for the response we’ve had without batting an eyelid. What’s more we’ve got a stack of features behind the scenes that we get for free that we may talk about in the future.

Tags: rails, hosting, heroku, kyan

See more posts

Comments: 4

Brian Johnson
commented on

Congrats on the successful launch of your new site, it looks great! And just knowing what goes on behind the scenes is quite astounding. It's obviously a very elaborate, but powerful and flexible system behind the scenes. The cloud is the future!

Amadeo Brands
commented on

Great website I love it!!
How do you keep track of all the meter down below ? :P

Edgar Quintero
commented on

Love your site

Blake
commented on

Really cool article. Can you speak more to your deployment process? I'm curious how you do development then push to S3. Thanks.

Add a comment

Note: comments are moderated before publication.

Most Popular

Garmin Edge 705 Data Recovery with DD & XML

Joel Richards

After recently taking part in a race across Scotland, using a Garmin GPS device (Edge 705) I had around 12 hours of GPS data which unfortunately seemed to get corrupted during the ride. The device was properly displaying the data on the unit, but Windows, OSX and Linux were all …

The Entifyr

Steven Wake

The Entifyr is a small web application that started life as an personal experiment to automate the removal of problem characters from client supplied content (usually Microsoft Word documents). The offending characters are replaced with corresponding entities (hence the name) al…

Web Meet Guildford is back

Paul Sturgess

After the resounding success of the first Web Meet Guildford (WMG) we’re excited to announce that we’ll be hosting another meetup later this month. So if you make websites and you live or work in the Guildford area, please do join us in the 3 Pigeon’s pub on Guildford High Stree…

Web Meet Guildford, join us for a drink

Paul Sturgess

It’s been over a year now since we moved to Guildford and we’re really feeling settled in our new home on the High Street. We’ve got our artwork on the walls, an arcade machine setup and we’ve even hosted a live gig. However, one thing we haven’t done yet is meet our fellow web …

Google+