SlideShare a Scribd company logo
Da un (Azure) Functions ad
un'applicazione in 60 minuti
About me
What does “serverless” mean?
● Reacts to events
● Autoscales
● Pay-as-you-go
Once upon a time...
...there were WebJobs...
What’s a “WebJob”?
● WebJobs
○ Easily host background services in managed compute service, App Service
○ Continuously Running, Timed or on-demand
● WebJobs SDK
○ Function oriented programming model
○ Trigger on new events
○ Introduces binding concepts
What was the next step...
● Add language abstraction layer
● Provide a more lightweight language experience
● Only deploy functions. No hosts
● Platform handles execution/scale for developers
○ App Service already has auto-scale, but it involves decisions on users’ part
How to create a “Function App”
● Portal
● CLI
○ az functionapp create 
--resource-group myResourceGroup 
--consumption-plan-location westeurope 
--name <app_name> 
--storage-account <storage_name>
Scale & hosting
● Consumption plan
○ instances of the Azure Functions host are dynamically added and removed based on
the number of incoming events
○ don't have to pay for idle VMs and don't have to reserve capacity in advance
○ billing is based on number of executions, execution time, and memory used. Billing is
aggregated across all functions within a function app
○ includes a monthly free grant of 1 million requests and 400,000 GB-s of resource
consumption per month
● App Service plan
○ function apps run on dedicated VMs on Basic, Standard, Premium, and Isolated SKUs
○ VM decouples cost from number of executions, execution time, and memory used
Runtime versions
● 1.x:
○ supports development and hosting only in the portal or on Windows
● 2.x:
○ runs on .NET Core
○ can run on all platforms supported by .NET Core, including macOS and Linux
○ enables cross-platform development and hosting scenarios
How to target different runtime versions
● Portal
● Application settings
○ FUNCTIONS_EXTENSION_VERSION = ~1 / ~2
● CLI
○ az functionapp config appsettings set --name <function_app> 
--resource-group <my_resource_group> 
--settings FUNCTIONS_EXTENSION_VERSION=<version>
Trigger & binding
● A trigger defines how a function is invoked
○ A function must have exactly one trigger
○ Triggers have associated data
● Input and output bindings provide a declarative way to connect to
data from within your code
○ bindings are optional and a function can have multiple input and output bindings
○ in 2.x, all bindings except HTTP, Timer, and Azure Storage must be registered
■ func extensions install -p <package_name> -v <version>
○ extensions are delivered as NuGet packages (microsoft.azure.webjobs.extensions.*)
DEMO
How to create a function app locally
Durable Functions extension
● The primary use case for Durable Functions is simplifying complex,
stateful coordination problems in serverless applications
Durable Functions: function chaining
Durable Functions: function chaining
const df = require("durable-functions");
module.exports = df(function*(ctx) {
const x = yield ctx.df.callActivityAsync("F1");
const y = yield ctx.df.callActivityAsync("F2", x);
const z = yield ctx.df.callActivityAsync("F3", y);
return yield ctx.df.callActivityAsync("F4", z);
});
Durable Functions: fan out / fan in
Durable Functions: async API
DEMO
Other features
● Proxy
● Slot
● Monitoring

More Related Content

PDF
AWS ElasticBeanstalk and Docker
PDF
Free the Functions with Fn project!
ODP
Advanced Code Flow, Notes From the Field
PDF
AllTheTalks 2020: Buildpacks - container for everyone!
PPTX
Containers&Orchestration Approaches
PDF
Dockerfile for rust project
ODP
Monitoring your VM's at Scale
PDF
Web Assembly
AWS ElasticBeanstalk and Docker
Free the Functions with Fn project!
Advanced Code Flow, Notes From the Field
AllTheTalks 2020: Buildpacks - container for everyone!
Containers&Orchestration Approaches
Dockerfile for rust project
Monitoring your VM's at Scale
Web Assembly

What's hot (20)

PDF
Kiosk-mode browser using Chromium Embedded Framework (CEF)
PDF
Fixing Gaps. Strengthening the Chromium platform for content blocking
PDF
OpenNebulaconf2017US: OpenNebula hybrid clouds with Amazon and Azure by Ruben...
PPTX
Kubernetes CRI containerd integration by Lantao Liu (Google)
PDF
Varnish at the BBC
PPTX
Local Lambda Debugging
ODP
OSMC 2008 | Nagios Eventbroker Modules by Andreas Ericsson
PPTX
Gutenberg Extended
PDF
Dynamic management of kubernetes
PDF
Writing native Linux desktop apps with JavaScript
PDF
Arkena from heroku_to_k8s
PDF
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
PDF
Disaster recovery solution with open nebula and storpool
PDF
Scaling xtext
PDF
Cache in Chromium: Disk Cache
PDF
Life of a startup - Sjoerd Mulder - Codemotion Amsterdam 2017
PDF
CD, docker and kubernetes
PDF
Eclipse demo camp 2016 Toronto
PDF
Kubernetes
PDF
Александр Махомет "Feature Flags. Уменьшаем риски при выпуске изменений"
Kiosk-mode browser using Chromium Embedded Framework (CEF)
Fixing Gaps. Strengthening the Chromium platform for content blocking
OpenNebulaconf2017US: OpenNebula hybrid clouds with Amazon and Azure by Ruben...
Kubernetes CRI containerd integration by Lantao Liu (Google)
Varnish at the BBC
Local Lambda Debugging
OSMC 2008 | Nagios Eventbroker Modules by Andreas Ericsson
Gutenberg Extended
Dynamic management of kubernetes
Writing native Linux desktop apps with JavaScript
Arkena from heroku_to_k8s
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
Disaster recovery solution with open nebula and storpool
Scaling xtext
Cache in Chromium: Disk Cache
Life of a startup - Sjoerd Mulder - Codemotion Amsterdam 2017
CD, docker and kubernetes
Eclipse demo camp 2016 Toronto
Kubernetes
Александр Махомет "Feature Flags. Уменьшаем риски при выпуске изменений"
Ad

Similar to Azure functions: from a function to a whole application in 60 minutes (20)

PDF
Web App Prototypes with Google App Engine
PPTX
Apache Airflow in Production
PDF
Who needs containers in a serverless world
PDF
Sprint 17
PPTX
Node.js Web Apps @ ebay scale
PDF
Openshift service broker and catalog ocp-meetup july 2018
PPTX
Kubernetes #1 intro
PDF
introduction to micro services
PDF
Cloud Platform as a Service: Heroku
PDF
Devops with Python by Yaniv Cohen DevopShift
PDF
PyConIE 2017 Writing and deploying serverless python applications
PPTX
20180518 QNAP Seminar - Introduction to React Native
PPTX
MicroServices with Containers, Kubernetes & ServiceMesh
PDF
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
PDF
SCCM 2007 Introduction - PICC 2012
PDF
Next Generation Automation in Ruckus Wireless
PDF
Platform as a Service (PaaS) - A cloud service for Developers
PDF
Writing and deploying serverless python applications
PPTX
ServerLess by usama Azure fuctions.pptx
PDF
Apache Samza 1.0 - What's New, What's Next
Web App Prototypes with Google App Engine
Apache Airflow in Production
Who needs containers in a serverless world
Sprint 17
Node.js Web Apps @ ebay scale
Openshift service broker and catalog ocp-meetup july 2018
Kubernetes #1 intro
introduction to micro services
Cloud Platform as a Service: Heroku
Devops with Python by Yaniv Cohen DevopShift
PyConIE 2017 Writing and deploying serverless python applications
20180518 QNAP Seminar - Introduction to React Native
MicroServices with Containers, Kubernetes & ServiceMesh
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
SCCM 2007 Introduction - PICC 2012
Next Generation Automation in Ruckus Wireless
Platform as a Service (PaaS) - A cloud service for Developers
Writing and deploying serverless python applications
ServerLess by usama Azure fuctions.pptx
Apache Samza 1.0 - What's New, What's Next
Ad

More from Alessandro Melchiori (20)

PDF
C# metaprogramming with source generator.pdf
PDF
Scale your (aks) cluster, luke!
PDF
A quick introduction to AKS
PDF
Developing reliable applications with .net core and AKS
PDF
VS Code tools for docker
PPTX
Developing reliable applications with .net core and AKS
PDF
How to search...better! (azure search)
PDF
AKS: k8s e azure
PDF
How to search...better!
PPTX
A quick tour around Azure Dev Spaces
PPTX
Aks: k8s e azure
PDF
Monitoring docker: from zero to Azure
PPTX
Cooking Akka.net and Azure Service Fabric together
PPTX
Azure data platform overview
PPTX
ACR + ACS + VSTS: a complete ALM pipeline with docker and azure
PPTX
Docker & Azure
PDF
Docker and Azure
PPTX
Come ti "pusho" il web con WebSockets: da 0 a SignalR
PPTX
Docker &amp; azure
PPTX
Azure service fabric: a gentle introduction
C# metaprogramming with source generator.pdf
Scale your (aks) cluster, luke!
A quick introduction to AKS
Developing reliable applications with .net core and AKS
VS Code tools for docker
Developing reliable applications with .net core and AKS
How to search...better! (azure search)
AKS: k8s e azure
How to search...better!
A quick tour around Azure Dev Spaces
Aks: k8s e azure
Monitoring docker: from zero to Azure
Cooking Akka.net and Azure Service Fabric together
Azure data platform overview
ACR + ACS + VSTS: a complete ALM pipeline with docker and azure
Docker & Azure
Docker and Azure
Come ti "pusho" il web con WebSockets: da 0 a SignalR
Docker &amp; azure
Azure service fabric: a gentle introduction

Recently uploaded (20)

PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
A Presentation on Artificial Intelligence
PPT
Teaching material agriculture food technology
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Cloud computing and distributed systems.
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
KodekX | Application Modernization Development
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Machine learning based COVID-19 study performance prediction
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Electronic commerce courselecture one. Pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Encapsulation_ Review paper, used for researhc scholars
Reach Out and Touch Someone: Haptics and Empathic Computing
A Presentation on Artificial Intelligence
Teaching material agriculture food technology
NewMind AI Monthly Chronicles - July 2025
Cloud computing and distributed systems.
The AUB Centre for AI in Media Proposal.docx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
KodekX | Application Modernization Development
Mobile App Security Testing_ A Comprehensive Guide.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Machine learning based COVID-19 study performance prediction
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Chapter 3 Spatial Domain Image Processing.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Electronic commerce courselecture one. Pdf

Azure functions: from a function to a whole application in 60 minutes

  • 1. Da un (Azure) Functions ad un'applicazione in 60 minuti
  • 3. What does “serverless” mean? ● Reacts to events ● Autoscales ● Pay-as-you-go
  • 4. Once upon a time... ...there were WebJobs...
  • 5. What’s a “WebJob”? ● WebJobs ○ Easily host background services in managed compute service, App Service ○ Continuously Running, Timed or on-demand ● WebJobs SDK ○ Function oriented programming model ○ Trigger on new events ○ Introduces binding concepts
  • 6. What was the next step... ● Add language abstraction layer ● Provide a more lightweight language experience ● Only deploy functions. No hosts ● Platform handles execution/scale for developers ○ App Service already has auto-scale, but it involves decisions on users’ part
  • 7. How to create a “Function App” ● Portal ● CLI ○ az functionapp create --resource-group myResourceGroup --consumption-plan-location westeurope --name <app_name> --storage-account <storage_name>
  • 8. Scale & hosting ● Consumption plan ○ instances of the Azure Functions host are dynamically added and removed based on the number of incoming events ○ don't have to pay for idle VMs and don't have to reserve capacity in advance ○ billing is based on number of executions, execution time, and memory used. Billing is aggregated across all functions within a function app ○ includes a monthly free grant of 1 million requests and 400,000 GB-s of resource consumption per month ● App Service plan ○ function apps run on dedicated VMs on Basic, Standard, Premium, and Isolated SKUs ○ VM decouples cost from number of executions, execution time, and memory used
  • 9. Runtime versions ● 1.x: ○ supports development and hosting only in the portal or on Windows ● 2.x: ○ runs on .NET Core ○ can run on all platforms supported by .NET Core, including macOS and Linux ○ enables cross-platform development and hosting scenarios
  • 10. How to target different runtime versions ● Portal ● Application settings ○ FUNCTIONS_EXTENSION_VERSION = ~1 / ~2 ● CLI ○ az functionapp config appsettings set --name <function_app> --resource-group <my_resource_group> --settings FUNCTIONS_EXTENSION_VERSION=<version>
  • 11. Trigger & binding ● A trigger defines how a function is invoked ○ A function must have exactly one trigger ○ Triggers have associated data ● Input and output bindings provide a declarative way to connect to data from within your code ○ bindings are optional and a function can have multiple input and output bindings ○ in 2.x, all bindings except HTTP, Timer, and Azure Storage must be registered ■ func extensions install -p <package_name> -v <version> ○ extensions are delivered as NuGet packages (microsoft.azure.webjobs.extensions.*)
  • 12. DEMO How to create a function app locally
  • 13. Durable Functions extension ● The primary use case for Durable Functions is simplifying complex, stateful coordination problems in serverless applications
  • 15. Durable Functions: function chaining const df = require("durable-functions"); module.exports = df(function*(ctx) { const x = yield ctx.df.callActivityAsync("F1"); const y = yield ctx.df.callActivityAsync("F2", x); const z = yield ctx.df.callActivityAsync("F3", y); return yield ctx.df.callActivityAsync("F4", z); });
  • 16. Durable Functions: fan out / fan in
  • 18. DEMO
  • 19. Other features ● Proxy ● Slot ● Monitoring