Worse Is Better Scaling
Posted: October 11th, 2007 | Author: kevin | Filed under: Programming | View CommentsI’ve been keeping up with the conversations around Tim Bray’s WideFinder project. It’s spawned a couple of interesting threads on erlang-questions and several insightful blog posts
Aloof Schipperke (hopefully not his real name) observations on the possible sad short-term future of scaling caught my eye. Here’s the relevant bit:
At the risk of sounding like a pessimist, I think we’ll end up with thousands of little SOA web services engines. Each one handling a single piece. Each one with its own HTTP stack. Each one using PHP/Perl/Ruby/etc to implement the service functions. Each one sitting on top of a tiny little mysql database.
This is how I see development shops today approaching problems of scale. That’s not to say that modular, loosely coupled subsystems aren’t a good thing because they are. The part I find scary is the approach to spinning up multiple copies of stacks (HTTP, application, database, etc.) in order to run these subsystems. It seems resource wasteful and an absolute bear to manage.
I know that there is a fair amount of resistance to Erlang for a lot of different reasons. Whether or not Erlang will be a mainstream language is unclear to me. Even if Erlang doesn’t go mainstream I really hope that some of the core Erlang memes like “writing distributed code should be easy” or “concurrency is cheap and easy” propagate into whatever becomes popular. I have a hard time seeing how these memes can be adopted by the current crop of mainstream languages but I’m not an expert and there are a lot of smart people work on this problem.
I’m not going to wait for the mainstream, though. Like I’ve said before, Erlang suits my needs just fine. I’ll be using it while I watch the mainstream figure out how to adopt these concepts.