2. From Metal Age to Serverless
Decreasing of concern and control over stack implementation
Focusinbusinesslogic
Physical
servers Virtual
Machine
Containers
Serverless
3. What Serverless means
Serverful : Serverless = Assembly Language : C#
No
infrastructure
management
Autoscale
No wasted resource
Pay only for what
you use
5. What does a developer do with Serverless
Write code Define trigger
Connect
managed
services
together
Pay for
consumption
instead of
allocation
Event driven
Stateless
computing
Single
responsibility
Executes
quickly
Faas
BaaS
6. What a developer imagines a Serverless is
• It’s unknown in which server, but the code runs
• It’s infinitely scalable;
• It’s an infinitely reliable computer
• Pay Per Use model == Cost Free
7. Execution time
Allocated memory
Execution time
Consumed memory
Execution time
Allocated memory
Allocated CPU
Serverless != Cost Free
• Billing factors of main providers
11. ● Memory allocation range: Min. 128 MB / Max. 1536 MB (with 64 MB increments)
● Ephemeral disk capacity ("/tmp" space): 512 MB
● Maximum execution duration per request: 300 seconds * Invoke request body payload
size (RequestResponse): 6 MB * Invoke request body payload size (Event): 128 K
● Invoke response body payload size (RequestResponse): 6 MB
● …..continue
● Allows only 10 concurrent executions per function
● No limitations on max execution time limit
● Resource Limits
● Time Limits
● Rate Limits
Serverless != No Limits
• Limits for main providers
13. Performance
How long before
receiving a
response from
the AD Service?
Is it a high-quality
code?
Is it possible to
improve the
execution time?
How performant
is the storage?
Which are the bottlenecks in
scaling?
14. Performance
• The execution time of business
logic in the function
• The time necessary to get a
response from an API call
• Cold start: the worst-case scenario
for a function's execution time
15. Hidden costs
• Code maintainability
• Migration from legacy system:
• re-engineering the application
• refactoring the application
16. Driving criteria in choosing Serverless
• Costs are monitorable, but also predictable with the price calculator
Try to verify if it can have the same
performance with lower costs, with
PaaS or IaaS
17. Driving criteria in choosing Serverless
• Few standards for FaaS
• Code, it’s just code
Code is always portable,
architecture isn’t
18. Driving criteria in choosing Serverless
• Unit tests can help with the
single function
• Monitoring and diagnostics to
find and fix issues, or improve
performance and costs
19. DevOps with Serverless
• Less Ops
• More Dev
• Without DevOps no cost saving
Don’t fall back to manual steps to deploy serverless components
20. Conclusion
• Serverless computing makes the cloud much easier to use.
• Serverless can help in saving time when adding new features in an
application.
• Serverless is not always the best choice to migrate to the cloud,
because the re-engineering and refactoring of the application would
be too expensive.
• There are still many challenges to overcome.