Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"EC2 is a very good option for scaling on the cheap."

Until you start using serious bandwidth. Then it's extremely expensive.

As you say, if you have a massive spike for an hour or something due to the nature of your service, maybe AWS makes sense rather than paying for the full day, but I think that's an extremely rare usecase.

Also if you're using a language/setup that isn't too efficient, then AWS may be a second best option to switching language/framework etc.



Sure, but that bandwidth is very flexible also; you GET 800GB bandwidth mentioned in the above plan, but what if you just need 400GB...or 1600GB? AWS will scale from your launch day till the day you go IPO, or at least are at the stage when you can buy terabytes of bandwidth in bulk, cause you know you'll use it.

Really don't agree with the last part though...unless your code is really slow, a rewrite is only going to waste your time and focus your attention on the rewrite rather than developing your business. Defiantly improve as you go...most of us are geeks, we'd have a massive grin on our face if we saved a few milliseconds from each request, but you should only do it if it's actually worth it! :)


I'm more meaning that changing architecture/language may mean you can run the entire thing on a single server, rather than 10.

Doing that sort of optimization helps a lot with scaling later on.


Not if that sort of optimazation means that you can ONLY run it on a single server!


Where do people get the notion that EC2 bandwidth is expensive from? Pricing is $0.17 per GB for first 10,000 GB and drops after that. $0.17 per GB is actually pretty cheap, and unless your shipping large amounts of high quality video, you are unlikely to rake up a big bandwidth bill.

Slicehost (which I am a customer of and have absolutely nothing against) seems cheap if you look at the bundled bandwidth, but they can do that on the basis that most people (e.g. me!) don't use anything like their quota. If you want more on top, their FAQ says that pricing for extra bandwidth starts at $0.30 per GB.


And linode is $0.10 per GB.


"Also if you're using a language/setup that isn't too efficient, then AWS may be a second best option to switching language/framework etc."

What? The monthly cost of a server is equivalent to a few hours of dev time. That's money better spent on making new things, not premature optimization.

I'm all for easy fixes that speed things up, but you rarely need to switch language/framework to do it. Doubly so because slower languages like Python and Ruby make it easy to plug in bits of fast C. More likely than not, someone has already done that, and you just need to start using a better library.


It depends what you're making. Some webapps might need 10 servers if you write it in php or ruby on rails, but may only need 1 server if you write it in c/java/something else.

For example, I could probably run Mibbit on around 50 servers if I just used apache/python/php/ror. And as far as I know that's pretty much what Meebo did. They had the money to throw at hardware. The alternative though is to re-architect and optimize at the early stages.

It's a longer term investment. I've spent a lot of time in my case, but I've saved a lot of scalability headache and cost, later on.


"Some webapps might need 10 servers if you write it in php or ruby on rails, but may only need 1 server if you write it in c/java/something else"

@axod, this statement is completely out to lunch. I don't even know where to start.


You don't believe a custom written lower level implementation would be more efficient than using a general purpose framework stack?


I think he believes network or disk i/o becomes the dominate factor long before cpu for 99% of webapps.


I'm not talking about the speed at which code executes, I'm talking about how many users you can support with a single server. Or how many servers do you need to support N users.


axod, you set yourself up with the 10 to 1 comment. I work every day in C# and we are currently moving all development to Java, at home I code in ruby. I will tell you from experience that your language plays a very small part in how fast your web app works. I will say without a doubt that programmer competence is the real factor. How the code is written will determine more how it runs. But for the sake of argument I can guarantee that if you wrote a web app the exact same way in Java and then ruby, or basically any modern language, one would not consume 10 times the resources of the other. Other factors will start to bottleneck you long before that, bandwidth, memory, cpu, etc.


I'm not talking about pure language choice. When you write php, you probably have to put up with apache. Maybe you also put up with using a database. It's those things that can limit your scalability.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: