The document discusses software defined storage based on OpenStack. It provides background on the author's experience including medical image processing and OpenStack development. It then describes key OpenStack storage components including Cinder for block storage, Swift for object storage, and Manila for shared file systems. Cinder uses plugins to support different backend storage types and utilizes a scheduler to determine which host to provision volumes. Swift uses a ring hashing algorithm to partition and replicate data across multiple storage nodes for high scalability and availability.