Azure functions are based on a serverless execution model (it is the equivalent of Amazon Lambda) and extend the concept of a PaaS (which abstracts from the infrastructure details and facilitates auto-scaling). In addition, serverless has a pay-per-execution system.
In summary, the benefits of Serverless are as follows:
- Automatic scaling
- Reduction of time to market
- Agile deployment
(Gartner) "Serverless architectures enable developers to focus on what they should be doing –writing code and optimizing application design– making way for business agility and digital experimentation."
In general, we want to solve scenarios where we want data processing to react to "events;" also, we want to pay only for the resources that are consumed. They are not suitable for long-running batch procedures.
Data processing can be triggered as a cron, or react to a trigger. There are different types of triggers (e.g.: Timer, Queue, Service Bus, Http, etc).
Check how to implement them in GeneXus:
|Net Core 3.1 (Execution model In-process)
|Net 5 (Execution Isolated process)
|Net 6 (Execution Isolated process)
See HowTo: Deploy as Azure Functions.
HowTo: Troubleshoot Azure functions
HowTo: Monitor Azure Functions