---
description: https://cseweb.ucsd.edu/~yiying/UDC-HotOS21.pdf
---

# User-Defined Cloud

* Cloud computing evolves --> services, instance types&#x20;
* Life cycle&#x20;
  * Provider identifies a new type of application / hardware
  * Provider develops / adapts SW/HW infrastructure
  * Provider launches a new service or extends an existing one&#x20;
* E.x. health industry&#x20;
  * Secure storage and processing&#x20;
  * But today:
    * No on-demand accelerator: pay extra with VMs&#x20;
    * No secure accelerator: use secure CPU and run slower&#x20;
    * No fine-grained tuning of systems feature: build your own&#x20;
      * Combine a set of services&#x20;
* No right service for niche applications&#x20;
  * Users have to build a local cluster or use a third-party services&#x20;
* Cloud providers "define" the cloud to accommodate the user needs they deem popular&#x20;
* Users know what is needed to run their workloads and should be allowed to get what they need&#x20;
* Idea:&#x20;
  * user-define computing resources and features for their own workload
  * cloud provider supply software and hardware infrastructures under the hood &#x20;

![User-define cloud ](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MVORxAomcgtzVVUqmws%2Fuploads%2FcSQAdPB9zABGk711Zar5%2Fimage.png?alt=media\&token=67988663-3657-43a8-ab28-7ee2f3c4fc10)

![What users can define ](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MVORxAomcgtzVVUqmws%2Fuploads%2FEtpSueqG22vkjXhDIqSI%2Fimage.png?alt=media\&token=be4ea3da-d70e-428c-9e6a-cdc10d573dd6)

* Fine-grained hardware and software building blocks put together on demand like Lego pieces&#x20;

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MVORxAomcgtzVVUqmws%2Fuploads%2FE47RVunm4A2E3XC1DvTy%2Fimage.png?alt=media\&token=cfe9d2f8-0e65-4845-87bc-f0a23434fc58)

* Find the right combination of HW / SW

Benefits:

* Users&#x20;
  * Customize public cloud for exactly what they need&#x20;
  * No need to wait for providers to prepare new features&#x20;
    * Fast time to market, better performance&#x20;
  * No need to manage SW/HW infra
  * Pay as we go&#x20;
    * Low cost&#x20;
* Providers&#x20;
  * Build one set of configurable SW/HW infra&#x20;
    * Cheaper to develop and maintain&#x20;
  * Attract niche users&#x20;
  * Charge a higher unit resource price&#x20;
    * More profit&#x20;
