You know that I currently am investing effort in demystifying some of the buzzwords that are spooking around in the software development world.
After I did my first steps with running a Docker container, I now get my head around serverless computing, another term that I stumbled across several times.
That should simply allow you as a developer to focus on the code and forget about the administration aspects. Of course, the written code is still running on servers after all, but this “backend infrastructure” is invisible for the developer.
AWS offers serverless computing in their Service Lambda, Microsoft and Google offer similar possibilities. (I will now describe the Lambda workflow and terms because that is the one I touched, might work differently on Azure and GCP). To deploy your code, you need to define a Lambda Function. This Function can either be triggered by other AWS services or be called from the outer world to interact with your code. While setting it up, you have the option to choose your language: Java, Node.js, C# and Python are available.
The promise is that your function automatically scales when it is used heavily. As said before, underneath are still running servers that execute the written code – but the Cloud Platforms offer the ability to recognize when the available resources of the servers can’t keep up with the workload necessary to keep your function running smoothly. If that happens, they simply start more servers (containers?) that handle the load. Sounds pretty simple, right?
Another aspect that is very interesting on Platforms that bill you for the used resources: You only really pay for the resources that are used while executing the function.
Check out the AWS Lambda Features page for more infos.