Great article must read
Software-defined storage provides flexible capacity and performance levels that can be tuned to specific requirements. OpenStack is, by definition, a cloud operating system that sees everything as a pool of shared services, giving operators robust visibility and comprehensive control via a dashboard that enables them to provision resources as needed through a web-based interface. OpenStack helps enterprises build and manage scalable, flexible services. But to achieve this, it must be supported by storage that is also scalable and flexible -- ideally software-defined, scale-out storage technologies and architectures that integrate more tightly with OpenStack than traditional, proprietary storage solutions. This is how storage needs to be engineered for modern cloud architectures.