Slalom: Best Practices for Serverless Application Development