7 ms·
Amazon EC2 Spot Instances - And Now How Much Would You Pay?
- fizx 17y agoThey need to make it so that when you do an elastic mapreduce job, you can get the cheapest job that will finish in a specified amount of time.
- cperciva 17y ago... the cheapest job that will finish in a specified amount of time. And how exactly would you determine that? We're talking about a spot market here -- and a large part of the supply comes from Reserved Instances which were purchased for disaster recovery purposes and aren't being used. If a disaster strikes, the spot price will go up in a hurry.
- chrisbolt 17y agoWhy would someone buy Reserved Instances for disaster recovery purposes? Why pay for them ahead of time if they aren't being used?
- blasdel 17y agoMainly so that there'll be no delay in capacity when allocating the instance. You break even on the reservation fee if it's on half of the time.
- vidarh 17y agoBecause you want to make sure they're actually available when you need them, and that the rest of your primary providers customers haven't thought the same thing and fill EC2 to capacity before you get in there. I know I wouldn't want to be the one to have to tell my boss that we couldn't get our DR setup running because we didn't have any contract in place that ensured capacity was available.
- fizx 17y agoThe pricing has to be cyclical on a daily/weekly basis, right? Plus, the algorithm could be opportunistic and take advantage of temporary dips in price/utilization.
- forkqueue 17y agoIt never ceases to amaze me how an online bookstore can be so ahead of all the self-professed hosting providers. I'm excited to see what innovations come out of this. Of course, this will only become really interesting when there are other providers doing the same.
- cperciva 17y agoIt never ceases to amaze me how an online bookstore can be so ahead of all the self-professed hosting providers. Scale. It doesn't make sense to do things like this until you have thousands and thousands of nodes -- most hosting companies simply aren't anywhere near as big as Amazon.
- akamaka 17y agoI disagree. When Amazon started out, their datacenter couldn't have been nearly as big as those of top hosting companies. I can't imagine it would have taken more than a handful of Google-style shipping crates to host the site. I'd attribute their innovation more to their core values: Ignoring competitors - probably the biggest factor. They actually sat down and thought about what people want, rather than doing what everyone else was doing. This puts them ahead of traditional hosting providers, as well as competition-oriented companies like MS. Customer focus - having an insanely strong focus on the customer distinguishes them from equally innovative competitors like Google. Commitment - Amazon recognized from the start that they had limited resources, and very carefully chose to enter the cloud computing market, ignoring all the other proposals. This focused them more, while also giving the public more confidence in the service. Compare Google App Engine, which isn't taken with the same seriousness. Other than that, relative small size helps. Their customers know that Jeff won't eat them for lunch at the first opportunity. And having a few billion dollars of cash in the bank doesn't hurt either.
- cperciva 17y agoWhen Amazon started out, their datacenter couldn't have been nearly as big as those of top hosting companies. Sure. But they didn't do Reserved Instances and Spot Instances when they started out. You only need a few racks in order to make renting Xen instances by the hour feasible; but in order to make a market for Spot Instances reasonable, you need to have enough "spare" capacity to support a stable market (i.e., one where a single customer won't dramatically shift the market price) -- given the variety of instance sizes, I doubt this would work without having hundreds of racks of spare capacity.
- seldo 17y agoGenius. This maximizes their hardware investment and allows a whole new class of applications which need large amounts of cheap computing power but are not fussy about when the work gets done. GENIUS. Revolutionary beyond my capacity to visualize. This is going to change the way the cloud computing space works. The really interesting part is that physical location is one of the price parameters: picture the spinning globe, with real-time applications constantly migrating to instances where it's daytime for maximum performance, and asynchronous applications hugging the dark side where computing is cheap. As a friend of mine said, this is to cloud computing as adsense was to online advertising: i.e. revolutionary, and an absolute cash fountain.
- fizx 17y agoWhat's interesting about this to me is that when combined with the currently free inbound bandwidth, you could have a pretty damn cheap crawler.
- swolchok 17y agoI was about to post a puzzled disagreement, but they did waive inbound bandwidth charges a week ago. http://aws.typepad.com/aws/2009/12/aws-price-reductions.html http://aws.typepad.com/aws/2009/12/aws-price-reductions.html
- jacquesm 17y agoNow if they would get their outbound charges in line with what you pay at 'regular' hosting providers it would actually start to make sense. Currently if you shop around a bit you can pay anywhere from $.80 to $1.00 for a dedicated megabit, including the machine. Amazon doesn't come close to that.
- cperciva 17y agoCurrently if you shop around a bit you can pay anywhere from $.80 to $1.00 for a dedicated megabit, including the machine. You're clearly a much better shopper than I am. Where are you seeing these rates?
- RK 17y agoFrom an architectural point of view, because EC2 will terminate instances whose bid price becomes lower than the Spot Price, you'll want to regularly checkpoint work in progress Are they saying that they will kill your instances or kill the bids for instances??
- seldo 17y agoKill the instance itself. It recommends you back up your results frequently to, say, Amazon SimpleDB :-)
- dotBen 17y agoI wrote a list of jobs I could perhaps pipe to this method of instance procurement but the fact that the process could be terminated at any moment really messes things up. I'm not even talking about "high-availability", but the cessation of a key node in a dependency tree of instances messes stuff up (at least for my problem space). What is missing here is a "5 minute warning" API call before shutdown that would let me engineer in a) the opportunity to save any long-duration calculation to disk and b) have my software make a decision to instantiate a full-price instance if my queue is too long and having no cheap-o priced instances running is going to mess things up. Thoughts?
- cperciva 17y agob) have my software make a decision to instantiate a full-price instance if my queue is too long and having no cheap-o priced instances running is going to mess things up. If having your instance die is going to cause problems, why not just bid higher in the first place? You're only going to pay the spot price, regardless of what you bid.
- dotBen 17y agoThat's true. but thinking that out... I guess if Amazon allowed everyone to programatically do that via an API warning then I guess everyone would simply build their software to bid up 1c at the time of warning... and at scale, everyone doing that would simply inflate the spot price higher and high to the point it would approach the full cost.
- kevinpet 17y agoThat's assuming people need to keep things running at all times, whatever the cost. This is for those people who want to do their calculations only when CPU is cheap.
- dotBen 17y agoNo because this could become a hack... using the mechanism I describe above I could keep instances going at below market rate. I can see some people gaming the system in this way if the system allows it
- febeling 17y agoThis is the moment of commoditisation of computing. I reckon there will be price fixings at a commodities exchanges like the Chicago CBOT in the forseeable future, and standard node classes, provided by various vendors. What will be the consequences? Probably quite some pressure on margins and on quality, the only variables where you can vary with the product. Once there are other vendors, of course.
- mechanical_fish 17y agoThis is the moment of commoditisation of computing. I'd call it the next moment in the ongoing commoditization of computing. But everybody has a different threshold of perception. ;)
- cperciva 17y agoAt this point, I'd call it the just passed moment, not the next moment -- but maybe we can compromise and agree that this is a moment in the commoditization of computing. :-)
- chris123 17y agoGlad to see companies finally getting onboard with this kind of pricing model and system, which has been around for years (econ 101).
- timf 17y ago"The simplest way to know the current status of your Spot Instances is to monitor your Spot requests and running instances via the AWS Management Console or Amazon EC2 API." Hmm. Since this new feature can actively terminate instances, it makes a problem I have with EC2 even more of an issue: I'd like a way to query with your instance ID and find out exactly when it terminated and how much bandwidth it used (so something like a "usage/accounting" API). It would help greatly to know your exact financial situation with Amazon. A notification system (register an URL to get a POST when an instance dies or if its bandwidth use exceeds a certain threshold, etc.) would also be useful. If a user wants to have very accurate information about these things, they currently need to set up a HA environment offsite to poll (which may not even be enough if there are network issues). That has always frustrated me when the information required ("how much have I spent?") is right there in the database after the instance is done.
- bshep 17y agoThey may have just added that feature to the spot instances the command is called: ec2-create-spot-datafeed-subscription This is the description: "Creates the data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per account." I havent tried it yet, but if anyone has can they post their impression?
- bdonlan 17y agoIt's uploading the same log file every 30 seconds to my S3 bucket, so I suspect they're still working out the kinks :) That said, the documentation on the datafeed stuff is annoyingly sparse - the format is reasonably self-documenting, but I wish they'd commit to it somewhere.
- pierrefar 17y agoInstead of outright termination, they should give the instance creator a choice when the spot instance is first started: 1. Terminate outright when the time comes. 2. Give the instance a 5 minute warning (for a fee). 3. Keep the instance running but switch it to a non-spot pricing model per hour as a typical EC2 instance. Much more friendly and option 3 will give them greater revenue.
- jemfinch 17y ago> Much more friendly and option 3 will give them greater revenue. Or perhaps not: if this were the option offered, no one would pay for standard EC2 instances at all, they'd just put up spot reservations and take the lower price when it's available, paying the ordinary price when it's not. They can do that now, of course, but there's significant more complexity involved.
- gfodor 17y agoI'm no economist, but my suspicion is that the auto-termination is a key factor in maintaining a separate market value for this class of instances.