Using Software-Defined Storage for your Applications: A Best Practices Guide