• How to create a function in Azure Functions
• How to create HTTP APIs in Azure Functions
• How to create timer jobs in Azure Functions
• How to use Function bindings
Slide 3
Slide 3 text
• The functions runtime on your laptop is the same as the one
in Azure.
• You can have your own Azure Functions environment on-
premise and use it without Public Azure Cloud.
• Azure Functions runs on Linux as well as Windows.
Slide 4
Slide 4 text
Azure Functions on Kubernetes with KEDA
• https://drn.fyi/2ppbVxN
Create a function on Linux using a custom image
• https://drn.fyi/2nQwd2E
Slide 5
Slide 5 text
• API Routing, Versioning, Caching, Throttling
• Managing state across multiple functions.
• Eventing
• Function Orchestration for you and for dummies!
Slide 6
Slide 6 text
• Have multiple function apps under a single API surface.
• Mock APIs for developers!
• Request/Response overrides
• Routing
• Can run locally on your machine #justfyi
.
Slide 7
Slide 7 text
Using function proxies to hijack 3rd party APIs.
Don’t try this at home!
Azure Proxies Official Documentation
• https://aka.ms/ProxiesDocs
OpenAPI (Swagger) export from Azure Functions
• https://goo.gl/LWbFmH
Slide 24
Slide 24 text
• Stateful functions
• Managed state, checkpoints, and restarts when needed.
• Define stateful workflows in orchestrator functions.
• Actor like Durable Entities in Durable 2.0
.
Slide 25
Slide 25 text
• No visualization to show relationship between functions and queues.
• Middle queues are an implementation detail – conceptual overhead.
• Error handling adds a lot more complexity.
Slide 26
Slide 26 text
• Fanning-out is easy, but fanning-in is more complicated.
• Functions offers no help with this scenario today
• All the same problems of the previous pattern
Slide 27
Slide 27 text
• Long running processes
• Built-in state management
• orchestrationClient or built-in webhooks can be used.
Slide 28
Slide 28 text
• Actor like scenarios.
• Long-running (possibly endless), stateful, reliable, single-
threaded, location-transparent, and globally addressable.
Slide 29
Slide 29 text
Consuming 3rd party throttled APIs with ease.
Slide 30
Slide 30 text
• Service Bus: Async Enterprise Messaging
• Azure Event Hubs: Distributed Data Streaming
• Relay: Secure two way communication without changes to
your network
• Event Grid: Cross cloud reactive eventing
Slide 31
Slide 31 text
No content
Slide 32
Slide 32 text
• Pay per event.
• Sub-second end-to-end latency in the 99th percentile
• 10.000.000 events per second per region
• 24 hour retry with exponential back off
Slide 33
Slide 33 text
1. Events: what happened
2. Event Publishers: where it took place
3. Topics: where publishers send events
4. Event Subscriptions: how you receive
events
5. Event Handlers: the app or service
reacting to the event
Slide 34
Slide 34 text
No content
Slide 35
Slide 35 text
No content
Slide 36
Slide 36 text
No content
Slide 37
Slide 37 text
No content
Slide 38
Slide 38 text
• Event Hub is an “event ingestor” that accepts and stores event
data, Azure Event Grid is the distribution fabric for discrete
“business logic activity” events.
• Fast and highly parallelized processing of the individual
streams instead of a filtered subscriber model.
Slide 39
Slide 39 text
No content
Slide 40
Slide 40 text
No content
Slide 41
Slide 41 text
No content
Slide 42
Slide 42 text
No content
Slide 43
Slide 43 text
Event Grid Extension for Azure Functions
• https://goo.gl/7z88G3
Choosing the right Azure messaging service for your data
• https://goo.gl/19YPDZ
Slide 44
Slide 44 text
• Saving time by designing complex processes using easy to
understand design tools
• Implementing patterns and workflows seamlessly, that would
otherwise be difficult to implement in code
• Rich Managed Connectors
Slide 45
Slide 45 text
No content
Slide 46
Slide 46 text
No content
Slide 47
Slide 47 text
No content
Slide 48
Slide 48 text
No content
Slide 49
Slide 49 text
No content
Slide 50
Slide 50 text
Sample project used during presentation
• https://drn.fyi/2nTbb3y
OpenAPI (Swagger) export from Azure Functions
• https://goo.gl/LWbFmH