Asynchronous by Default
A lot of applications are synchronous. That is to say, when you perform an action, the program processes it and returns the answer, holding up the program and the user from doing anything else until it has returned the answer. This is the way most developers design their applications, particularly those used to REST. However, this can become a serious barrier to scalability. If your application needs to process complex requests, the time taken becomes intolerable to the end user. This is the point where most developers will decide to adjust the behavior for this request so that the synchronous part simply includes validation, and processing is done asynchronously. Asynchronous behavior is where the user performs an action and the application processes it when it has time, rather than keeping the user sitting there.
With a serverless architecture, it is a very good idea to shift your mindset. When designing applications, you should endeavor to be asynchronous by default...