Best practices for managing several lambda functions?

Hi guys, so at work we are using several Lambda functions to manage a complex media ingestion flow and lately I finding it a little unwieldy.

Issue 1 - is the current state deployed to staging and/or production?

Is it deployed? I cd into a lambda function and sls info. The most important question in my mind is: ‘is this version deployed?’ and sls info doesn’t tell me that. I can’t afford to run sls deploy everytime since it just takes too long and breaks my flow. I need something as fast as git status!

What makes matters worse is that we have both staging sls deploy and production sls deploy -s production run scripts for each lambda! Ask me again if a certain version is deployed? :sob:

Issue 2 - Does sls play well with Step functions?

The flow between lambda function is getting complex. We used to use dynamodb as the single point of truth, but now we are passing data via SNS since it’s easier to subscribe to a SNS topic so you can have a clue what’s going on and record the event for a replay / debug session.

Be good to hear how you guys handle it. I haven’t tried https://aws.amazon.com/step-functions/ since it’s not in Singapore IIUC yet. Does serverless play nicely with Step functions? Having an accurate visual diagram of how things work would greatly help newbies I imagine.

Thanks for listening,