I've been hearing lately more and more about serverless architectures which are based on products such as AWS Lambdas, Azure Functions, Google Cloud Functions, etc.
I understand the advantages of using such architectures, but what eludes me is how small business logic components can be efficiently shared between those functions. I'll give an example:
The backend of my app is composed of a group of functions deployed in one of the services I mentioned above. Each of these functions uses a logging framework. I wouldn't want to put the logging logic in a function of its own because I don't want the overhead of making a remote function call every time I want to log something. The issue arises when I want to make a change in the logging framework. Now, I need to re-deploy ALL the functions that use this framework in order to apply the change.
In contrast, in "regular" architectures, I would only need to deploy the application, which is something I probably do anyway once in a short while.
So, is it an inherent problem with these serverless architectures? or am I missing something?