Today we still need actual servers to run web apps/APIs, but it's now possible to outsource your application infrastructure to the cloud. In this talk, I'll cover what the pros/cons of Serverless Architecture are, and go over specific use cases, including building a serverless backend for a web application (made up of Azure Functions, Logic Apps, and Event Grid). We'll also cover how we can use these same services to add customization to home automation.
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
SERVERS? WHERE WE'RE GOING, WE DON'T NEED SERVERS.
1. Servers? Where we’re
going we don’t need
servers.
Serverless Computing with
Microsoft Azure
Justin Maurer
Sr. Software Developer - Modern Apps
2. The Evolution Of Computing at Scale
Mainframes
1950-1980
On Premise / Client Server
1980-1990
Cloud / IaaS / PaaS
2000s
IaaS / PaaS / FaaS / CaaS
Today
3. Today’s users expect their apps to run
everywhere they are.
Microsoft Cloud Vision Announced
at Build 2017
4. What is Serverless Computing?
Abstraction of
Servers “Serverless”
Stateless
Reactive / Event
Driven
Ephemeral /
managed by a
party
Functions as a Service (FaaS)
5. Why Serverless?
Focus your efforts on your apps
core domain
Event-Driven, Instant
Auto-Scaling
Pay only when your
Code runs
6. Good Use Cases for FaaS
Low stakes/MVP
Workloads that are low volume / have
potential for high scale.
Examples
As glue to third party services i.e. Salesforce,
Office 365
High level event tracking scenarios ->
Shipping a package -> Nov 24th traffic
increases 1000% (auto scaling)
On the fly log analysis
7. Customer Managed vs Vendor Managed
IaaS
Functions
Application
Runtime
OS
Virtualization
Hardware
PaaS
Functions
Application
Runtime
OS
Virtualization
Hardware
FaaS
Functions
Application
Runtime
OS
Virtualization
Hardware
Customer Managed = Green
Sasha Rosenbaum, Serverless computing in Azure with .NET (Packt, 2017)
https://www.safaribooksonline.com/library/view/serverless-computing-
in/9781787288393/fe389fb3-4e0f-416c-9254-4f0dfe27c6e9.xhtml
8. Ok back to reality….
Vendor dependency / Loss of control - You have to
trust that your vendor will keep the lights on,
downtime occurs, costs can change and SLAs can be
limited.
Limited Execution time – default limit is 5 minutes.
There is latency - on startup and accessing external
database. i.e. Not ideal for financial applications,
where every millisecond counts.
Functions can still crash - additional effort is required
to mitigate failures
Its bleeding edge, the tooling is getting better but its
not as established as IaaS/PaaS. You get to be the first
to experience the bugs/ask a question on Stack
overflow.
10. Azure Functions
Consumption vs App Service Plans
Consumption Plan = Scaling on Auto pilot / Pay only when your Code runs / times-out in 5
minutes / No SLA
App Service = Running on dedicated VMs that you select, host is always running / always billing /
99.95% SLA
https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#consumption-plan