Things have been a little slow lately in terms of feature releases, so I thought I’d pull the curtain back a little and give some insight into what we’re doing. We’re not just sitting here! Note: Some of the stuff below is fairly technical, but don’t be worried if you don’t understand it. You don’t need to understand any of this to actually use Obsidian Portal.
Micah – Rails 3 Upgrade
The software that powers the website is called Ruby on Rails. We started Obsidian Portal about 5 years ago, when Rails was in its infancy, with version 1.2.3. Since then, Rails has progressed through 2 major upgrades: Rails 2 and Rails 3.
About 3 years ago, we upgraded from Rails 1 to Rails 2, and this was a fairly big undertaking. Since then, we’ve been on Rails 2, even as Rails 3 has come out and become the industry standard. It’s finally gotten to the point where we need to upgrade to Rails 3. It’s hard to find documentation and support for things in v2 anymore, and so to stay on the cutting edge, we have to run in place for a while.
Unfortunately, the Rails 3 upgrade is huge, touching pretty much every part of the site. If we’re lucky, most users won’t see any changes, but when you make this make code changes there will undoubtedly be bugs that appear. On the plus side, once we finish this, we’ll be better positioned to add new features faster.
We don’t have an ETA on this yet, as it’s really tough to tell how far we have to go. I’m working my way through the site, page by page, fixing any issues I find. I hope to be done sometime by the end of the summer, but I’m not sure. To speed things up, we’ve hired The Agile League, an Atlanta-based Rails shop. I know the people involved and they do excellent work. I just hope they can stomach working with my crappy code!
Ryan – Server Upgrade
Our server setup is also a little long in the tooth, and so we decided to upgrade to some new virtual servers and the newest software versions as well. We’re also restructuring a bit to take advantage of some of the cloud resources (I use cloud to mean Amazon AWS or Rackspace-type services, not just ‘on the net’) that have become more mainstream in the past few years. We are moving to hosted versions of some of our infrastructure pieces (database, cache layer, email sending, a few more) in order to cut down on the number of services that we have to maintain.
Just like the Rails 3 upgrade, there won’t be much difference to see here, except hopefully things will be noticeably faster. On our end, we’ll have less infrastructure problems and things will run a little smoother, freeing us up to spend more time on features and less time fighting fires (figuratively…).
Again, no real timelines here, but we hope to have the server upgrades ready to go along a little before the Rails 3 rollout. I don’t usually like to put 2 big changes into the same deployment, but it may make sense this time. We’re planning to run a big round of testing on a test server, and we may as well test both the Rails 3 upgrade and the new server setup.
So there you have it. Things look quiet from the outside, but we’re scrambling hard and fast behind the scenes here to make sure Obsidian Portal stays on the bleeding edge. We hate having to put off feature upgrades and cool new stuff, but we think these infrastructure improvements are necessary and worth the investment.