This document discusses container storage challenges and how StorageOS provides a software defined storage solution for OpenShift. It begins by outlining why container storage is difficult, as containers are ephemeral and data needs to persist across their lifecycles. It then provides a quick introduction to Kubernetes and OpenShift, explaining how they manage container orchestration and scheduling. The document demonstrates OpenShift's storage model using persistent volumes (PVs) and persistent volume claims (PVCs), and how dynamic provisioning with storage classes works. Finally, it introduces StorageOS as a software defined, scale out storage platform that provides high availability for running containerized applications in production on OpenShift.