<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>