Reserved Instances ('RIs') are one of the quickest ways to reduce expenditure on Cloud. They work by providing an up front commitment to a hyperscaler that you'll use a VM or service, for some or all of the time, for a period of time. They're a win win - they help the hyperscaler to optimise their own expenditure, and they help the end user to manage costs in a predictable way.
It is common when first using Cloud to shy away from Reserved Instances - which the author of this article was also responsible for in ~2010 as well. This is down to two perceptions:
- Static lock-in - it is believed that by using an RI you're immediately locked in for the 1 or 3 year period, and with exactly what you've originally selected
- Wastage - many workloads moving to Cloud are moving because of the precise thing RIs seem to prevent: dynamic capacity
Thankfully, both of these can now be well managed. Many hyperscalers support flexibility of RI across multiple VM families, the sale of RIs on a marketplace, or even the refund of RIs up to a certain point. This can help protect against the concern of lock in.
Balancing dynamic capacity against reservations is something that we can achieve through the use of proper instrumentation. By establishing the baseline capacity required and then understanding the peaks - we can easily reserve the 'base' and then allow on-demand usage above that. Many RI recommendation engines from hyperscalers (including Azure and AWS) will handle this automatically, without any further instrumentation.
Ultimately RIs are the quickest way to get started - so don't be afraid to try, but make sure you're doing so in a way that you can control and manage!