This will enable
sls deploy -s dev to build a dev environment, and
sls deploy -s prod to deploy prod-like resources, a very useful feature for CI/CD!
Use Dependency Management, Use a Bundling Plugin
Figuring out how to deploy a large serverless project with dependencies can be tricky. You might have success, but more likely than not you'll want to reach for a packaging and bundling solution. Luckily, there are stable serverless plugins for popular languages. At Very, we use a good deal of Python and TypeScript, so we have found useful plugins in those ecosystems.
For Python projects, I use Poetry to manage my dependencies. You might use pipenv or plain-old pip + requirements.txt. No matter your choice, I recommend using the serverless-python-requirements plugin to take care of bundling up your dependencies. For Node projects I use serverless-webpack. No matter which you use, I'm sure you'll find that they allow you to more closely match your usual development flow.
I have espoused many opinions in this blog. They come from my experiences with the serverless framework maintaining several projects over the last two years. You might agree with some of them, you might find some don't work for you or your team. Whatever the case, I hope I've gotten the gears turning when thinking about the long-term maintenance of your serverless projects.