<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;" dir="ltr">
<p><br>
</p>
<p>I think it can help add enough predictability and structure to keep costs down as well.  If you know the end users will be using 1 of 25 different pre-configured packages, you can somewhat reliably configure hardware sku's around that because often the packages
 are a fractional size of the hardware platform.  If you open it up to anything goes, you run the risk of having someone that wants 2 cores and 200GB of memory for some SQL server.  They want everything in memory but they don't want to pay the M$ licenses for
 additional cores.  So now you have a vm on a physical server somewhere with excess CPU cycles that can't be used because the VM that's on it has sucked up all the memory.  The poor utilization of resources then result in increase overhead and higher costs
 due to the inefficiencies.</p>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Fox, Kevin M <Kevin.Fox@pnnl.gov><br>
<b>Sent:</b> Wednesday, March 15, 2017 5:10 PM<br>
<b>To:</b> Vladimir Prokofev; OpenStack Operators<br>
<b>Subject:</b> Re: [Openstack-operators] Flavors</font>
<div> </div>
</div>
<div>
<div style="direction:ltr; font-family:Tahoma; color:#000000; font-size:10pt">I think the really short answer is something like: It greatly simplifies scheduling and billing.<br>
<br>
<div style="font-family:Times New Roman; color:#000000; font-size:16px">
<hr tabindex="-1">
<div id="divRpF230106" style="direction:ltr"><font face="Tahoma" color="#000000" size="2"><b>From:</b> Vladimir Prokofev [v@prokofev.me]<br>
<b>Sent:</b> Wednesday, March 15, 2017 2:41 PM<br>
<b>To:</b> OpenStack Operators<br>
<b>Subject:</b> [Openstack-operators] Flavors<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">A question of curiosity - why do we even need flavors?
<div><br>
</div>
<div>I do realise that we need a way to provide instance configuration, but why use such a rigid construction? Wouldn't it be more flexible to provide instance configuration as a set of parameters(metadata), and if you need some presets - well, use a preconfigured
 set of them as a flavor in your front-end(web/CLI client parameters)?</div>
<div><br>
</div>
<div>Suppose commercial customer has an instance with high storage IO load. Currently they have only one option - upsize instance to a flavor that provides higher IOPS. But ususally provider has a limited amount of flavors for purchase, and they upscale everything
 for a price. So instead of paying only for IOPS customers are pushed to pay for whole package. This is good from revenue point of view, but bad for customer's bank account and marketing(i.e. product architecure limits).</div>
<div>This applies to every resource - vCPU, RAM, storage, networking, etc - everything is controlled by flavor.</div>
<div><br>
</div>
<div>This concept has never been questioned anywhere I can search, so I have a feeling I'm missing something big here. Maybe other ways are too complicated to implement?</div>
<div><br>
</div>
<div>So does anyone has any idea - why such rigid approach as flavors instead of something more flexible?</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>