It’s been a busy but extremely fruitful couple of months for TeachStreet: traffic is way up, quantity and quality of leads have improved significantly, and site performance is as fast as ever.
Our official blog post simplifies the last bullet point to “new servers”, which certainly play a big role, but we’ve made a lot of changes behind the scenes over the past few weeks that have made things extra awesome.
- New servers. Our core infrastructure is on dedicated hardware, much of which was roughly 3 years old. Faster disks, more and faster CPUs, and a lot more RAM go a long way.
- We setup a second datacenter. The new location is only 15 minutes away in Tukwila, so this doesn’t save us from the west coast falling into the ocean, it does guard us from any disasters occurring at the Westin Building. Geographic diversity would have been nice, but our existing hosting provider runs both facilities, so this was easiest.
- We moved our DNS hosting into the cloud. I’ve always been reluctant on this one, having working intimately with DNS for a long time, and not wanting to spend the money, but the folks over at Dynect have been great, and their performance and ease of management are killer.
- PostgreSQL 9.0! Having come from several big MySQL installs, I’ve been frustrated for years at the lack of built-in replication in Postgres. Well, they finally added it, and so far, rock solid (and well designed).
- MongoDB 1.6 For the good reason that things were working fine, we’ve been on MongoDB 1.2 since we started with it last year. There are lots of niceties here that we’re just starting to take advantage of.
- Chef. We’ve been using puppet for provisioning boxes since before I started, and lets just say it has a lot of quirks. Opscode did an awesome job with Chef, it’s clean, powerful, and super easy to get started with when using their hosted platform.
- Unicorn (and rewriting our Capistrano recipes). In two words: hot deploys. In three words: cap production deploy.
- Last but not least, optimizing code. While we strive to write things well the first time, it’s nice to commit time to profiling. There were a lot of things that worked just fine when we had less traffic and less data that we were able to rewrite and significantly improve upon given our current situation.
We’re still working through some kinks, and there’s plenty more we can do in the future, but overall, things are looking really good. For now, we’re back to building new features and improving experiences, and have some great stuff coming soon, so if you’re looking to advertise your piano lessons or find a guitar teacher, come check us out.
p.s. All of our devs rock, but swindsor really kicked butt working on this project with me. We don’t have a dedicated systems/IT person, and both of us would much rather be writing software than working on this stuff, but I’m glad we took the time to focus on it for a bit and position ourselves well for continued growth.




