Software as a Service: Best Practices for the Modern Era