Serverless is an execution model where the cloud provider is responsible for executing a piece of code by dynamically allocating the resources in seconds.
When we use traditonal servers, we have to consider the peak load and make sure the servers have a sufficient space for it. In this case, we always have to charge for keeping the large capacity server up even when we are not serving out so many requests. Also, if a load that exceeds the expected level occurs, there is a concern that the processing speed will be reduced or the system will be down in the worst case. In contrast, with the serverless method, it is possible to allocate servers of the required size in units of seconds when needed, making it possible to build ”cheap” and ”high quality” systems.
Web browser for manage BOTs might uses more than 1GB memory. If you execute multiple databases at the same time, there is concern that the system become unstable even abnormally stopped, due to running out of memory and the short of CPU capacity. As a solution, we can limit the number of concurrent executions of web browser, and prepare enough servers for maximum concurrent access in advance. However, we have to pay an expensive charge for keeping the server up even when we are not serving out any requests. Additionally, the concurrent executions of BOTs sharing one server, has the risk of being affected by each other and the security problems.
Different with running multiple BOTs at same time in one server, every BOT has its own server resource in the serverless method. So you can run several hundred, even thousands of BOTs at the same time stable without any risk of being affected by each other.
When we use dedicated server, we usually deploy 2 different server to avoid system stop caused by server failures. Use redundant configuration for reliability.
In contrast, serverless model has no dedicated server, allocating the resources at the moment of execution, we don't have to worry about the risk of server down, and keep our service highly available.
In serverless model, every BOT has it own server resource like CPU of memory, we have lower risks of security than running multiple BOTs at same time in one server.
Dedicated server has to charge for 24 hours everyday even you just run your BOT one hour per day.
On the other hand, in the case of a serverless system, costs are incurred only for the time of execution, so that significant cost reduction is possible. If you rn your BOT one hour for one month, the charge for the server will be 1/270.