11 ms·
Effectively using AWS Reserved Instances
- toomuchtodo 8y ago> To automate this, we built an ETL process in SQL and Python that detects when we fall outside this band and automatically prepares a purchase for us to approve. @Stripe: Will this (or parts of it) be open sourced?
- mglukhovsky 8y agoYou can see a complete example in the accompanying Gist for this article: https://gist.github.com/lopopolo-stripe/e00b4bfa0839c125ed7aeb205a58164c https://gist.github.com/lopopolo-stripe/e00b4bfa0839c125ed7a...
- toomuchtodo 8y agoThanks to you and sibling post, the Gist was missing when reading in Pocket.
- citrablue 8y agoThey published the code in a gist. It doesn't have a license, but since the python code is only 61 lines, would be trivial to rewrite yourself from their example. https://gist.github.com/lopopolo-stripe/e00b4bfa0839c125ed7aeb205a58164c https://gist.github.com/lopopolo-stripe/e00b4bfa0839c125ed7a...
- p4lindromica 8y agoWe've licensed the code with the MIT License.
- bk_avalara 8y agoSimilar idea to rolling your own, my company uses Cloudability for AWS purchase planning. It saved a bunch of money as far as I remember. https://www.cloudability.com/ https://www.cloudability.com/
- babaganoosh89 8y agoGoogle Cloud's pricing approach seems much more sane than each company having to spend all this effort juggling reserved instances.
- sonnyblarney 8y agoIt's not so much sane, as possibly a little more friendly to those who can't - or don't want to do capacity planning. Visibility in terms of outcomes means savings, or rather, variability means cost. Ultimately, you're going to bear the cost if you cannot provide visibility because Google is not likely ever going to do it as well as you can for your own business. Ultimately, if you knew exactly what you needed over the next few years, the cost would be significantly cheaper as there's no need to have slack or wasted capacity. Google effectively forgoes this option entirely and assumes at least some minimum volatility, which means more cost. I think it would be nice to have Google's offer, but then also a longer term 'lock in' low price option as well, as frankly, this fits a lot of businesses. Most of the economy is not as dynamic as Valley startups.
- boulos 8y agoDisclosure: I work for Google Cloud. > I think it would be nice to have Google's offer, but then also a longer term 'lock in' low price option as well, as frankly, this fits a lot of businesses. We hear you. That's why we offer Committed Use Discounts [1]. Are you saying that a 3-year commitment to a specific price (or lower, as we do price cuts) is insufficient though? (I want to understand) [1] https://cloud.google.com/compute/docs/instances/signing-up-committed-use-discounts https://cloud.google.com/compute/docs/instances/signing-up-c...
- sonnyblarney 8y agoI'm only making a very general reference to the fact that long-term visibility and predictability entails lower cost and therefore lower price, and that business owners are likely more empowered to determine that outlook than the cloud provider, either AWS or Google. Ergo - some kind of customer oriented long term lock-in would likely, in the long run, produce the cheapest prices in the system. That's all.
- jedberg 8y agoDespite being a strong advocate for AWS, this is where I will say Google completely outshines Amazon. Google's approach to pricing is, "do it as efficiently and quickly as possible, and we'll make sure that's the cheapest option". AWS's approach is more, "help us do capacity planning and we'll let you get a price break for it.". Google applies bulk discounts after the fact, AWS makes you ask for them ahead of time.
- yani 8y agoUsing GCC still feels like comparing an early android to a modern iOS. I guess they have to sell it cheap when the features and quality is not there.
- foobarbazetc 8y ago[citation needed]
- outworlder 8y agoWhatever GCP has is rock-solid and often superior to AWS. For example: when AWS encounters non-catastrophic issues with their hypervisor, you are on the hook for moving the instances away (meaning stop-start, or termination and relaunch for instance store). Depending on the instance type, this can cause service disruption. GCP will transparently migrate the VM while it is running for you. You never see it, you customers don't either. Same for networking: if you use their "premium" network, you can have anycast IPs to the closest POP, which will route traffic on Google's Network, not the open internet. AWS does not have anything close to this, the closest is multi-region VPC peering, without the fancy routing. AWS offers more features though, which could be important if you require them.
- sudhirj 8y agoThe AWS equivalent of Anycast / closest region is to route all traffic through Cloudfront. That way users enter the AWS fiber within 50ms (sometimes 5ms) and have SSL terminated there as well. Only works for HTTP(S) traffic, though, not general networking.
- hueving 8y agoThe best answer is of course not to at all. Burst into the cloud, static workloads in your own DC.
- jedberg 8y agoHow exactly does that solve the problem? Don't you have to do the same capacity planning to decide how many servers to buy for your datacenter? Except you get less flexibility because you can't buy servers and have them instantly available like you can for reserved instances? Also, what kind of workloads are you running that don't require databases? The biggest expense in any distributed system is moving data. If you have a datacenter with all the data, you've to move that data to the cloud and back for every bursted request. Whatever you might save in running your own DC will be lost to bandwidth charges. And on the topic of running your own datacenter, it's unlikely you can run it as efficiently as AWS. What you might save in not paying AWS's profit margin you will probably spend in not being able to be as efficient as they are.
- hueving 8y agoRight, you have to do the same capacity planning, but you are getting the massive upside involved in that work instead of Amazon. >What you might save in not paying AWS's profit margin you will probably spend in not being able to be as efficient as they are. This isn't how I've seen the numbers work out for the huge chunk of workloads that require mostly static instances (a.k.a haven't been modernized into a serverless code base). You are right about Amazon having an efficiency edge, but you are wrong about that benefit being to the customer's bottom line instead of theirs. We are nowhere near the real commoditized pricing of massive scale compute. Even with the inefficiency of smaller datacenters, you can easily best AWS prices. Where did you get the impression that you have to move all of the data into the cloud for every bursted request? That's a lazy strawman architecture to attack.
- cortesoft 8y agoAre you factoring in the cost of the people to deploy and maintain that infrastructure?
- yani 8y agoI thought that payment processors are using their own hardware. How is AWS protecting their own customers' privacy? - can uncle Bob insert his fancy flash drive, copy my data, and sell it? Before you say it is encrypted - where does the encryption happen and doesn't AWS employees have access to the keys too?
- lowpro 8y agoAWS has different options for different companies/data. They even have options for US government data that are certified by DSS I believe, and they have options if you need PCI, HIPAA, and other types of compliance. See: https://aws.amazon.com/compliance/hipaa-compliance/ https://aws.amazon.com/compliance/hipaa-compliance/ https://aws.amazon.com/compliance/pci-dss-level-1-faqs/ https://aws.amazon.com/compliance/pci-dss-level-1-faqs/
- yani 8y agoThanks for the links. Good read.
- outworlder 8y agoIt's worth noting that none of this is available on 'AWS' China.
- dcosson 8y agoWhat are you talking about? I have so many questions - who is uncle Bob in this scenario, an AWS employee? Who's uncle is he and why is that important? And what makes his flash drive fancy? AWS has several encryption products you can easily look up, such as KMS. No, the employees don't have the keys. [1] [1] https://aws.amazon.com/kms/faqs/ https://aws.amazon.com/kms/faqs/
- yani 8y agoUncle Bob is AWS employee. How is the application residing on AWS decrypt private data if it does not have access to the master(private) key?
- alex_young 8y agoThe notion that the break even point is 70% is ignoring some really important stuff. If you reserve workload x on hardware y for n years, you're effectively strapping yourself into a sure-to-be-obsolete and more expensive platform which you'll have to then move off of at an arbitrary point n years in the future. If you don't move, you wind up paying a premium to be stuck with the obsolete / more expensive platform just to avoid the cost of migration. RIs are a lock in.
- koolba 8y agoIt's not a total lock-in as if you get convertible instances you can change the underlying instance type.
- mathattack 8y agoYou’re also locking in to outdated prices. Moore’s law is at your back with cheaper prices every year.
- rohan404 8y agoNot quite - the outdated price issue certainly exists for standard AWS RIs, however if you purchase convertible RIs then price reductions are applied. Also bear in mind that the savings you get from RIs will generally outweigh the reduction in price of the instance.
- mathattack 8y agoMy experience hasn’t been so black and white. There is still a trade-off on giving up flexibility, which is one reason to move to the cloud. When I modeled it out (3 years ago for AWS, more recently for Microsoft) the one year commit struck the best balance between cost and flexibility. There is one truism: cloud costs always seem to grow faster than revenue. :-)
- sonnyblarney 8y agoI don't see how arbitrary AWS instances are in any way going to go 'obsolete'. They have been around for a decade and are becoming more and more normative. Second, the underlying financial principle is that with visibility comes lower volatility comes lower cost - that's some very basic financial logic that's at play here. Yes, of course the contract implies a degree of vendor lock-in, but this is inherent in the nature underlying operational costs. "RIs are a lock in." - of course. And if you don't want to be locked in, then you're going to have to pay a lot more: AWS, GCC it doesn't matter, it's the same financial reality everywhere.
- meritt 8y agoTangential to the point of the article but when did writing a select query become an "ETL process"?
- patio11 8y agoSuppose you have a data source and business logic which you want to run periodically on the data source. Here are two scenarios which you could reasonably implement this as: Method one: You write a SQL query and some Python. You put a sticky note on your computer "Remember to run that biweekly." Method two: You pull up your shop's documentation for how to add the (BIG_NUMBER)th entry into the data processing pipeline. This gets you automatic scheduling, retries, monitoring, audit trails, alerts to the right people in case of breakage, etc etc. You write a SQL query and some Python. You plug it into the existing infrastructure.
- msravi 8y agoMy experience with AWS reserved instances has not been very good previously. 1. Once you buy a reserved instance, you're locked in to that type and price for the duration, even though newer types at lower prices may get introduced (as they almost definitely would over 1-3 yrs). 2. If you're from outside the US, you might not be able to resell your reserved instance. So you're stuck with an old instance type at an inflated cost. In contrast, Google Cloud just gives you a price equivalent to a reserved instance price (or better), based on hours of usage, without asking for an upfront commitment.
- njovin 8y agoI’ve gotten proactive emails from our account manager when they release new/cheaper instances and they offer us the option to transition and get a credit for our existing RIs. We aren’t a huge account (less than 30k/month) so I thought this was a nice gesture on Amazon’s part.
- scrollaway 8y agoOur 15k/month account did not get such an email when they introduced the dc2 redshift class, despite most of our spend being on Redshift.
- Joe8Bit 8y agoI'm consistently surprised at how big the variance in quality of service is from different AWS account managers; seemingly regardless of the size of account. The 2/3 reps we've had have been night and day in the level of service they've given us, and we're a top 10% customer by volume.
- joeharris76 8y agoRecommend checking who the account emails are configured to be sent to. Often they go to a finance person who may not understand the importance of some communications such as this.
- chillydawg 8y ago
- rohan404 8y agoOne of the major issues we've seen with our customers is that many of them (especially startups and SMBs/SMEs) don't have the ability to dedicate a team to just managing their RI capacity. We've also seen enterprise customers optimizing up to 70% of their EC2 usage, but many of them have trouble ensuring a level of utilization due to rapidly changing infrastructure. I'd definitely argue that GCP has a better model for some use cases as it requires less active effort for optimizing billing, however if you manage your RIs on AWS effectively you can often get a better price. Looks like Azure has also gone down the same route as AWS, which is quite an interesting move on their part. Disclosure: I head engineering/devOps at Engineer.ai - one of our products Cloudops.ai allows our customers to save up to 15% of their AWS bill without making RI purchases, as well as get discounted prices and additional flexibility (custom lock-in periods) for RIs they do wish to purchase. Feel free to reach out for information - my email address is in my about section.
- jhatax 8y agoDisclosure: I am a PM on Oracle Cloud Infrastructure (OCI). I am aware that AWS and GCP are the go-to options for this audience, and that Oracle isn’t particularly favored for the Java lawsuit (among other things). If you are able to set these grievances aside, the OCI pricing team has done something unique: they have created a means by which you can effectively buy credits from Oracle and use them for whatever service (current or future) you need. It is called the Universal Credits Model (UCM) [1]. If you anticipate usage above a certain threshold, tier-based discounts are available at the time of purchase. It’s like a store gift card; buy whatever you want. This takes away some of the stress of capacity planning and instance-type selection. Additionally, you can adopt new services and avail lower prices in the future. With UCM, customers: 1. Sign one single contract that provides unlimited access to all current and future Oracle PaaS and IaaS services (Compute, DB, Block Storage, Blob Storage, Network, etc.) spanning both Oracle Cloud and Oracle Cloud at Customer. 2. Gain on-demand access to all services plus the benefit of the lower cost of pre-paid services. Depending on the projected spend, customers can negotiate discounts. 3. Possess the flexibility to upgrade, expand or move services across datacenters based on their requirements. 4. Have the freedom to switch PaaS or IaaS services they are using without having to notify Oracle. 5. Can adopt new services when they GA. Please send any questions my way, and I will get answers to you. (1) https://www.oracle.com/cloud/bring-your-own-license/faq/universal-credit-pricing.html https://www.oracle.com/cloud/bring-your-own-license/faq/univ...
- jakozaur 8y agoMy experience from Sumo Logic is to take full advantage of RIs you need to do capacity planning and that takes some effort. Still that's way over 30% of savings which are needed if you run at scale. Would recommend using CloudHealth or other tool vs. using custom ETL. I tried do it myself on my tools, but got worse results than using dedicated tool. However, dedicated tool need input from development. Sometimes it's worth to buy non-convertible RIs for bigger instance. Sometimes convertible RIs are easier. I just found that convertible RIs with some upfront are incredible tricky to calculate amortisation.