I am about to start a project that I hope will someday need to scale. The key question for me is: should I invest now in developing this opportunity, or should I cross this bridge when I get there?
I know how all this happens: everyone thinks that their project can scale, but most projects never do.
Is there a set of best practices that will allow you to scale more easily at a later stage without investing too much in something you will never need?
Obviously, I have no experience with scalable websites. I am currently leaning towards Scala / Play! / Akka. From what I can get on the Akka website, it is very suitable for such a project (in that it provides a set of tools that allows you to develop on one machine and scale to an arbitrary number of machines).
The project is a consumer-oriented website that includes user interaction (comments, messages, voting, etc.). However, the focus is on editorial work. This is not Facebook :)
Without experiencing any of these technologies (my experience mainly comes from PHP, AS3, Objective-C), I'm probably too much on my record now. But then I'm not going to do it right away. I know that I need to gain experience using Scala and Play! the first.
Any advice is appreciated.
source share