SlideShare a Scribd company logo
1
www.techtalk.at
Raoul Holzer
Andreas Willich
Serverless with Azure Functions
2
What is a serverless architecture?
What is serverless on Azure?
What are Azure Functions?
What can they do?
How do I develop Azure Functions?
How the heck can I deploy the stuff?
Questions to be answered
3
Serverless Architecture
4
Who heard about it?
Was your first reaction “Bullshit, there are always server involved”?
Who has an idea what it is?
Serverless architecture
5
Definition from Mike Roberts:
Serverless architectures are internet based systems where the
application development does not use the usual server process.
Instead they rely solely on a combination of third-party services,
client-side logic, and service hosted remote procedure calls.
https://martinfowler.com/bliki/Serverless.html
Serverless architecture
6
By using 3rd party services and sticking them together, I don’t
care anymore on which server the code is running.
Serverless architecture
7
Big differences to normal pricing models:
• Classic VM hosting pricing model
• X €/Month independent of usage
• Serverless pricing models
• A€ for B number of executions
• C€ for D usage of resources.
Business driven development
8
Export of data into specific format
• Feature that is rarely used
• Needs a lot of resources
Classic:
Separate VM(s) that provide the functionality
• No influence on performance of the remaining application
• If the feature is not used, it costs a lot of money to have the
infrastructure running
Serverless:
• Single Function
Business driven development - Example
9
“… the number of active users increased roughly by 50%, but
our hosting costs dropped slightly less than 50%. Plus, we
replaced what was probably our biggest bottleneck with
something that scales without any effort on our side“
Gojko Adzic
https://gojko.net/2017/02/23/serverless-migration-lesson.html
Business driven development
10
Azure’s part
11
• Microsoft Flow
• Azure Logic Apps
• Azure Automation
• Azure Functions
Azure’s parts for Serverless Architecture
12
Azure Functions
13
Which languages can I use?
• C#
• F#
• JavaScript
• PHP
• Python
• Batch
• PowerShell
• Bash
Most important question first!
14
Through different triggers
• Timer schedule
• HTTP
• REST
• WebHook
• Blob Storage
• EventHub
• Queue Storage
How gets a Function called?
15
• HTTP Requests
• Blobs
• Events
• Queue Entries
• Tables
• Push Notifications
What gets in? What gets out?
16
Bindings serve as the basis for all connections to and from a
function.
Function Bindings
Type Service Trigger Input Output
Schedule Azure Functions ✔
HTTP (REST or webhook) Azure Functions ✔ ✔
Blob Storage Azure Storage ✔ ✔ ✔
Events Azure Event Hubs ✔ ✔
Queues Azure Storage ✔ ✔
Tables Azure Storage ✔ ✔
Tables Azure Mobile Apps ✔ ✔
No-SQL DB Azure DocumentDB ✔ ✔
Push Notifications Azure Notification Hubs ✔
17
• Scaling
• done automatically with magic
• Proxies
• One API surface for multiple function app
Which batteries are included?
18
Demo – Creating a function app
19
• Azure Functions are not State-full or State-less
• Multiple calls could be in same process
• Up- Scaling needs time
• Just because you are having 10 requests at a moment, you
do not get 10 separate processes
• Currently not the best performance
Behavior
20
Execution time:
€0.000014/GB-s (GigaByte Seconds)
1GB used for one second = 1 GB-s
512 MB used for 2 seconds = 1 GB-s
Execution count:
€0.169 per Million Executions
Free:
• 400.000 GB-s
• 1 Million Executions
How much does it cost?
21
Development & Deployment of Azure
Functions
22
• Flow => included in Office 365, some connections costs
• Logic => per Action and App Service Plan
• Automation => minute
Prices
23
Programming in Web Browser ?
What if we develop in teams?
Only one code file ?
Real World Development
24
• Azure Functions CLI
• https://www.npmjs.com/package/azure-functions-cli
• Visual Studio Tools for Azure Functions
• Preview
• Visual Studio 2015 Update 3
• https://aka.ms/FunctionsVsTools
Tools
Demo
26
• Kudu (Azure Copy Deploy)
• Bitbucket
• Dropbox
• Git local repo
• Git external repo
• GitHub
• Mercurial external repo
• OneDrive
• Visual Studio Team Services
Deploy Azure Functions in Team Environment
27
• wwwroot
• | - host.json
• | - FirstFunction
• | | - function.json
• | | - index.js
• | | - node_modules
• | | | - ... packages ...
• | | - package.json
• | - SecondFunction
• | | - function.json
• | | - run.csx
Folder Hierachy for development
Demo
29
Isolated Azure Functions
30
Function app A
/customer
Function app B
/products
Function app C
Function3/orders
Function1
API proxy endpoints
HttpTrigger function endpoints
Key:
/products
/orders
Function2
Azure Functions Proxy
31
{
"proxies": {
"proxy1": {
"matchCondition": {
"methods": [],
"route": "/api/{test}"
},
"backendUri": "https://contoso.azurewebsites.net/api/{test}"
}
}
}
New file on site root: proxies.json
32
• System
• System.Collections.Generic
• System.IO
• System.Linq
• System.Net.Http
• System.Threading.Tasks
• Microsoft.Azure.WebJobs
• Microsoft.Azure.WebJobs.Host.
Automatically imported References
33
• #r "System.Web.Http„
• Package management (NuGet, NPM)
• Copy to Bin Folder
• #load "mylogger.csx"
• #load "..sharedmylogger.csx”
Referencing External Assemblies
34
• Avoid large long running functions
• Cross function communication
• Write functions to be stateless
• Write defensive functions
• Don't mix test and production code in the same function app
• Use async code but avoid Task.Result
Best Practices
35
• Thanks to Mark Heath
Example
36
• Azure Functions Source Code:
• https://github.com/Azure/azure-webjobs-sdk
• https://github.com/Azure/azure-webjobs-sdk-script
• https://github.com/projectkudu/AzureFunctionsPortal
• Visualizer Azure
http://Armviz.io
Links
37
Reading stuff
• https://martinfowler.com/articles/serverless.html
• https://martinfowler.com/bliki/Serverless.html
• https://gojko.net/2016/08/27/serverless.html
• https://gojko.net/2017/02/23/serverless-migration-lesson.html
Thank you!
39
“Migrating to a Serverless Architecture” Training by Gojko Adzic
3-day Training
22-24 March 2017, 9 am to 5 pm
https://techtalk.at/trainings/migrating-to-a-serverless-
architecture/
Commercial break
40

More Related Content

What's hot (20)

PDF
Chris Anderson and Yochay Kiriaty - Serverless Patterns with Azure Functions
ServerlessConf
 
PDF
Serverless computing con Azure Functions
Hernan Guzman
 
PPTX
Serverless Application Development with Azure
Callon Campbell
 
PPTX
Azure functions
EducationTamil
 
PPTX
WRITE SCALABLE COMMUNICATION APPLICATION WITH POWER OF SERVERLESS
CodeOps Technologies LLP
 
PPTX
Building API in the cloud using Azure Functions
Aleksandar Bozinovski
 
PPTX
Azure Functions @ global azure day 2017
Sean Feldman
 
PPTX
Let's Talk About Serverless - Focusing on AWS Lambda
Okis Chuang
 
PPTX
Vincent biret azure functions and flow (ottawa)
Vincent Biret
 
PPTX
Vincent biret azure functions and flow (toronto)
Vincent Biret
 
PPTX
Serverless in azure
Veresh Jain
 
PDF
O365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
NCCOMMS
 
PPTX
Azure Functions - Introduction
Venkatesh Narayanan
 
PPTX
SPS calgary 2017 introduction to azure functions microsoft flow
Vincent Biret
 
PPTX
Azure Web Apps Advanced Security
Udaiappa Ramachandran
 
PPTX
Introduction to serverless compute with azure functions
Callon Campbell
 
PDF
AWS Lambda Containers - bridging the gap between serverless and containers on...
Yun Zhi Lin
 
PDF
Rob Gruhl and Erik Erikson - What We Learned in 18 Serverless Months at Nords...
ServerlessConf
 
PPTX
Azure Web Apps - Introduction
Christopher Gomez
 
PDF
User-percieved performance
Mike North
 
Chris Anderson and Yochay Kiriaty - Serverless Patterns with Azure Functions
ServerlessConf
 
Serverless computing con Azure Functions
Hernan Guzman
 
Serverless Application Development with Azure
Callon Campbell
 
Azure functions
EducationTamil
 
WRITE SCALABLE COMMUNICATION APPLICATION WITH POWER OF SERVERLESS
CodeOps Technologies LLP
 
Building API in the cloud using Azure Functions
Aleksandar Bozinovski
 
Azure Functions @ global azure day 2017
Sean Feldman
 
Let's Talk About Serverless - Focusing on AWS Lambda
Okis Chuang
 
Vincent biret azure functions and flow (ottawa)
Vincent Biret
 
Vincent biret azure functions and flow (toronto)
Vincent Biret
 
Serverless in azure
Veresh Jain
 
O365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
NCCOMMS
 
Azure Functions - Introduction
Venkatesh Narayanan
 
SPS calgary 2017 introduction to azure functions microsoft flow
Vincent Biret
 
Azure Web Apps Advanced Security
Udaiappa Ramachandran
 
Introduction to serverless compute with azure functions
Callon Campbell
 
AWS Lambda Containers - bridging the gap between serverless and containers on...
Yun Zhi Lin
 
Rob Gruhl and Erik Erikson - What We Learned in 18 Serverless Months at Nords...
ServerlessConf
 
Azure Web Apps - Introduction
Christopher Gomez
 
User-percieved performance
Mike North
 

Viewers also liked (20)

PDF
Building serverless apps with Node.js
Julien SIMON
 
PPTX
Serverless Architectures and Continuous Delivery
Robin Weston
 
PPTX
Azure Functions
Dino Wang
 
PPTX
Serverles com Azure Functions & DocumentDB
José Roberto Araújo
 
PPTX
Serverless Architecture - Azure Logic apps
Puneet Ghanshani
 
PDF
Serverless - When to FaaS?
Benny Bauer
 
PDF
Serverless
Young Yang
 
PPTX
Serverless Azure
Mark Allan
 
PDF
Serverless / FaaS / Lambda and how it relates to Microservices
Frank Munz
 
PPTX
Aqueous Two Phase Extraction
Nagendra P
 
PPTX
Empezando el Negocio de Aceites Esenciales
Lalo Marquez
 
DOC
Тепловые явления
sveta7940
 
PPTX
Beat box daniel peña
Alejandra Proaño
 
PPTX
Snowmageddon 2017 at Aptos
AptosRetail
 
PDF
Oakai labs-pitchdeck
Seth Kerr
 
DOC
Тепловые явления
sveta7940
 
PPTX
Organising
Lauren Hallas
 
PPTX
Microsoft Azure vs Amazon Web Services (AWS) Services & Feature Mapping
Ilyas F ☁☁☁
 
PDF
Docker from A to Z, including Swarm and OCCS
Frank Munz
 
PPTX
Azure - The Good Parts
Mark Allan
 
Building serverless apps with Node.js
Julien SIMON
 
Serverless Architectures and Continuous Delivery
Robin Weston
 
Azure Functions
Dino Wang
 
Serverles com Azure Functions & DocumentDB
José Roberto Araújo
 
Serverless Architecture - Azure Logic apps
Puneet Ghanshani
 
Serverless - When to FaaS?
Benny Bauer
 
Serverless
Young Yang
 
Serverless Azure
Mark Allan
 
Serverless / FaaS / Lambda and how it relates to Microservices
Frank Munz
 
Aqueous Two Phase Extraction
Nagendra P
 
Empezando el Negocio de Aceites Esenciales
Lalo Marquez
 
Тепловые явления
sveta7940
 
Beat box daniel peña
Alejandra Proaño
 
Snowmageddon 2017 at Aptos
AptosRetail
 
Oakai labs-pitchdeck
Seth Kerr
 
Тепловые явления
sveta7940
 
Organising
Lauren Hallas
 
Microsoft Azure vs Amazon Web Services (AWS) Services & Feature Mapping
Ilyas F ☁☁☁
 
Docker from A to Z, including Swarm and OCCS
Frank Munz
 
Azure - The Good Parts
Mark Allan
 
Ad

Similar to Serverless with Azure Functions (20)

PPTX
Azure functions: Build apps faster with serverless architecture (March 2018)
Callon Campbell
 
PPTX
Introduction to Azure Functions
Callon Campbell
 
PPTX
Scalable APIs with Azure Functions
Christos Matskas
 
PDF
Serverless API with Azure Functions
Analben Mehta
 
PPTX
Durable Azure Functions
Pushkar Saraf
 
PPTX
Azure Functions & Serverless Computing
Abhimanyu Singhal
 
PPTX
Serverless architecture with Azure
Christos Matskas
 
PPTX
Serverless on Azure with Functions
Christos Matskas
 
PDF
Azure functions
Rajesh Kolla
 
PPTX
Going Serverless with Azure Functions #1 - Introduction to Azure Functions
Kasun Kodagoda
 
PPTX
Azure functions - Build apps faster with serverless architecture
Callon Campbell
 
PDF
Azure web functions little bites of services
Aaron Petry
 
PDF
Getting Started with Serverless Architectures using Azure Functions
Marc Duiker
 
PPTX
Azure full
Mohit Chhabra
 
PPTX
#SpFestSea azr203 Azure functions lessons learned
Vincent Biret
 
PDF
Serverless Computing with Azure
Analben Mehta
 
PPTX
MSDN Sessions 032817 - Azure Functions
Marc Obaldo
 
PPTX
Go Serverless with Cosmos DB, Azure Functions and Blazor
Timothy McAliley
 
PDF
[Struyf] Automate Your Tasks With Azure Functions
European Collaboration Summit
 
PPTX
Azure functions: from a function to a whole application in 60 minutes
Alessandro Melchiori
 
Azure functions: Build apps faster with serverless architecture (March 2018)
Callon Campbell
 
Introduction to Azure Functions
Callon Campbell
 
Scalable APIs with Azure Functions
Christos Matskas
 
Serverless API with Azure Functions
Analben Mehta
 
Durable Azure Functions
Pushkar Saraf
 
Azure Functions & Serverless Computing
Abhimanyu Singhal
 
Serverless architecture with Azure
Christos Matskas
 
Serverless on Azure with Functions
Christos Matskas
 
Azure functions
Rajesh Kolla
 
Going Serverless with Azure Functions #1 - Introduction to Azure Functions
Kasun Kodagoda
 
Azure functions - Build apps faster with serverless architecture
Callon Campbell
 
Azure web functions little bites of services
Aaron Petry
 
Getting Started with Serverless Architectures using Azure Functions
Marc Duiker
 
Azure full
Mohit Chhabra
 
#SpFestSea azr203 Azure functions lessons learned
Vincent Biret
 
Serverless Computing with Azure
Analben Mehta
 
MSDN Sessions 032817 - Azure Functions
Marc Obaldo
 
Go Serverless with Cosmos DB, Azure Functions and Blazor
Timothy McAliley
 
[Struyf] Automate Your Tasks With Azure Functions
European Collaboration Summit
 
Azure functions: from a function to a whole application in 60 minutes
Alessandro Melchiori
 
Ad

Recently uploaded (20)

PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
July Patch Tuesday
Ivanti
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
Designing Production-Ready AI Agents
Kunal Rai
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
July Patch Tuesday
Ivanti
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Designing Production-Ready AI Agents
Kunal Rai
 

Serverless with Azure Functions

  • 2. 2 What is a serverless architecture? What is serverless on Azure? What are Azure Functions? What can they do? How do I develop Azure Functions? How the heck can I deploy the stuff? Questions to be answered
  • 4. 4 Who heard about it? Was your first reaction “Bullshit, there are always server involved”? Who has an idea what it is? Serverless architecture
  • 5. 5 Definition from Mike Roberts: Serverless architectures are internet based systems where the application development does not use the usual server process. Instead they rely solely on a combination of third-party services, client-side logic, and service hosted remote procedure calls. https://martinfowler.com/bliki/Serverless.html Serverless architecture
  • 6. 6 By using 3rd party services and sticking them together, I don’t care anymore on which server the code is running. Serverless architecture
  • 7. 7 Big differences to normal pricing models: • Classic VM hosting pricing model • X €/Month independent of usage • Serverless pricing models • A€ for B number of executions • C€ for D usage of resources. Business driven development
  • 8. 8 Export of data into specific format • Feature that is rarely used • Needs a lot of resources Classic: Separate VM(s) that provide the functionality • No influence on performance of the remaining application • If the feature is not used, it costs a lot of money to have the infrastructure running Serverless: • Single Function Business driven development - Example
  • 9. 9 “… the number of active users increased roughly by 50%, but our hosting costs dropped slightly less than 50%. Plus, we replaced what was probably our biggest bottleneck with something that scales without any effort on our side“ Gojko Adzic https://gojko.net/2017/02/23/serverless-migration-lesson.html Business driven development
  • 11. 11 • Microsoft Flow • Azure Logic Apps • Azure Automation • Azure Functions Azure’s parts for Serverless Architecture
  • 13. 13 Which languages can I use? • C# • F# • JavaScript • PHP • Python • Batch • PowerShell • Bash Most important question first!
  • 14. 14 Through different triggers • Timer schedule • HTTP • REST • WebHook • Blob Storage • EventHub • Queue Storage How gets a Function called?
  • 15. 15 • HTTP Requests • Blobs • Events • Queue Entries • Tables • Push Notifications What gets in? What gets out?
  • 16. 16 Bindings serve as the basis for all connections to and from a function. Function Bindings Type Service Trigger Input Output Schedule Azure Functions ✔ HTTP (REST or webhook) Azure Functions ✔ ✔ Blob Storage Azure Storage ✔ ✔ ✔ Events Azure Event Hubs ✔ ✔ Queues Azure Storage ✔ ✔ Tables Azure Storage ✔ ✔ Tables Azure Mobile Apps ✔ ✔ No-SQL DB Azure DocumentDB ✔ ✔ Push Notifications Azure Notification Hubs ✔
  • 17. 17 • Scaling • done automatically with magic • Proxies • One API surface for multiple function app Which batteries are included?
  • 18. 18 Demo – Creating a function app
  • 19. 19 • Azure Functions are not State-full or State-less • Multiple calls could be in same process • Up- Scaling needs time • Just because you are having 10 requests at a moment, you do not get 10 separate processes • Currently not the best performance Behavior
  • 20. 20 Execution time: €0.000014/GB-s (GigaByte Seconds) 1GB used for one second = 1 GB-s 512 MB used for 2 seconds = 1 GB-s Execution count: €0.169 per Million Executions Free: • 400.000 GB-s • 1 Million Executions How much does it cost?
  • 21. 21 Development & Deployment of Azure Functions
  • 22. 22 • Flow => included in Office 365, some connections costs • Logic => per Action and App Service Plan • Automation => minute Prices
  • 23. 23 Programming in Web Browser ? What if we develop in teams? Only one code file ? Real World Development
  • 24. 24 • Azure Functions CLI • https://www.npmjs.com/package/azure-functions-cli • Visual Studio Tools for Azure Functions • Preview • Visual Studio 2015 Update 3 • https://aka.ms/FunctionsVsTools Tools
  • 25. Demo
  • 26. 26 • Kudu (Azure Copy Deploy) • Bitbucket • Dropbox • Git local repo • Git external repo • GitHub • Mercurial external repo • OneDrive • Visual Studio Team Services Deploy Azure Functions in Team Environment
  • 27. 27 • wwwroot • | - host.json • | - FirstFunction • | | - function.json • | | - index.js • | | - node_modules • | | | - ... packages ... • | | - package.json • | - SecondFunction • | | - function.json • | | - run.csx Folder Hierachy for development
  • 28. Demo
  • 30. 30 Function app A /customer Function app B /products Function app C Function3/orders Function1 API proxy endpoints HttpTrigger function endpoints Key: /products /orders Function2 Azure Functions Proxy
  • 31. 31 { "proxies": { "proxy1": { "matchCondition": { "methods": [], "route": "/api/{test}" }, "backendUri": "https://contoso.azurewebsites.net/api/{test}" } } } New file on site root: proxies.json
  • 32. 32 • System • System.Collections.Generic • System.IO • System.Linq • System.Net.Http • System.Threading.Tasks • Microsoft.Azure.WebJobs • Microsoft.Azure.WebJobs.Host. Automatically imported References
  • 33. 33 • #r "System.Web.Http„ • Package management (NuGet, NPM) • Copy to Bin Folder • #load "mylogger.csx" • #load "..sharedmylogger.csx” Referencing External Assemblies
  • 34. 34 • Avoid large long running functions • Cross function communication • Write functions to be stateless • Write defensive functions • Don't mix test and production code in the same function app • Use async code but avoid Task.Result Best Practices
  • 35. 35 • Thanks to Mark Heath Example
  • 36. 36 • Azure Functions Source Code: • https://github.com/Azure/azure-webjobs-sdk • https://github.com/Azure/azure-webjobs-sdk-script • https://github.com/projectkudu/AzureFunctionsPortal • Visualizer Azure http://Armviz.io Links
  • 37. 37 Reading stuff • https://martinfowler.com/articles/serverless.html • https://martinfowler.com/bliki/Serverless.html • https://gojko.net/2016/08/27/serverless.html • https://gojko.net/2017/02/23/serverless-migration-lesson.html
  • 39. 39 “Migrating to a Serverless Architecture” Training by Gojko Adzic 3-day Training 22-24 March 2017, 9 am to 5 pm https://techtalk.at/trainings/migrating-to-a-serverless- architecture/ Commercial break
  • 40. 40

Editor's Notes

  • #17: Without bindings, an Azure Function would just be a “disconnected” algorithm without any way to serve a purpose. Bindings server to connect functions and output to other services. Some of the most common binding types and features are listed in the table, however variations and adaptations can and do exist.
  • #35: Avoid large long running functions unexpected timeout issues many Node.js dependencies refactor large functions into smaller function Cross function communication use storage queues Write functions to be stateless Also if a previous run failed to complete, the next run should pick up where it left off. Write defensive functions continue from a previous fail Don't mix test and production code in the same function app Functions within a function app share resources. Use async code but avoid Task.Result Holding a lock creates the potential for deadlocks.