Though we're preparing to completely change out the Crosscut.com server software and hardware, I'd like to take a minute to describe the new system, which we call Yesler.
The reasons to switch to a new platform are many: increase capacity, increase development speed, reduce editorial workload, enable cheap experimentation, and boost developer happiness. All of these reasons support our central goal of better serving our readers and the wider web. As newspapers nationwide are cutting staff and losing revenue, it is more important than ever that online news startups like Crosscut stay lean, nimble and innovative.
For hosting, we're moving off of a Spry VPS and onto the Amazon cloud. I've had a great experience with Amazon's EC2 and S3 services in previous projects and since that time the AWS team has released static IP#s and NAS to make it the clear choice for dynamic service like Crosscut, especially as we move into media types other than text and still imagery. It also helps that the Amazon Web Services team is within yelling distance of the Crosscut offices and holds office hours at StartPad.
Each of our servers in the cloud is running a solid, field tested combination of open source technologies which are called LAMP (Linux, Apache, MySQL, and Python) in the web development world. Large sites like Wikipedia, Yahoo, and Facebook run on LAMP so it's proven to be quite reliable.
Our custom software is based on the Django web framework, which was originally created for use in a newsroom and so has been well suited for our needs. The basic platform now supported by the Django Foundation and has a very active developer community which just finalized Version 1.0. The timing is perfect for us because though the Django has been in production use for years it's seen a lot of polish for this first big release. Django is written in Python, which is a clean, modern programming language in common use on the web.
Fronting the Django services for dynamic content is the Apache web server/Memcached duo which handles load balancing, static image serving, and other, more esoteric methods of quickening our users' browsing experience.
Nestled between Django and Apache is our code, Yesler, which defines the model, logic, and display for an elegant and nimble publishing system which will be the foundation for future technical work. In the next few days we'll switch over to using Yesler on the main servers of Crosscut, and then in the following weeks we'll roll out new features and improvements using the new capabilities which Yesler provides.