oliver wrote:
Let me ask you a question, if scaling is such an important issue for you, why are you trying to build this all from scratch on a couple of Linodes?
It sounds like you're in the iphone app business, not in the cloud building business so why waste your time and resources with building something that you can perfectly buy from some place else ?
If I'd build an internet-based iPhone application I'd probably host it on something like EC2 (or maybe maybe google app engine).
You wont have to worry about fall-over, DDOS, adding linodes to your "cloud", DNS balancing and administration in general but can focus on the application work.
Just my 2c...
This is of course a great question. There's a couple of reasons:
- flexibility
- cost
By flexibility I mean I want to be able to architect whatever I want. Case in point. GAE is nice and all but they don't let you do keep-alive or any form of chunked transfer / streaming back to connected clients. Thus, you are left with polling. The associated connection overhead for iPhones in the wild (not just on Wi-Fi networks) is horrible. Something like EC2 would work for this but this leads to my second point, cost.
I am a "startup" and have no funding. I do "OK" with the iPhone stuff and want to make it grow. This service might help that a lot. However, I have to do it with as little cost as I can manage, at least up front. While everyone says EC2 is not expensive, they are comparing it to the cost for larger companies than my own. To me, EC2 becomes pretty expensive compared with doing it myself on Linode. I don't need a true "cloud" solution really. I'm fine with over-provisioning on Linode precisely because it's cost-effective.
If I can hook up 3-4 linode 360s in 2 data centers, replicate the database between these 2 data centers, and somehow load-share between the main/public-facing linodes in each data center, I'd be thrilled.
I started this thread in hopes that others would have done this already and would offer some advice to a "scaling newbie"
I enjoy this kind of work, have always wanted to learn it, and like what I see at Linode. That, coupled with cost savings makes me at least want to design the thing head to toe before saying "yeah, screw that, let's just spend the money on EC2 or Heroku or XYZ".
Thanks!