SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
#PitchOnline presents:
Durable Functions vs Logic App
la guerra dei workflow!!
Scifoni Ivano Fabio Mannis Francesco Del Re Matteo Riccardi Valerio Benedetti
Durable Functions vs Logic App
Pay-per-use
Instant, event-driven scalability
What is serverless?
Full abstraction of servers
Durable Functions vs Logic App
An extension of Azure Functions
Are built on top of the Durable Task Framework
Written in C#, Node.Js (Javascript), F#, Python and PowerShell
No JSON, No Designer!!!
Abstract persistence layer (Azure Storage, SQL Database or Netherite)
Durable Functions key points
Durable Functions vs Logic App
Client
Is the triggered
functions that will
create new instances
of an orchestration.
It is the entry point for
creating an instance
of a durable
orchestration
Orchestrator
Is the heart of a
durable function.
Orchestrator functions
describe the way and
order actions are
executed.
Activity
Is the basic unit of work
in a durable
orchestration.
An activity function
must be triggered by
an activity trigger.
Types of functions
Durable Functions vs Logic App
What can you do with Durable Functions?
Durable Functions vs Logic App
1 2 3
Manageable Sequencing
Durable Functions vs Logic App
1 2 3
1
2
3
Manageable Sequencing
Durable Functions vs Logic App
At each activity call, the Durable Task
Framework checkpoints the execution
state of the function into underlying
storage. This state is called
“orchestration history”.
Enqueues messages for the orchestrator itself — for example,
durable timer messages.
Enqueues messages to run the functions the orchestrator
wants to invoke.
Saves execution history into Azure Storage tables.
Orchestration history
Durable Functions vs Logic App
Orchestration History
The orchestrator function starts
the activity and wait for its
completion.
Durable Functions vs Logic App
Orchestration History
When the activity completes its
job, the orchestrator starts again
from the begin and rebuilds its
status using event sourcing table.
Durable Functions vs Logic App
Pricing
Consumption Plan
Pay only when your
functions run.
Scale out automatically, even
during periods of high load.
Function execution times out
after a configurable period
of time (less than 10 minutes
for each execution).
App Sevice Plan
You won't pay more than the
cost of the VM instance that
you allocate.
You can manually scale out
by adding more VM
instances, or you can enable
autoscale.
You must enable AlwaysOn.
Premium Plan
Perpetually warm instances
to avoid any cold start.
VNet connectivity.
Unlimited execution
duration.
Premium instance sizes (one
core, two core, and four core
instances).
More predictable pricing
High-density app allocation
for plans with multiple
function apps
Durable Functions vs Logic App
Pricing sample – Manageable Sequencing
• Client Function:
• 512 Mb, 100 msec
• 1 execution for each workflow
• Orchestrator Function:
• 512 Mb, 100 msec
• 4 executions for each workflow
• Activity Function:
• 512 Mb, 100 msec
• 3 executions for each workflow
• Monthly Requests : 5.000.000
Durable Functions vs Logic App
Monthly executions : 40.000.000
Pricing sample – Manageable Sequencing
• Seconds:
40.000.000 exec * 0,1 sec = 4.000.000 secs
• GB*Seconds:
512 GB/1024 GB * 4.000.000 secs = 2.000.000 GB*secs
• GB*secs to pay:
2.000.000 GB*secs – 400.000 GB*secs = 1.600.000 GB*secs
• GB*secs cost:
1.600.000 GB*secs * 0,000014 € = 22,400 €
Durable Functions vs Logic App
Resource Cost: 22,400 €
Resource cost
Pricing sample – Manageable Sequencing
• Executions to pay:
40.000.000 exec – 1.000.000 exec = 39.000.000 exec
• Executions cost:
39.000.000/1.000.000 * 0,169 € = 6,591 €
Durable Functions vs Logic App
Executions Cost: 6,591 €
Execution cost
Pricing sample – Manageable Sequencing
Durable Functions vs Logic App
Monthly cost
22,400 + 6, 591 = 28,991 €
Orders
Manager
Web
Server
Web request
HTML, CSS, JS
Nightly
Scheduled
Task
Generate
Report
NewOrder
Webhook
Invoice File
In Blob Storage
Order
Table
Send Email
To Customer
Durable Functions vs Logic App
What are Logic Apps?
Cloud service that helps you automate and orchestrate tasks, business
processes, and workflows
Integrate apps, data, systems, and services across enterprises or
organizations
Simplifies how you design and build scalable solutions for integration
whether in the cloud, on premises, or both
Durable Functions vs Logic App
Sample scenarios
Process and route orders across on-premises systems and
cloud services.
Send email notifications with Office 365 when events
happen in various systems, apps, and services.
Move uploaded files from an SFTP or FTP server to Azure
Storage.
Monitor tweets for a specific subject, analyze the sentiment,
and create alerts or tasks for items that need review.
Durable Functions vs Logic App
How does Logic Apps work? Each time that the trigger
fires, the Logic Apps
engine creates a logic app
instance
The Logic Apps instance
runs the actions in the
workflow
The actions can also include
data conversions and flow
controls, such as
conditional statements,
switch statements, loops,
and branching.
Durable Functions vs Logic App
Why use Logic Apps?
Visually build
workflows with
easy-to-use tools
Get started faster
with logic app
templates
Connect disparate
systems across
different
environments
First-class support
for enterprise
integration and
B2B scenarios
Built-in extensibility
Pay only for what
you use
Durable Functions vs Logic App
Pricing
Azure Logic Apps meters all the actions that
run in your logic app:
Triggers, which are special actions. All logic apps
require a trigger as the first step.
"Built-in" or native actions such as HTTP, calls to
Azure Functions and API Management, and so on
Calls to connectors such as Outlook 365,
Dropbox, and so on
Control flow steps, such as loops, conditional
statements, and so on
Durable Functions vs Logic App
Twitter
Sentiment
Analysis
Durable Functions vs Logic App
Pricing sample – Twitter Sentiment Analysis
Suppose that a tweet has only one sentence
(best case for the loops) and a neutral
sentiment (worst case for the if).
• Actions :
• 2 loop actions
• 2 if actions
• Standard connectors:
• 1 Twitter trigger
• 2 Cognitive connectors
• 1 StorageBlob connector
• Monthly Tweets : 100.000
Durable Functions vs Logic App
Pricing sample – Twitter Sentiment Analysis
• Total Actions:
100.000 exec * 4 actions = 400.000 actions
• Actions to pay:
400.000 actions – 4.000 actions = 396.000 actions
• Actions cost:
396.000 actions * 0,000022 € = 8,712 €
• Total Standard Connectors:
100.000 exec * 4 conn = 400.000 conn
• Standard Connectors cost:
400.000 conn * 0,000106 € = 42,400 €
Durable Functions vs Logic App
Pricing sample – Twitter Sentiment Analysis
Durable Functions vs Logic App
Monthly cost
8,712 + 42, 400 = 51,112 €
You have a team with development skill
and the orchestration doesn’t involve
complex systems
You want to reuse code from other
projects
You require them to run not only on
Azure, but on Azure Stack or Containers
You prefer to have all the power and
flexibility of a robust programming
language
You can implement stateful entities
(similar to Virtual Actor)
Leveraging a huge list of connectors
reducing the time-to-market and
ease connectivity
Visual tools to manage and
troubleshoot workflows are
required
It’s ok to run only on Azure
A visual designer and less coding
are preferred
Integrated versioning system for
the orchestration
Massimo Bonanni
Azure Technical Trainer @ Microsoft
massimo.bonanni@microsoft.com
@massimobonanni
Connect with me on LinkedIn
linkedin.com/in/massimobonanni/
http://bit.ly/MasteringServerless
References
• Durable Functions documentation
https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview
• Logic App documentation
https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-overview
• Netherite project
https://github.com/microsoft/durabletask-netherite
• Demo GitHub repo
https://github.com/massimobonanni/OrderManagerServerless
• Serverless learning path – Azure Functions
https://docs.microsoft.com/en-us/learn/paths/create-serverless-applications/
• Serverless learning path – Logic App
https://docs.microsoft.com/en-us/learn/paths/build-workflows-with-logic-apps/
Durable Functions vs Logic App
Thank You!
Our Socials

Contenu connexe

Tendances

Windows iot barone
Windows iot baroneWindows iot barone
Windows iot barone
DotNetCampus
 

Tendances (20)

Empower every Azure Function to achieve more!!
Empower every Azure Function to achieve more!!Empower every Azure Function to achieve more!!
Empower every Azure Function to achieve more!!
 
Empower every Azure Function to achieve more!!
Empower every Azure Function to achieve more!!Empower every Azure Function to achieve more!!
Empower every Azure Function to achieve more!!
 
Discovering the Service Fabric's actor model
Discovering the Service Fabric's actor modelDiscovering the Service Fabric's actor model
Discovering the Service Fabric's actor model
 
IoT in salsa serverless
IoT in salsa serverlessIoT in salsa serverless
IoT in salsa serverless
 
Linq
LinqLinq
Linq
 
Code Generation for Azure with .net
Code Generation for Azure with .netCode Generation for Azure with .net
Code Generation for Azure with .net
 
Inside Logic Apps
Inside Logic AppsInside Logic Apps
Inside Logic Apps
 
Windows iot barone
Windows iot baroneWindows iot barone
Windows iot barone
 
Developing Url Shortener With Dynamic Behaviour Using AWS Lambda
Developing Url Shortener With Dynamic Behaviour Using AWS LambdaDeveloping Url Shortener With Dynamic Behaviour Using AWS Lambda
Developing Url Shortener With Dynamic Behaviour Using AWS Lambda
 
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
 
Scaling Indexing and Replication in Jira Data Center Apps
Scaling Indexing and Replication in Jira Data Center AppsScaling Indexing and Replication in Jira Data Center Apps
Scaling Indexing and Replication in Jira Data Center Apps
 
Background processing with hangfire
Background processing with hangfireBackground processing with hangfire
Background processing with hangfire
 
## Introducing a reactive Scala-Akka based system in a Java centric company
## Introducing a reactive Scala-Akka based system in a Java centric company## Introducing a reactive Scala-Akka based system in a Java centric company
## Introducing a reactive Scala-Akka based system in a Java centric company
 
Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?
 
Azure Durable Functions
Azure Durable FunctionsAzure Durable Functions
Azure Durable Functions
 
Setting Up Development Environment For Google App Engine & Python | Talentica
Setting Up Development Environment For Google App Engine & Python | TalenticaSetting Up Development Environment For Google App Engine & Python | Talentica
Setting Up Development Environment For Google App Engine & Python | Talentica
 
Serverless Computing With Azure Functions
Serverless Computing With Azure FunctionsServerless Computing With Azure Functions
Serverless Computing With Azure Functions
 
Chatbots with Serverless
Chatbots with ServerlessChatbots with Serverless
Chatbots with Serverless
 
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
 
Angular js firebase-preso
Angular js firebase-presoAngular js firebase-preso
Angular js firebase-preso
 

Similaire à Durable Functions vs Logic App : la guerra dei workflow!!

Evolving Services Into A Cloud Native World
Evolving Services Into A Cloud Native WorldEvolving Services Into A Cloud Native World
Evolving Services Into A Cloud Native World
Iain Hull
 

Similaire à Durable Functions vs Logic App : la guerra dei workflow!! (20)

Azure Functions.pptx
Azure Functions.pptxAzure Functions.pptx
Azure Functions.pptx
 
Serverless Solutions for developers
Serverless Solutions for developersServerless Solutions for developers
Serverless Solutions for developers
 
Develop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessDevelop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverless
 
Building stateful serverless orchestrations with Azure Durable Azure Function...
Building stateful serverless orchestrations with Azure Durable Azure Function...Building stateful serverless orchestrations with Azure Durable Azure Function...
Building stateful serverless orchestrations with Azure Durable Azure Function...
 
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration MondayBuilding workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
 
Relay: The Next Leg, Eric Sorenson, Puppet
Relay: The Next Leg, Eric Sorenson, PuppetRelay: The Next Leg, Eric Sorenson, Puppet
Relay: The Next Leg, Eric Sorenson, Puppet
 
Evolution of netflix conductor
Evolution of netflix conductorEvolution of netflix conductor
Evolution of netflix conductor
 
IT PRO | Connections 2020 : Introduction to Logic Apps and automation solutio...
IT PRO | Connections 2020 : Introduction to Logic Apps and automation solutio...IT PRO | Connections 2020 : Introduction to Logic Apps and automation solutio...
IT PRO | Connections 2020 : Introduction to Logic Apps and automation solutio...
 
Guidelines to understand durable functions with .net core, c# and stateful se...
Guidelines to understand durable functions with .net core, c# and stateful se...Guidelines to understand durable functions with .net core, c# and stateful se...
Guidelines to understand durable functions with .net core, c# and stateful se...
 
slides.pptx
slides.pptxslides.pptx
slides.pptx
 
JoTechies - Azure Functions Using c#
JoTechies - Azure Functions Using c#JoTechies - Azure Functions Using c#
JoTechies - Azure Functions Using c#
 
Inventory management using temporal workflow engine
Inventory management using temporal workflow engineInventory management using temporal workflow engine
Inventory management using temporal workflow engine
 
Evolving Services Into A Cloud Native World
Evolving Services Into A Cloud Native WorldEvolving Services Into A Cloud Native World
Evolving Services Into A Cloud Native World
 
Automate Your Big Data Workflows (SVC201) | AWS re:Invent 2013
Automate Your Big Data Workflows (SVC201) | AWS re:Invent 2013Automate Your Big Data Workflows (SVC201) | AWS re:Invent 2013
Automate Your Big Data Workflows (SVC201) | AWS re:Invent 2013
 
Save Azure Cost
Save Azure CostSave Azure Cost
Save Azure Cost
 
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-FunctionsIntegration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
 
Vedic Calculator
Vedic CalculatorVedic Calculator
Vedic Calculator
 
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
 
Building Azure Logic Apps
Building Azure Logic AppsBuilding Azure Logic Apps
Building Azure Logic Apps
 

Plus de Massimo Bonanni

Plus de Massimo Bonanni (20)

Architetture Serverless con SQL Server e Azure Functions
Architetture Serverless con SQL Server e Azure FunctionsArchitetture Serverless con SQL Server e Azure Functions
Architetture Serverless con SQL Server e Azure Functions
 
Tutto quello che avreste voluto sapere sull'API Management (e non avete mai o...
Tutto quello che avreste voluto sapere sull'API Management (e non avete mai o...Tutto quello che avreste voluto sapere sull'API Management (e non avete mai o...
Tutto quello che avreste voluto sapere sull'API Management (e non avete mai o...
 
Everything you always wanted to know about API Management (but were afraid to...
Everything you always wanted to know about API Management (but were afraid to...Everything you always wanted to know about API Management (but were afraid to...
Everything you always wanted to know about API Management (but were afraid to...
 
Xmas Serverless Transformation: when the elf doesn’t scale!
Xmas Serverless Transformation: when the elf doesn’t scale!Xmas Serverless Transformation: when the elf doesn’t scale!
Xmas Serverless Transformation: when the elf doesn’t scale!
 
Welcome Azure Functions 2. 0
Welcome Azure Functions 2. 0Welcome Azure Functions 2. 0
Welcome Azure Functions 2. 0
 
Testing a Service Fabric solution and live happy!!
Testing a Service Fabric solution and live happy!!Testing a Service Fabric solution and live happy!!
Testing a Service Fabric solution and live happy!!
 
Discovering the Service Fabric's actor model
Discovering the Service Fabric's actor modelDiscovering the Service Fabric's actor model
Discovering the Service Fabric's actor model
 
Soluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie MicrosoftSoluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie Microsoft
 
Project Gesture & Real Sense: il potere nelle mani!!
Project Gesture & Real Sense: il potere nelle mani!!Project Gesture & Real Sense: il potere nelle mani!!
Project Gesture & Real Sense: il potere nelle mani!!
 
Project Gesture & RealSense: gestures in a simple way!!
Project Gesture & RealSense: gestures in a simple way!!Project Gesture & RealSense: gestures in a simple way!!
Project Gesture & RealSense: gestures in a simple way!!
 
Project Prague & RealSense: il potere nelle mani!!
Project Prague & RealSense: il potere nelle mani!!Project Prague & RealSense: il potere nelle mani!!
Project Prague & RealSense: il potere nelle mani!!
 
L'approccio ai microservizi secondo Service Fabric
L'approccio ai microservizi secondo Service FabricL'approccio ai microservizi secondo Service Fabric
L'approccio ai microservizi secondo Service Fabric
 
The Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET frameworkThe Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET framework
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service Fabric
 
Introduzione allo sviluppo UWP per xBox
Introduzione allo sviluppo UWP per xBoxIntroduzione allo sviluppo UWP per xBox
Introduzione allo sviluppo UWP per xBox
 
Cognitive Services & LUIS
Cognitive Services & LUISCognitive Services & LUIS
Cognitive Services & LUIS
 
Service Fabric: la potenza dei micro servizi
Service Fabric:  la potenza dei micro serviziService Fabric:  la potenza dei micro servizi
Service Fabric: la potenza dei micro servizi
 
Automated UI testing for iOs and Android mobile apps
Automated UI testing for iOs and Android mobile appsAutomated UI testing for iOs and Android mobile apps
Automated UI testing for iOs and Android mobile apps
 
Soluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie MicrosoftSoluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie Microsoft
 
Xamarin Test Cloud
Xamarin Test CloudXamarin Test Cloud
Xamarin Test Cloud
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Durable Functions vs Logic App : la guerra dei workflow!!

  • 1. #PitchOnline presents: Durable Functions vs Logic App la guerra dei workflow!!
  • 2. Scifoni Ivano Fabio Mannis Francesco Del Re Matteo Riccardi Valerio Benedetti Durable Functions vs Logic App
  • 3. Pay-per-use Instant, event-driven scalability What is serverless? Full abstraction of servers Durable Functions vs Logic App
  • 4.
  • 5.
  • 6. An extension of Azure Functions Are built on top of the Durable Task Framework Written in C#, Node.Js (Javascript), F#, Python and PowerShell No JSON, No Designer!!! Abstract persistence layer (Azure Storage, SQL Database or Netherite) Durable Functions key points Durable Functions vs Logic App
  • 7. Client Is the triggered functions that will create new instances of an orchestration. It is the entry point for creating an instance of a durable orchestration Orchestrator Is the heart of a durable function. Orchestrator functions describe the way and order actions are executed. Activity Is the basic unit of work in a durable orchestration. An activity function must be triggered by an activity trigger. Types of functions Durable Functions vs Logic App
  • 8. What can you do with Durable Functions? Durable Functions vs Logic App
  • 9. 1 2 3 Manageable Sequencing Durable Functions vs Logic App
  • 10. 1 2 3 1 2 3 Manageable Sequencing Durable Functions vs Logic App
  • 11. At each activity call, the Durable Task Framework checkpoints the execution state of the function into underlying storage. This state is called “orchestration history”. Enqueues messages for the orchestrator itself — for example, durable timer messages. Enqueues messages to run the functions the orchestrator wants to invoke. Saves execution history into Azure Storage tables. Orchestration history Durable Functions vs Logic App
  • 12. Orchestration History The orchestrator function starts the activity and wait for its completion. Durable Functions vs Logic App
  • 13. Orchestration History When the activity completes its job, the orchestrator starts again from the begin and rebuilds its status using event sourcing table. Durable Functions vs Logic App
  • 14. Pricing Consumption Plan Pay only when your functions run. Scale out automatically, even during periods of high load. Function execution times out after a configurable period of time (less than 10 minutes for each execution). App Sevice Plan You won't pay more than the cost of the VM instance that you allocate. You can manually scale out by adding more VM instances, or you can enable autoscale. You must enable AlwaysOn. Premium Plan Perpetually warm instances to avoid any cold start. VNet connectivity. Unlimited execution duration. Premium instance sizes (one core, two core, and four core instances). More predictable pricing High-density app allocation for plans with multiple function apps Durable Functions vs Logic App
  • 15. Pricing sample – Manageable Sequencing • Client Function: • 512 Mb, 100 msec • 1 execution for each workflow • Orchestrator Function: • 512 Mb, 100 msec • 4 executions for each workflow • Activity Function: • 512 Mb, 100 msec • 3 executions for each workflow • Monthly Requests : 5.000.000 Durable Functions vs Logic App Monthly executions : 40.000.000
  • 16. Pricing sample – Manageable Sequencing • Seconds: 40.000.000 exec * 0,1 sec = 4.000.000 secs • GB*Seconds: 512 GB/1024 GB * 4.000.000 secs = 2.000.000 GB*secs • GB*secs to pay: 2.000.000 GB*secs – 400.000 GB*secs = 1.600.000 GB*secs • GB*secs cost: 1.600.000 GB*secs * 0,000014 € = 22,400 € Durable Functions vs Logic App Resource Cost: 22,400 € Resource cost
  • 17. Pricing sample – Manageable Sequencing • Executions to pay: 40.000.000 exec – 1.000.000 exec = 39.000.000 exec • Executions cost: 39.000.000/1.000.000 * 0,169 € = 6,591 € Durable Functions vs Logic App Executions Cost: 6,591 € Execution cost
  • 18. Pricing sample – Manageable Sequencing Durable Functions vs Logic App Monthly cost 22,400 + 6, 591 = 28,991 €
  • 19. Orders Manager Web Server Web request HTML, CSS, JS Nightly Scheduled Task Generate Report NewOrder Webhook Invoice File In Blob Storage Order Table Send Email To Customer Durable Functions vs Logic App
  • 20.
  • 21. What are Logic Apps? Cloud service that helps you automate and orchestrate tasks, business processes, and workflows Integrate apps, data, systems, and services across enterprises or organizations Simplifies how you design and build scalable solutions for integration whether in the cloud, on premises, or both Durable Functions vs Logic App
  • 22. Sample scenarios Process and route orders across on-premises systems and cloud services. Send email notifications with Office 365 when events happen in various systems, apps, and services. Move uploaded files from an SFTP or FTP server to Azure Storage. Monitor tweets for a specific subject, analyze the sentiment, and create alerts or tasks for items that need review. Durable Functions vs Logic App
  • 23. How does Logic Apps work? Each time that the trigger fires, the Logic Apps engine creates a logic app instance The Logic Apps instance runs the actions in the workflow The actions can also include data conversions and flow controls, such as conditional statements, switch statements, loops, and branching. Durable Functions vs Logic App
  • 24. Why use Logic Apps? Visually build workflows with easy-to-use tools Get started faster with logic app templates Connect disparate systems across different environments First-class support for enterprise integration and B2B scenarios Built-in extensibility Pay only for what you use Durable Functions vs Logic App
  • 25. Pricing Azure Logic Apps meters all the actions that run in your logic app: Triggers, which are special actions. All logic apps require a trigger as the first step. "Built-in" or native actions such as HTTP, calls to Azure Functions and API Management, and so on Calls to connectors such as Outlook 365, Dropbox, and so on Control flow steps, such as loops, conditional statements, and so on Durable Functions vs Logic App
  • 27. Pricing sample – Twitter Sentiment Analysis Suppose that a tweet has only one sentence (best case for the loops) and a neutral sentiment (worst case for the if). • Actions : • 2 loop actions • 2 if actions • Standard connectors: • 1 Twitter trigger • 2 Cognitive connectors • 1 StorageBlob connector • Monthly Tweets : 100.000 Durable Functions vs Logic App
  • 28. Pricing sample – Twitter Sentiment Analysis • Total Actions: 100.000 exec * 4 actions = 400.000 actions • Actions to pay: 400.000 actions – 4.000 actions = 396.000 actions • Actions cost: 396.000 actions * 0,000022 € = 8,712 € • Total Standard Connectors: 100.000 exec * 4 conn = 400.000 conn • Standard Connectors cost: 400.000 conn * 0,000106 € = 42,400 € Durable Functions vs Logic App
  • 29. Pricing sample – Twitter Sentiment Analysis Durable Functions vs Logic App Monthly cost 8,712 + 42, 400 = 51,112 €
  • 30.
  • 31. You have a team with development skill and the orchestration doesn’t involve complex systems You want to reuse code from other projects You require them to run not only on Azure, but on Azure Stack or Containers You prefer to have all the power and flexibility of a robust programming language You can implement stateful entities (similar to Virtual Actor)
  • 32. Leveraging a huge list of connectors reducing the time-to-market and ease connectivity Visual tools to manage and troubleshoot workflows are required It’s ok to run only on Azure A visual designer and less coding are preferred Integrated versioning system for the orchestration
  • 33.
  • 34. Massimo Bonanni Azure Technical Trainer @ Microsoft massimo.bonanni@microsoft.com @massimobonanni Connect with me on LinkedIn linkedin.com/in/massimobonanni/ http://bit.ly/MasteringServerless
  • 35. References • Durable Functions documentation https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview • Logic App documentation https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-overview • Netherite project https://github.com/microsoft/durabletask-netherite • Demo GitHub repo https://github.com/massimobonanni/OrderManagerServerless • Serverless learning path – Azure Functions https://docs.microsoft.com/en-us/learn/paths/create-serverless-applications/ • Serverless learning path – Logic App https://docs.microsoft.com/en-us/learn/paths/build-workflows-with-logic-apps/ Durable Functions vs Logic App