My post on TYPO3 in the cloud prompted an interesting tweet:
@danfrost so how do you propagate files without nfs??
I had mentioned that this was one of the stickier points, in my previous post and whether that’s what prompted this I don’t know but it is always an issue with CMS and blogging software. Every app saves stuff to the file system because… well, the file system is there just waiting to have images, PDFs and mp3s put on it.
Migrating legacy apps to the cloud and making them speak like natives isn’t just matter of making sure you can work around the way they were built. In the first instance, yes, it is – but beyond your first foray into the cloud you should aim to get more out of it by using the native cloud technologies.
WANT TO GET INTO THE CLOUD QUICKLY? SIGN UP FOR OUR AWS TRAINING.
I call anything which is built, from the ground up to be scalable to very high traffic levels “native” cloud, not because that’s the right term but because it fits with the architecture we try to achieve in the cloud. SimpleDB, S3, CloudFiles (by Rackspace), MapReduce are all such technologies. They are, by design and implementation hugely scalable.
So back to the evil file system. NFS isn’t evil, but when you get into the cloud you have to ask one question: why does every server really have to see all these files? Most of the time it’s just the browser which requests the file – say, the image, the PDF or the zip file.
Many people use S3, CloudFiles or some other static hosting or CDN to solve this problem, which takes load away from each web server and does make the system scalable. If you’re using this, then you’re on the way to doing full-blown cloud hosting. It’s the first step. (Ok, there are a lot of step, but it’s the first.)
The next step is to make the CMS upload images to the static hosting rather than storing them locally. For our proposed talk at t3con11-sf we’re going to prototype such a system for TYPO3, similar to the WordPress plugin which uploads assets to S3.
This very, very simple tweak to any legacy system takes a noticable load off the web server and is the start of removing the single points of failure.
But – to backtrack on what I’ve just said – NFS is sometimes required and does work in the cloud. We use it in production on several sites, though there are more cloud-friendly systems which we’re going to cover soon.
WRITTEN BY DAN
ON THE 25TH JANUARY 2011
Want to receive our free newsletters and special alerts?
Simply enter your email address and hit enter/return.