I guess the word is out.
Surprise.
I was making iPhone games.
We have done moderately well since our launch almost a month ago, and now that the storm has finally subsided. I can finally get drunk in my room and write this post about the lessons I have learned thus far. Don't worry, I'll keep this short, only 3 lessons in this post.
Thank you to everyone in Silicon Valley, old and new friends alike, that have helped me get to the point where I am at right now. I feel like I'm at the top of the world, and falling to the center all at the same time. It is exhilarating, I am metaphorically-starving (see bank account), but I would not trade this feeling for anything.
The first lesson that I want to share is, all serious startups should be in Silicon Valley. I have yet to see a single company or person that I have wanted to meet or talk to that isn't in the valley. At any given coffee shop from San Jose to San Francisco you can see at least one or two startups using it as home-base. There is no other place in the world that is as full of innovation and support for innovation than in Silicon Valley.
When we launched we had no idea how to scale Rails. None of the books or blogs on Rails will tell you because the fact-of-the-matter is that most Rails applications will never need to scale. Even when we bumped up to managed hosting at Engine Yard (you guys rock!) we were told that we were producing 10 times the traffic of the other companies at our same hosting level. Incredible as an outsider, insane from someone trying to manage the whole ordeal.
So that is lesson #2, if you are successful, prepare to fail. Everything you think won't break, will break. Different problems appear at different levels of scaling, and all the code you wrote will need to be severely refractored in order to scale to the next level. Using managed hosting was the best step that we took as a startup because scaling has to be approached from all angles, and as a team limited in resources (by definition of a startup) you will have to get all the help you can get. Managed hosting is quite expensive, but it's worth it, if you are serious about building a company.
For those that are wondering how well Rails scales, it scales. If you are interested in the technical high level overview, the path to scaling for any language using a relational database (MySQL) is as follows: shared hosting, dedicated hosting, bump dedicated, split db and app servers, memcached everything, bump # of app servers, bump size of db (RAID 10), and finally sharding. There is nothing unique to Rails that doesn't allow it to follow the exact same path, and at the end of the day, every new startup should jump onto a framework because it will make your life one million times easier. I promise.
Which is my final lesson, number 3 for those counting at home, that I want to share today; use a framework (preferably Rails). If you're penny pinching the maginal differences in hosting costs, your business model sucks and you're going to fail anyways.
Overview
1. All serious startups should be in Silicon Valley.
2. If you are successful, prepare to fail.
3. Use a framework (preferably Rails).
oh advertising...
1 year ago