This document provides an introduction to serverless architectures using Azure Functions. It defines serverless architectures as applications that depend on third-party services to manage logic and state through short-lived event-triggered functions. The benefits of Azure Functions are discussed, including automatic scaling, consumption-based pricing, and the ability to focus on code instead of servers. Examples are provided of developing Azure Functions through scripting in the portal or compiling in Visual Studio. The document demonstrates chaining multiple functions using queues and deploying functions from the portal or VSTS.
9. 1. Application that fully depends on a 3rd party service
in the cloud to manage logic and state.
Multiple interpretations for Serverless
10. 2. Application where some code is written by the
developer but is run in stateless compute containers
that are event-triggered, short lived and fully
managed by a 3rd party.
Multiple interpretations for Serverless
11. • Serverless is a misleading term
• Functions as a Service (FaaS) is better
“Serverless”
25. What is Azure Functions?
“Azure Functions is a serverless compute service that
enables you to run code on-demand without having to
explicitly provision or manage infrastructure.”
https://docs.microsoft.com/en-us/azure/azure-functions/
34. • Function scripts
- Directly in the portal
- Visual Studio Code
• Compiled Functions
- Visual Studio 2017 with Azure Function Tools
Developing Functions
36. Benefits of Compiled Functions:
• Enjoy the VS IDE features
• Local debugging
• Easier package management
• Configure CI/CD pipelines
• Reduce cold start time
Developing in Visual Studio
38. User uploads image
Image requires validation
Image needs to be analyzed
Analysis result need to be stored
Use case
39. Solution using Azure Functions & Queues
images input images to analyze
images too large
analysis results
to store
validate analyze store
blob
DB
40. Solution using Azure Functions & Queues
Upload images
images input images to analyze
images too large
analysis results
to store
validate analyze store
blob
DB
41. Solution using Azure Functions & Queues
Validate images
images input images to analyze
images too large
analysis results
to store
validate analyze store
blob
DB
42. Solution using Azure Functions & Queues
Analyze images
images input images to analyze
images too large
analysis results
to store
validate analyze store
blob
DB
43. Solution using Azure Functions & Queues
Store analysis data
images input images to analyze
images too large
analysis results
to store
validate analyze store
blob
DB
44. Solution using Azure Functions & Queues
Scope of the demo
images input images to analyze
images too large
analysis results
to store
validate analyze store
blob
DB
47. Solution using Azure Functions & Queues
Start situation
images input images to analyze
images too large
analysis results
to store
validate analyze store
blob
DB
3
3
48. Solution using Azure Functions & Queues
End situation
images input images to analyze
images too large
analysis results
to store
validate analyze store
blob
DB
3
1
2
50. ✓ Develop function using the Azure portal
✓ Develop function using Visual Studio
✓ Multiple functions in one Function App
✓ Microsoft Azure Storage Explorer
✓ Function App Logs
Developing Functions Demos
56. Currently you need to provide a message queue to chain
functions.
Function Chaining & Durable Functions
57. Function Chaining & Durable Functions
https://azure.github.io/azure-functions-durable-extension/
Durable Functions will use Orchestrator and Action
functions making it easier for developers to chain
functions.
59. Use an API gateway to
manage your
Functions
API Gateway
Client PlaceOrder
Search
ValidateCalculate
Temp
Storage
Perm
Storage
Products
Gateway
60.
61. Marc Duiker
Lead Consultant
Xpirit Netherlands
@marcduiker – mduiker@xpirit.com
Go and discover endless possibilities
with Azure Functions!
https://github.com/marcduiker/
demos-serverless-architectures-functions/