Thanks for asking.
Exactly right, each function is a single-purpose block of code.
However you CAN write applications, any web application you can think of, but not the MVC variety we are all familiar with.
That is the biggest difference I had to get my head wrapped around. With serverless you write event-based applications that handle requests from users, schedules, or other events. State happens on the client.
If it helps, consider a microservice simply as a group of functions, not too unsimilar to a CFC really, but without any OOP.
Here are a few advantages...
1. Easy to scale, handles any number of requests without worrying about the server
2. Easy to deploy, one function at a time
3. Easy to write, that is if you used CFScript
4. Easy to debug, one function at a time.
5. Easy on the wallet, use .5 - 2 seconds, 15 seconds max.
A simple example is a form. One function could handle validation, routing, transaction emailing, and final database insert. To host the app you could use a cheap VM, or have it cached on a CDN. To run a database, use another VM or use a cloud service in the same region as the function.
For me, the point is keeping it super simple, but allowing massive scaling, at lower costs.
It's actually a fun way to code I think.