11 ms·
AWS announces per-second billing for EC2 instances
- ranman 9y agoLink to AWS Blog Post: https://aws.amazon.com/blogs/aws/new-per-second-billing-for-ec2-instances-and-ebs-volumes/ https://aws.amazon.com/blogs/aws/new-per-second-billing-for-...
- djhworld 9y agoThis is great news and a long time coming. I really hope Amazon build something like Azure Container Instances [1], as per second billing would make this sort of thing feasible. [1] https://azure.microsoft.com/en-us/services/container-instances/ https://azure.microsoft.com/en-us/services/container-instanc...
- zedpm 9y agoThat's sure nice, but I'm waiting for AWS to switch to automatic sustained use discounts [0] like GCP offers. [0]: https://cloud.google.com/compute/docs/sustained-use-discounts https://cloud.google.com/compute/docs/sustained-use-discount...
- jaxbot 9y agoI'm waiting for GCP to support preemptible GPU instances. Would love to be able to spend ~50% less on GPU instances when running a batch job that can be stopped and reloaded.
- doh 9y agoNot sure that will happen anytime soon. It's the same with Local SSD. The virtualization of this environment is very challenging, maybe beyond a point where it makes sense for them to do so.
- williamstein 9y agoBut GCE already has local SSD’s for preempt instances, and they even cost less.
- doh 9y agoWasn't aware they added the support. Well, maybe they can figure out GPUs too.
- jeffmcjunkin 9y agoI'd be surprised if it'd be that much additional work, if the local SSD options are NVMe -- which is also PCI-e like GPU's.
- 0x0 9y agoWait what, would they expose the raw SSD pci device to your vm? What's stopping you from scraping all the leftover data from the previous customer?
- tylerjd 9y agoProbably something along the lines of secure erase. Most modern SSDs/NVMe drives are encrypted by default in firmware. All the firmware needs to do is throw away the old keys and generate new ones. It's better than zeroing the drive as there is no wear to the write cycles and guarantees that the slack space in the SSD is also cleared, which DD'ing to /dev/nvme0 wont be certain of. The nvme-format tool can be used for this: http://manpages.ubuntu.com/manpages/zesty/man1/nvme-format.1.html http://manpages.ubuntu.com/manpages/zesty/man1/nvme-format.1...
- wtallis 9y agoOn newer SSDs, the sanitize command would be preferable for this use over the format command. IIRC, the format command doesn't require quite as strong a security guarantee as the sanitize command: the latter ensures that user data is cleaned from both the flash and all buffers, CMBs, etc.
- deleted 9y ago[deleted]
- _wmd 9y agoIt wouldn't be a switch, it'd be a new feature. GCP also offers the equivalent of explicit instance reservations
- zedpm 9y agoGood point, poor choice of words on my part.
- mbesto 9y agoThey would legitimately lose a lot of money if they did this now (and I would argue, wouldn't make up for it in market share). Most companies I work with who switch to AWS think it's a 1:1 conversion in terms of cost from a data center and pretty much just "leave AWS on" not realizing that they are not only paying for computing cost but the hidden cost of being able to scale up more instances quickly.
- user5994461 9y agoIt's really really difficult to be able to turn on and off instances as needed, like turn a test instance on in the morning when developers come in and turn it off in the evening when they leave.
- mbesto 9y agoWhich is why reserved instances exist.
- termie 9y agoThe reserved instance pricing model is really poorly implemented. You have to commit to an instance class and a region, and if you need to change you can, but there is some secondary market. When compared to a sustained use model, it is a disaster. Managing all that in a large org is a real pain in the ass.
- pmelendez 9y agoThat is cool if you maintain a fixed number of instances but it doesn't seem to be very cost efficient if you are implementing autoscale
- manigandham 9y agoGCP billing is all calculated on a cpus/ram/hours basis. You're basically buying capacity units (and can even commit long-term for more discount) and can use that capacity in whatever way you want. Running 2x 4cpu instances for 1 month is the same as 4x 2cpu instances for 1 month, and will come out the same even if you switch in the middle.
- JosephLark 9y agoLikely due to GCP competition. I believe GCP was always per-second? [Edit: Misremember that, they were always per-minute. Lots of good information below directly form the related parties.] Azure looks to be per-hour [Edit: Wrong again, they are per-minute as well. Oddly enough, I did check their pricing page before, but missed the per-minute paragraph and only saw the hourly pricing] but I'm seeing something about container instances possibly being per-second.
- deleted 9y ago[deleted]
- Scaevolus 9y agoGCP VMs are per-minute, with a minimum of 10 minutes (vs AWS' new minimum of 1 minute). Second resolution is nice, but I doubt it makes much difference in pricing for most workloads. https://cloud.google.com/compute/pricing#billingmodel https://cloud.google.com/compute/pricing#billingmodel Azure's containers don't use a full VM-- they're more like AWS Lambda or other serverless frameworks, so they do per-second billing with no minimums. Disclaimer: I work at Google on Container Engine.
- dastbe 9y agoI would disagree on no minimums and equivalency to lambda et al, as azure container instances charge a create fee (iirc its equivalent to 100 seconds of their minimum configuration) which sits on top of the per-second billing.
- jopsen 9y agoThe minimum of 1 minute makes a difference... Granted 10min is not that much of a problem :)
- dsp1234 9y agoAzure's EC2 equivalent is Azure Virtual Machines[0], which bills by the minute. [0] - https://azure.microsoft.com/en-us/services/virtual-machines/ https://azure.microsoft.com/en-us/services/virtual-machines/ "Keep your budget in check with low-cost, per-minute billing. You only pay for the compute time you use."
- nunez 9y agoThis is great and will save a lot of people a good amount of money.
- SadWebDeveloper 9y agoServerless advocates/engies are probably the only people celebrating this, everyone else keeps waiting for self renew instance reservation... last time i forgot about them it was too late.
- scaryclam 9y agoThe market for this is much broader. We do a bunch of data science so spinning up a heavy machine and only getting billed for the 5 minutes usage is a massive saving for us. I'm quite excited by this news!
- SadWebDeveloper 9y agoThat is basically the serverless main "point of sell" you are just one step away from automation (if you aren't already doing it) and it will be virtually the same as serverless
- aidos 9y agoYou're right, this is effectively a serverless mode. But the serverless instances that are currently available (at least on aws) aren't powerful enough for some applications. For those of us stuck in the middle, needing big machines with serverless behaviour, this is a massive win.
- FridgeSeal 9y agoI'm in the same boat as you: data science workloads that run intermittently on big hardware. What are you running your big jobs on? Because I'm currently using Batch, but given you've got to wait for the compute environment/VM to start up (if it's not already running), and that's a pain because it takes forever to startup. I wish I could just run containers on large hardware the same way we can run lambda's: press the button and it just runs, I don't really care about having my own full compute environment, I just need enough memory and CPU to run it.
- andrewstuart 9y agoReally welcome, although per millisecond would be better. It's now possible to boot operating systems in milliseconds and have them carry out a task (for example respond to a web request) and disappear again. Trouble is the clouds (AWS, Google, Azure, Digital Ocean) do not have the ability to support such fast OS boot times. Per second billing is a step in the right direction but needs to go further to millisecond billing, and clouds need to support millisecond boot times.
- jawns 9y agoSounds like you're describing AWS Lambda / serverless architecture. But maybe I'm not understanding your use case?
- andrewstuart 9y agoThere are a wide range of tiny operating systems that can boot in a matter of milliseconds. The applications are "whatever you want imagine" but yes one application is building FAAS Function As A Service in which the operating system carries out a single function. Put anther way, Docker is complex, overweight, and requires re-implementation of much computing infrastructure. You can meet many of the same goals as Docker in much more simple way not by building containers but by building tiny operating systems.
- jpatokal 9y agoI'm somewhat amused by the idea of booting an operating system from scratch to service a single request being described as "much more simple" than the alternative of, y'know, having a single instance serve many requests.
- deleted 9y ago[deleted]
- icebraining 9y agoDocker is just a manager of Linux namespaces. You'll need one to manage your operating systems anyway - start/stop them, copy them to the machine, delete them, etc.
- lostapathy 9y agoThis should enable some entirely new use cases, especially around CI and automation in general. Per-second billing greatly reduces the overhead to bringing up an instance for a short task then killing it immediately - so I can do that. There's no need to build a buffer layer to add workers to a pool and leave them in the pool, so that you didn't end up paying for 30 hours of instance time to run 30, two-minute tasks within an hour.
- movedx 9y agoFor us it will mean we can spin down Bamboo elastic agents much quicker and save money.
- nodesocket 9y agoPer second billing is somewhat of a gimmick just so Amazon can say they are more granular than Google Compute. The difference between seconds and a minute of billing is fractions of a cent. Rounding errors. The exception is Google Compute has a 10 minute minimum, so if you are creating machines and destroying them quickly, per second billing will be noticeable.
- grzm 9y agoI think the useful comparison people are making is the difference between the previous per-hour billing and new per-second billing. Sure, if they can get some mileage comparing per-second to per-minute, great. At the end of the day isn't the increased granularity better?
- mfringel 9y agoI think "second vs. minute" might be into "distinction without a difference" territory. Sure, per-second will definitionally help at the margins, but I'm dubious about the amount of money it will actually save. That all being said, it can enable a bunch of interesting things (e.g. more interesting stuff with AWS Lambda), and I look forward to see what per-second billing becomes an enabling technology for.
- grzm 9y agoSure. I read 'nodesocket as arguing that AWS is promoting per-second as a distinction between AWS and GCP ("somewhat as a gimmick" in their words). That's not mentioned in the submission, nor the AWS blog post announcement. The important and very real distinction is the change from per-hour to per-second. If you're going to make it more granular (which from per-hour is a good thing), why would AWS stop at per-minute if it's the same or only marginally more difficult to make it per-second, particularly when they have the added benefit of being more granular that GCP? In other words, I don't see the reduction as primarily a marketing move on AWS's part. I'm sure they felt pressure to make it more granular. Stopping at parity doesn't necessarily make sense, nor should they be called out for doing more purely for marketing reasons.
- deleted 9y ago[deleted]
- YokoZar 9y agoI once considered writing an EC2 autoscaler that knew the exact timestamps of the instances so that it could avoid shutting down VMs that still had 59 minutes of "free" time left because they'd been up across another hour-long threshold. That sort of nonsense logic shouldn't be useful, but Amazon was giving a huge economic incentive for it. This is certainly a long time coming.
- vacri 9y agoRemember that AWS has been in the game for over a decade. Per-hour billing was amazing when it came in. Also, is the economic incentive really that huge? Or is it just a nicety?
- jdc0589 9y agoit's totally dependant on your workload. for some users there will be absolutely no difference, for others it could easily be thousands or tens of thousands of dollars of savings over a year.
- vacri 9y agoThanks, I stand corrected. I've read through a few other use cases in the comments here and I can see now that there's scope for savings, depending on workload.
- userpass 9y agoWhen you want to run a task for 3 minutes with 40 cores then paying a minimum of 10 minutes or 60 minutes can make the entire idea unprofitable.
- daigoba66 9y agoIf it helps, AWS' default auto scaling algorithm specifically takes into account instances which are nearest to their next billing hour and prioritizes those for termination accordingly to, in theory, save money.
- macarthy12 9y ago
- aidos 9y agoThis is one of the better things to happen in ec2 in years for me. We have a bunch of scripts so a spot instance can track when it came online and shut itself down effectively. It took far too much fiddling around to work around aws autoscale and get efficient billing with the per hour model. In the end we came up with a model where we protect the instances for scale in and then at the end of each hour, we have a cron that tries to shut all the worker services down, and if it can't it spins them all up again to run for another hour. If it can, then it shuts the machine down (which we have set on terminate to stop). The whole thing feels like a big kludge and for our workload we still have a load of wasted resources. We end up balancing not bringing up machines too fast during a spike against the long tail of wasted resource afterwards. This change by ec2 is going to make it all much easier.
- ttobbaybbob 9y agoInteresting that the techcrunch link has thrice as many upvotes as the amazon link
- ranman 9y agoHackernews black magic :/
- grzm 9y agoI suspect it's simply a function of which one happened to catch people's eye and where they started their discussion. Multiple submissions on the same topic (from the same or different sources) aren't that uncommon. Once one gets some momentum, it's likely to be reinforced: it'll appear higher on the front page, more people will notice it, more people will comment, more people will notice the comments on that article, which will make them notice that article, et cetera. I don't think you can read much more into it than that. I wouldn't be surprised if a mod comes along and merges the comments from one into the other, if they notice it. What would be interesting is if they had exactly the same upvotes and comments.
- gumby 9y agoBack to the future: this was how computing worked back in the punch card days. Minicomputers and personal computers were supposed to liberate you from this tyranny: computing so cheap that you could have a whole computer to your self for a while!
- sinatra 9y agoThe global scale makes even that cheap computing become fairly expensive. So, it's only natural that we'll take punch card type ideas (at local scale) from the past and apply them at our global scale.
- segmondy 9y agoWe still have whole computers to ourselves. Those that wish to throw their money away renting can knock themselves out.
- Spooky23 9y agoWe have these things. It's even cheaper in most cases. :)
- mikeash 9y agoSomehow we've reached a point where a 2GHz, 2GB computer that fits in your pocket is only worth using as a terminal.
- reilly3000 9y agoApple is moving in the opposite direction with onboard-only face ID and ARKit.
- rsynnott 9y agoAh, finally. They've ruined my idea for an optimal EMR job runner. Under the old system, if you have a linearly scalable Hadoop job, it's cheaper to, say, use 60 instances to do some work in an hour vs 50 instances to do the work in 70 minutes, assuming you're getting rid of the cluster once you're done. No more!
- deleted 9y ago[deleted]
- nogox 9y agoI think the per-second billing is off the point. How does it help, if the EC2 instance takes tens of seconds to launch, and tens of seconds to bootstrap? To make the most of per-second billing, the compute unit should be deployed within seconds, e.g. immutable. prebaked container. You launch containers on demand, and pay by seconds.
- bschwindHN 9y agoIt has a one minute minimum anyway. And does it not help? Let's say a deployment strategy has a temporary increase in instances so it can transition to a new version of the application. If your deployment takes 5 minutes, you're only paying for 5 minutes worth of extra instances whereas the hourly billing would get you for an entire hour. Am I completely misunderstanding something?
- riobard 9y agoYou're describing exactly https://hyper.sh https://hyper.sh.
- nogox 9y agoOr Azure ACI. Per-second billing doesn't add much value to EC2.
- WalterGR 9y agoEC2's granularity was hourly before. That's the value being added.
- nogox 9y agoPer-minute billing makes more sense to EC2, given the reason above.
- shawabawa3 9y agoWell, on average it's per-minute billing with a 30 second discount. I agree it's basically marketing from AWS, but it's still strictly better than per minute billing
- deafcalculus 9y agoI really wish AWS would allow users to cap billing. Something that freezes all AWS services if the monthly bill exceeds X would make me a lot more comfortable when experimenting with AWS.
- sarabande 9y agoAgreed. Right now you can set billing alarms, but not actually freeze billing. http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/free-tier-alarms.html http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/...
- extra88 9y agoLooking at the CloudWatch console, I see I can also add AutoScaling and EC2 actions that are triggered by an alarm. That still leaves open other risks like a bandwidth bill for S3 hosted content.
- matteblack 9y agoHave you looked into a tool like Gorilla Stack - https://www.gorillastack.com/ https://www.gorillastack.com/? (Note: I have no investment in the company)
- Ollibe 9y agoThanks Matteblack (whoever you may be) - my name's Oliver and I got alerted to this mention of GorillaStack. Without wishing to be too promotional, you can set a trigger to shut off EC2 when a cost threshold is reached. You can currently automate shut off of RDS but not yet from a cost threshold (that will be available shortly). TLDR: we can do a lot of what you ask but not all of it. Feel free to reach out if you'd like more info.
- zerop 9y agoOliver, Curious to know how did you get this alert of mention?