1. A method implemented in a non-transitory machine-readable storage medium and processed by one or more processors of a server machine configured to perform the method for dynamically allocating, controlling, and dedicating storage, comprising: receiving, at the server machine, a request for access to a portion of shared storage situated in a cloud environment, the request that originates from a tenant and from the shared storage, services multiple other tenants from the cloud environment; instantiating, on the machine, a tenant storage machine (TSM) uniquely assigned to the tenant, the TSM instantiated on the machine as a Virtual Machine (VM) isolated from other instances of the TSM on the machine operating as other VMs, the other instances of the TSM servicing the multiple other tenants; dynamically allocating, on the server machine, operating system (OS) resources for the TSM based on service level assurance (SLA) policies for the tenant, the OS resources accessible from within the TSM, and the SLA policies provide guarantees to the tenant for security, performance, data protection, data availability, and data management, and where dynamically allocating further includes assigning predefined percentages of machine resources used by the OS resources based on the SLA policies, and where dynamically allocating further includes obtaining current processing and memory loads for the cloud environment from the SLA policies when assigning the predefined percentages; and processing, on the server machine, the request within the TSM using the OS resources and in accordance with the SLA policies providing the tenant access to the TSM.