10. @pacodelacruz
Serverless Compute and its Benefits
Pay only for what
you use
Server abstraction
Focus on value
Event-driven scaling
not resource-driven
Load balancing &
High availability
built-in
11. @pacodelacruz
Serverless FaaS in a Nutshell
Event Triggers Code Outputs
React and get inputs from
http request and services
Code Send results to different
services / protocols
13. @pacodelacruz
Language Support
Java 8
Go 1.x
PowerShell
Node.js 8.10 & 10
C# (.NET Core 1.0, 2.1)
Python 2.7, 3.6, 3.7
Ruby code 2.5
Runtime API (extend)
C#
Node.js 8 & 10
F#
Java 8
Python 3.6
PowerShell (Preview)
Typescript
Node.js 8 & 10
Python 3.7
Go 1.11
14. @pacodelacruz
Triggers (not an exhaustive list)
Sync
Http API / Webhooks,
Alexa, Kinesis, Lex, etc.
Async
S3, SNS, SES,
CloudWatch,
CodeCommit, etc.
Sync
Http API / Webhooks
Async
Event Grid, Blob, Cosmos
DB, Event Hubs, Queue
Storage, Service Bus,
Timer, Graph Events
Sync
Http API / Webhooks
Async
Cloud Storage, Cloud
Pub/Sub, Firebase,
Stackdriver Logging
15. @pacodelacruz
Use Cases
APIs for SPAs
APIs for Web
Apps
Mobile App
Back Ends
IoT Back Ends
Integration
Pub/Sub
Services
Event Stream
Processing
Data
Processing
MapReduce
IT and Ops
Automation
CRON Jobs
Chatbots
16. @pacodelacruz
Speed-to-Market
Focus on Business Value (Devs & Ops)
Cost (with Sporadic Loads)
Event-Based Scaling (Ideal for Bursty Loads)
Tooling, Local Dev & Portable Runtime
Event Triggers (More than just Http)
The Good
19. @pacodelacruz
Cold Starts *, **
The Ugly
Server
Allocation
Function
Deployment
Loaded into
Memory
Code
Execution
* Only impacts interactive sync requests
** There are some mitigation strategies
20. @pacodelacruz
Sync & Low Latency
Constant Load
Portability
Full-Control of Infrastructure
Language Lack of Support
Limitations of Programming Model
Sync & Low Latency Workloads
Constant Load
Portability
Full-Control of Infrastructure
Language Lack-of-Support
Limitations of Programming Models
When Not to Use Serverless
22. @pacodelacruz
Quick Introduction to Azure Functions
Programming Models (Bindings)
Development and Monitoring Tooling
Demo 1
github.com/pacodelacruz/
serverless-intro-azure-functions
23. @pacodelacruz
Building a Serverless Request Bin
Memory cache across instances
Strategy to mitigate cold-starts
Dependency Injection
Deployment to Azure
Demo 2
github.com/pacodelacruz/
serverless-request-bin-azure-functions
24. @pacodelacruz
Productivity (Prog. Models, Devs & Ops Tools)
Ideal for Bursty or Async Short-lived Loads
Specific Use Cases (More than just Http)
Enterprise-Grade for Certain Scenarios
Evolving Rapidly, Still Maturing
Know the Capabilities of your Cloud Provider
Key Takeaways