Low-cost transient resources such as Amazon's Elastic Compute Cloud (EC2) Spot instances can be opportunistically leveraged to reduce the ongoing costs of cloud applications. However, they are susceptible to unilateral revocations by the vendor making them a risky proposition for long-running applications with strict performance requirements. It is challenging to effectively balance the cost savings that transient resources provide with the associated revocation risk which, if realised, can impact application performance. To address this challenge, we propose an approach for risk-aware cloud cost optimization that is inspired by the concept of <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">portfolio diversification</i> . <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Contract diversification</i> mitigates the revocation risk by procuring the required compute capacity as a mixed portfolio of transient and non-transient resources. <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Resource diversification</i> further diversifies the risk by using multiple transient resource types. Using our approach, consumers can leverage contract and resource diversification to proactively (re-)configure their application's resource portfolio to handle workload and resource price fluctuations while minimizing ongoing cost and keeping ongoing revocation risk within tolerable limits. Simulative evaluation using three real-world workload traces and Amazon's EC2 offerings demonstrate that our proposed approach can achieve meaningful cost savings compared to the baseline costs, while significantly reducing the portfolio's exposure to revocation risk.
Read full abstract