Flexible Storage Volumes for Multi-Tenant Cloud Platforms
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data center virtualization technologies face challenges in providing flexible storage solutions that combine the benefits of local instance storage with the persistence and reliability of network-attached persistent storage volumes, often resulting in slower input/output operations and differing storage media usage.
Innovation Solution
A system and method for managing storage resources in a multi-tenant web services platform that allows customers to dynamically switch between instance store and persistent storage volumes, using distributed replicated storage to synchronize data and maintain availability, while ensuring seamless access and low latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is stored in instance store (local storage), then access speed and performance are improved, but data persistence and reliability deteriorate when instance terminates
Solution Approach 1:
The patent implements distributed replicated storage by creating multiple copies (replicas) of data blocks across different storage nodes. When data is written to persistent storage, it is replicated across multiple nodes, ensuring that data persists beyond instance termination and providing redundancy for high availability.
Solution Approach 2:
The patent introduces a storage management system that acts as an intermediary between the computing instance and the persistent storage infrastructure. This intermediary manages the complexity of distributed storage operations, including data replication, synchronization, and recovery, while presenting a simple interface to the instance.
2Reliability
If data is stored in persistent storage volumes (network-attached), then data persistence and reliability are improved, but I/O operation speed deteriorates compared to local storage
Solution Approach 1:
The patent segments storage into different types (instance store and persistent storage volumes) and allows flexible association between computing instances and storage types. This segmentation enables optimization for different workloads - using local instance store for high-performance temporary storage and persistent storage for durable storage needs.
Solution Approach 2:
The patent enables dynamic switching between instance store and persistent storage volumes. The storage association is not fixed but can be changed based on instance state (running, terminated, restored), allowing the system to adapt storage configuration to current needs and maintain optimal performance.
3Adaptability or versatility
If storage is dynamically switched between instance store and persistent storage volumes, then storage flexibility is improved, but system complexity deteriorates
Solution Approach 1:
The storage management system automatically handles the complexity of dynamic switching between storage types without requiring manual intervention. When an instance is restored, the system automatically associates the appropriate persistent storage volume, and when an instance terminates, it automatically disassociates instance store resources, making the complexity invisible to users.
4Reliability
If distributed replicated storage is used to synchronize data, then data availability and persistence are improved, but synchronization time and latency deteriorate
Solution Approach 1:
The system performs data replication and synchronization in advance, during background operations, rather than waiting until data is needed. This preliminary action ensures that data is already synchronized across replicas when recovery or access is required, minimizing latency during critical operations.
Data Source
AI summary
Techniques are described for allocating computing resources to customers of a multi-tenant web services platform. Computing capacity capable of running a computing instance is allocated to a customer. The computing capacity includes storage capacity that is disassociated from the allocated computing capacity when the allocated computing capacity is de-allocated from the customer. An indication that a virtual storage resource should be associated with the allocated computing capacity is received. The virtual storage resource is persisted independent of the allocation of the computing capacity to the customer. The storage capacity and the virtual storage resource are configured to synchronize data stored thereon while maintaining the storage capacity as an attached storage volume for the computing instance.


