10. #PETechTalk@pacodelacruz
Serverless FaaS and its Benefits
Server abstraction
(Ops Productivity)
Event-driven scaling
not resource-driven
Scaling,
Load balancing &
High availability
built-in
Pay only for
what you use
Devs Productivity
(Programming
Models)
11. #PETechTalk@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. #PETechTalk@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. #PETechTalk@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. #PETechTalk@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. #PETechTalk@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. #PETechTalk@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. #PETechTalk@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. #PETechTalk@pacodelacruz
Quick Introduction to Azure Functions
Programming Models (Bindings)
Development and Monitoring Tooling
Demo 1
github.com/pacodelacruz/
serverless-intro-azure-functions
23. #PETechTalk@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. #PETechTalk@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