In this video, Jeff Winesett talks about the different instance purchasing options to help with cloud cost optimization. On-demand, reserved and spot instance pricing models are different options to help ensure resources are cost effective.
- [Voiceover] Another consideration to be made when optimizing for cost and AWS, is the manner in which resources are being purchased. Choosing the right-sized resources for the job to be accomplished is certainly important as different sized resources have varying cost profiles. However, there is more to the story than just getting the instant size right. There is also the need to ensure resources are being purchased in the most cost-effective way.
AWS provides four instance purchasing options: on demand, reserved instances, spot instances, and dedicated hosting. On demand means the resources paid for on an hourly basis, with no up front payment nor long-term commitment. When the instance is running, you pay for it; when it's not, you don't. Reserved instance payment provides an option for long-term cost savings.
A certain amount is paid up front to lock in lower hourly rates. This can result in up to 75% cost savings over time, when compared to on demand pricing. Spot instances provide another payment option and can result in even greater savings over on demand pricing, as much as up to 90%. These are great for dealing with non-stateful workloads. If jobs can tolerate being interrupted, and don't have specific, fixed timelines within which they must complete, taking advantage of spot instances will likely result in the best cost performance.
With spot instances, excess available compute capacity within AWS is put on the marketplace for bidding. With spot bidding, the per-hour pricing fluctuates depending on the supply and demand at any given moment, a bidder's place for the use of this compute capacity, and when the market hits or drops below the bid, compute capacity becomes available. From that point on, billing is at the market price, never exceeding the initial bid.
For example, if I were to bid $1 and the current market price is 20 cents, I'd only pay 20 cents. Similarly, if the market rates again rise above the bid, the compute capacity becomes unavailable. As the name suggests, it's spotty. The trade-off is significant cost savings. Dedicated hosting is not so much a payment option but an option to realize private, dedicated, physically racked servers within AWS, running single tenant hardware dedicated to a single customer.
The on demand or reserve instance payment options are used for dedicated hosting. But this option can result in cost savings. Take for example the scenario where server-bound software licenses need to be used. Dedicated hosting is ideal for use cases, where company policies or industry regulations require that servers be physically isolated at the host hardware level, from any other instances belonging to other customers.
To recap the savings potential, if the compute requirements are predictable, and will remain consistent for at least a year, or possibly up to three years, 40 to 75% savings can be realized by moving to reserved instance pricing. And if workloads can tolerate starting and stopping and some instance flexibility, savings of up to 90% can be realized by going with spot instances. Another thing to consider when working towards cost optimization is to think of AWS as additional team members.
Strive to remain focused on what is core to your business, and let AWS handle as much of the techinical administrative work as possible. There's little need to employ extensive database administrators and have them be doing backups or software updates or other server administrative tasks. That's something AWS can provide. AWS provides many managed services that eliminate the need to handle many tedious administrative tasks, allowing your team to stay lean, and focused.
Optimize for cost, rule number three. Take advantage of the right instance payment options available, and take full advantage of the resources that are already managed by AWS. Don't pay more than necessary for the resources, and don't pay your staff to perform tasks already being accomplished by AWS.
- Benefits of cloud services
- Making architectures scalable
- Examining cloud constraints
- Virtual servers, EC2, and Elastic IP
- Using the Amazon machine image
- Elastic load balancing
- Using CloudWatch for monitoring
- Security Models
- Elastic block storage
- S3, CloudFront, and Elastic Beanstalk
- Handling queues, workflows, and notifications
- Caching options and services
- Identity and access management
- Creating a custom server image
- Application deployment strategies
- Serverless architectures