4 ms·
Currently in a battle with management about whether to launch on AWS or not. They want to, engineers don't. Engineers are largely driven by raw CPU performance.
by jkat 14y ago
Currently in a battle with management about whether to launch on AWS or not. They want to, engineers don't. Engineers are largely driven by raw CPU performance. Management, well, they seem to be thinking "no one ever gets fired for picking..."
Anyways, when you read all the effort Netflix has put into their cloud architecture (1) and the hiccups they (and others) have...I just don't know what hope our small team of 5 has of success. It seems like, to succeed on the cloud, you really need to build your app specifically for it (which we haven't done!)
1 - http://techblog.netflix.com/2010/12/5-lessons-weve-learned-using-aws.html http://techblog.netflix.com/2010/12/5-lessons-weve-learned-u...
- raverbashing 14y ago"engineers don't. Engineers are largely driven by raw CPU performance" There are several reasons to not use AWS. CPU is not one of them. Especially when you have the choice EC2 offers (though at a price) But unless you're doing something very, very CPU intensive (like doing heavy math like CFD, integer programming, etc) this is irrelevant. My bet is that you aren't.
- lucian303 14y agoCPU is a limiting factor for a lot of applications. And EC2's offerings are paltry until you get into the really expensive VMs. But it's not just CPU, it's the overall performance. Engineers want to run on hardware for many more reasons than CPU. And for most apps it's the rational choice. After all, you can build your own data center for the price you pay to rent some virtual machines. tl;dr: With cloud services you pay thousands a month for _renting software_.
- Negitivefrags 14y agoReally? I was just using aws to run some load testing bots against our game servers and found the CPUs even in High CPU instances pitiful for the price. The worst part about it is that the performance is so variable between instances. Some could comfortably run 1300 bots while others were slowing down so much after 750 that they started dropping bots. Because of that, it's easier to just run 750 on each which is wasting resources. My desktop PC can easily run 4000.
- raverbashing 14y agoYes, desktop PCs are much faster than an EC2 instance Maybe Linode or Rackspace (or other solution) is better for your case. Still, apparently for your case you can just add more servers according to demand, which is the advantage of EC2
- jkat 14y agoI know I was vague, but we really are CPU-bound. We do some fairly heavy set and bitwise operations. Our smallest unit of work is about 3x-5x slower on AWS (while costing about 4x more than alternatives). This can't be further parallelized without a rewrite. The problem is compounded by the negative impact this has on concurrency - which can be solved by adding more machines, but that just makes AWS that much more expensive. A different, less important system, does image manipulation. This is also very CPU-sensitive.
- raverbashing 14y agoInteresting Maybe I need to rephrase what I said: AWS instances are very bad at CPU, but the flexibility to add more instances and different instance types can compensate for that Yes, maybe you can try Linode or Rackspace to compare their CPU performance
- lucian303 14y agoYes, I agree. You must build not only for "the cloud" (whatever that means) but for your specific "cloud" provider like AWS. Then you're stuck with them. You can (and should) of course build a bridge to such services but there are some managers that just don't believe in bridges or anything rational at all. Bezos is a brilliant CEO, especially now that he's stopped pixel-pushing. It wasn't always like this, but I'm just here to collect a paycheck. The fact that I'm really good at what I do is incidental and hardly comes into play as it's not usually called upon. Sad but true.