Evolution of Functions as a Service
-
Traditional:
- All of the application packaged/deployed into one server
- Complete functionality is written by dev teams, they might use some libraries(sdk)
-
Backend As a Service (BAAS):
- In Traditional Applications, Almost all need
- Authentication & Authorization
- Database Services
- Storage Services
- Notification Services
- Backend as a Service offers below services readily to your application, so the developers focus on core business logics rather than obvious/necessary/supporting Functionalities
- Authentication & Authorization
- Database Services
- Storage Services
- Notifications Services
- Refer Here
- In Traditional Applications, Almost all need
-
Function As a Service (Function As A Service):
- Traditionally the evolution of architectures for Applications
- Monolith => Micro Services => Functions
- Refer Here
- Traditionally the evolution of architectures for Applications
Serverless
- Serverless technology doesn’t mean there are no servers, but rather it will have servers on which your functions run.
- Logically => Servers are created internally by the service provider and your functions will be executed there only when the functions are called. Server handling is completely done by Service Provider.
- Charges for this will be only for the duration when the function is executed.
- Serverless is implemented by many vendors
- AWS => Lambda
- Azure => Azure Functions
Scenarios With Azure Functions
- Whenever VM cpu utilization > 70% for 10 minutes of time raise an IT Ticket with medium priority
- Alert Manager => Azure Function
- Whenever a JIRA/Service Now Ticket is created to restart a VM
- Build Financial Calculators like home loan, personal loan etc