Building Workflow
Solutions with
Microsoft Azureand
Cloud
@SteefJan
Me
Azure Technology Consultant
Microsoft MVP – Azure
InfoQ Cloud Editor
WAZUG NL board member
Azure Lowlands Organizer
Writer
Cloud workflow story
• Business process/workflow
• Microsoft
• Power Automate
• Logic Apps
• Durable Functions
• Under the hood
• Pricing
• Use case’s/customer stories
• Monitoring, Reporting Governance
• Market
• Takeaways
• Call to action
What is a business process?
A business process, business method or business function is a collection of related, structured activities
or tasks by people or equipment in which a specific sequence produces a service or product (serves a
particular business goal) for a particular customer or customers.
Answer:
I will ask my online encyclopedia: Wikipedia (Business process)
Workflow
Workflow is the procedural movement
of information, material, and tasks from
one participant to another.
Technology
Workflow
Execute a series of steps to automate a business process. Offers a
connector library, provide control flow, and statefulness.
Power Automate, Azure Logic Apps, Durable Functions
Cloud Vendor - Microsoft
Microsoft Cloud: Power Automate part of Power Platform
Microsoft Azure: Logic Apps and Azure Functions
Microsoft Power Platform
Power BI
Business analytics
Power Apps
Application development
Power Automate
Process automation
Power Virtual Agents
Intelligent virtual agents
The low-code platform that spans Office 365, Azure, Dynamics 365, and standalone applications
Innovation anywhere. Unlocks value everywhere.
Common
Data Service
Data
connectors AI BuilderPortals
What can Power Automate do?
Automation
at scale
Efficiently scale automation
across your organization
Seamless,secure
integration
Securely integrate
automation at every level
Accelerated productivity
Accelerate productivity and
focus on more strategic work
Intelligent
automation
Increase efficiency through
automated workflows
infused with AI
Enable Digital Transformation across the organization
Automating legacy
applications
Building
Departmental solutions
Building mission-critical
end-to-end solutions
Extending Office365
and Dynamics 365
Power Automate
Microsoft
Azure Platform
A wide range of services: IaaS and
PaaS
What can Logic Apps do?
• Connect to on-
premises, hybrid, and
cloud applications
• Run mission critical,
complex integration
scenarios with ease
• Build smart integrations
leveraging machine
learning, cognitive
services
Supporting various enterprise scenario’s
Messaging
Eventing
Data wrangling B2B & EDI (hybrid) EAI
Process
automation
Smart SaaS
Efficiently scale background
processes
Flexibility integrate at various
levels
Enhanced productivity for
developers
What can Durable Functions do?
Automation
at scale
Flexible integration Enhancedproductivity
Writing flexible workflows
Azure FunctionExtension Based up on theDurable
Task Framework – OSS
library since 2014.
Persistence on Azure
Implementation ofstateful
workflow-as-code
Storage
IDE, Development & DevOps
Power Automate
Trigger
Action
Conditional
Logic
Power Automate Check and Real-time Testing
Check flow
Real-time
testing
Application Lifecycle Management
Unpack and store in source control
Release to Production
Export Solutions from Dev
Environment
Logic Apps
Trigger
Action
Conditional
Logic
Logic App Run History and resubmit
Resubmit
Inspect
Application Lifecycle Management
Push and store in source control
Release to Production
Author Logic Apps in Visual
Studio or Code or Browser
Azure Durable Functions
Orchestrator
Activity
Client
Local test and debug
Test
Debug
Application Lifecycle Management
Push and store in source control
Release to Production
Author Azure Durable Functions
in Visual Studio or Code
Under the hood
Runtime - Logic App
Workflow Engine
• Logic Apps is a job scheduler
with a JSON-based DSL
describing a dependency graph
of actions
• Highly parallelized concurrent
job execution engine
Component
Architecture
• Logic Apps RP
Reads the workflow definition and
breaks down into a composition of
tasks with dependencies
• Logic Apps Runtime
Distributed compute/workers are
coordinated to complete tasks on-
demand
• Connection Manager
Manages connection configuration,
credentials and token refreshment
• Connector Runtime
API abstraction via Open API
descriptions
Task Resiliency
• No active thread management – tasks and runs can existin
parallel and at massive scale
• At least once guaranteed execution
• Transient failures invoke retry-policies (DNS issues,
throttles, or 5xx responses)
• If the task doesn’t respond, workflow orchestrator will
assign a new task (at least once guarantee)
Declarative workflow solutions
Azure Functions programming model
Durable Functions
Durable Task Framework (DTFx)
Durable Functions runtime extension
Durable
storage /
messaging
Stateful pattern #1: Function chaining
F1 F2 F3
Problems:
• Relationship between functions and queues is unclear.
• Operation context cannot be easily captured without a database.
• Middle queues are an implementation detail (conceptual overhead).
• Error handling adds a lot more complexity.
How it looks in code
F1 F2 F3
// calls functions
public static async Task<object> Run(IDurableOrchestrationContext ctx)
{
try
{
var x =
var y =
return
}
catch (Exception)
{
// error handling/compensation can go here (or anywhere)
}
}
Orchestrator Function
in sequence
Activity Functions
await
await
await
ctx.CallActivityAsync("F1");
ctx.CallActivityAsync("F2", x);
ctx.CallActivityAsync("F3", y);
Behind the scenes
1.
2.
3.
var x = await ctx.CallActivityAsync("F1");
var y = await ctx.CallActivityAsync("F2", x);
return await ctx.CallActivityAsync("F3", y);
Orchestrator Function
F1 => return 42;
F2 => return n + 1;
F3 => return n + 2;
Execution started
Task scheduled, F1
Task completed, F1 => 42
Task scheduled, F2
Task completed, F2 => 43
Task scheduled, F3
Task completed, F3 => 45
Orchestrator completed => 45
Pricing
Microsoft Power Automate
Plans
Licensed by flow
Starting at $500/month
(Min purchase of 5 flows)
Implement flows with reserved
capacity that serve unlimited users
across an organization.
Per
Flow
Per
user
Licensed by user
$15 user/month
Allow individual users to create
unlimited flows based on their
unique needs
Seeded
Flow
Licensed through Office 365,
Dynamics 365 & PowerApps
Automate business processes and
workflows for Office 365, Dynamics
365 & PowerApps
Logic Apps – Pricing/Hosting
Azure (Durable) Functions
• Consumption Plan
• Premium Plan (including VNET Integration)
• App Service Plan (including dedicated)
Hosting Options
https://www.codit.eu/blog/why-running-azure-logic-apps-anywhere-is-a-game-changer/
Use cases/customer stories
Intelligent Automation
Robotic Process Automation (RPA)
An RPA tool can learn to automate a task by watching the user perform that task in a graphical user
interface (GUI), and then perform the automation by repeating those tasks directly in the GUI.
Playback TaskRecord the Task Automate the Task
UI Flows Connector for RPA
UI Power Automate
Connector
UI Flows Records User Actions of Legacy Apps
Launch the recorder
Record your click-steps
Build your flow
https://www.youtube.com/watch?v=5745NylUSX8
Visual Designer – Trigger and actions
Open the designer
Add trigger and actions
Trigger the process
Ingest data
With Logic Apps you can automate a scheduled process of retrieving data and storing in a database
(SQL or NoSQL) using a graphical interface (GUI) – Visual Designer.
Function A
Convert Epoch to
DateTime
Ingest
Pull Push Pull Push
Store in Collection
Ingest data
With Durable Functions you can automate a scheduled process of retrieving data and storing in a
database using a Integrated Development Environment – Visual Studio or Visual Code.
Orchestrator
Client
Orchestration
Function
Convertto
TimeStamp
Store In
Database
GetRates
DEMO
https://www.microsoft.com/en-us/microsoft-365/customer-stories/fujifilm-manufacturing-azure-ai-functions-japan
Monitoring, Reporting & Governance
Admin insights provide deep visibility
into usage and performance of
applications
Users
Locations
Capacity
Analytics track health and
implementation metrics and help
keep users on track
Service performance
Error reporting
App usage
Personalize insights and drive action
with custom Power BI reports and
Microsoft Power Automate
All up view of what’s being created
Discover your champions
Trigger automatedactions
Power Platform Admin Center
Azure Monitor, Advisor, Cost Management
Admin insights provide deep visibility
into usage and performance of
services
Service performance
Service Usage
Error reporting
Platform health and implementation
metrics
Availability
Security
OperationalExcellence
Insights using consumption
Analyzecosts
Budgetalerts
Optimize underutilizedresources
Power Automate, Azure Logic Apps,
and Azure Functions
Azure
Resource
Manager
Azure
Portal PowerShell
Visual
Studio
Other
Connector
Azure
Functions
An Ecosystem of Unparalleled Capabilities
Power Automate, Logic Apps,Functions
Power Automate and Azure Functions
Create Your Azure Function Add Your Function to Your Power Automate
Power Automate and Logic Apps
Leverage your Power Automate
to design a B2B connector
Extend your flows to solutions
deployed on Azure
Export flows to Visual Studio
Azure Functions and Logic Apps
Create Your Azure Function Consume your Function in the Logic App
What do the analysts say?
August 2019
A Leader in
Enterprise Low-Code
Application Platforms*
*Gartner “Magic Quadrant for Enterprise Low-Code Application Platforms,” by Paul Vincent, Kimihiko Iijima, Mark Driver, Jason Wong, Yefim Natis, 08 August 2019
The above graphics were published by Gartner, Inc. as part of a larger research document and should be evaluated in the context of the entire document. The Gartner document is available upon request from Microsoft. Gartner does not endorse any
vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings or other designation. Gartner research publications consist of the opinions of Gartner's research
organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose. GARTNER is a registered
trademark and service mark of Gartner, Inc. and/or its affiliates in the U.S. and internationally and is used herein with permission. All rights reserved.
© Microsoft Corporation Dynamics 365
We are thrilled to announce that Forrester has recognized
Microsoft as a leader in low-code development platforms
in the 2019 Forrester Wave for Low-Code Development
Platforms for Application Development and Delivery
(AD&D) Professionals.
Learn more:
https://reprints.forrester.com/#/assets/2/108/RES144387/reports
Forrester names Microsoft a leader
in low-code development platforms,
Q1 2019
August 2020
A Leader in
Enterprise Integration Application
Platform as a Service*
*Gartner “Magic Quadrant for Enterprise Integration Platform as a Service,” by Eric Thoo, Bindi Bhullar, Massimo Pezzini, Keith Guttridge Abhishek Singh Shaheem Pillai 21 September 2020
The above graphics were published by Gartner, Inc. as part of a larger research document and should be evaluated in the context of the entire document. The Gartner document is available upon request from Microsoft. Gartner does not endorse any
vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings or other designation. Gartner research publications consist of the opinions of Gartner's research
organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose. GARTNER is a registered
trademark and service mark of Gartner, Inc. and/or its affiliates in the U.S. and internationally and is used herein with permission. All rights reserved.
Key Takeaways
Power Automate, Logic Apps and Azure
(Durable) Functions are NOT competing
technologies
Choose technology based on your use-
case or scenario’s
Mature leading technologies
Moderate learning curve
Onboarding for ‘Citizen’ Developers
Power Automate
Power Automate Product Roadmap
Microsoft Power Automate Community
Follow all the latest Power Automate news on the Power Automate Blog
Power Automate Tutorial YouTube Channel
Monday & Tuesday Video Series on YouTube
Logic Apps
Logic App Service Roadmap
Logic Apps Feedback
Follow all the latest Logic App on the Logic Apps Blog
Logic Apps Tutorials YouTube Channel
Integration User Group Content
Durable Functions
Azure Functions Community
Follow all the latest Azure Functions news on the Azure Functions Blog
Azure Functions YouTube Channel
Azure Functions GitHub
Azure Functions User Group Content
Thank you
@SteefJan
https://github.com/steefjan
Steef-Jan.Wiggers@codit.eu

Building workflow solution with Microsoft Azure and Cloud | Integration Monday

  • 1.
  • 2.
    Me Azure Technology Consultant MicrosoftMVP – Azure InfoQ Cloud Editor WAZUG NL board member Azure Lowlands Organizer Writer
  • 3.
    Cloud workflow story •Business process/workflow • Microsoft • Power Automate • Logic Apps • Durable Functions • Under the hood • Pricing • Use case’s/customer stories • Monitoring, Reporting Governance • Market • Takeaways • Call to action
  • 4.
    What is abusiness process? A business process, business method or business function is a collection of related, structured activities or tasks by people or equipment in which a specific sequence produces a service or product (serves a particular business goal) for a particular customer or customers. Answer: I will ask my online encyclopedia: Wikipedia (Business process)
  • 5.
    Workflow Workflow is theprocedural movement of information, material, and tasks from one participant to another.
  • 6.
    Technology Workflow Execute a seriesof steps to automate a business process. Offers a connector library, provide control flow, and statefulness. Power Automate, Azure Logic Apps, Durable Functions
  • 7.
    Cloud Vendor -Microsoft Microsoft Cloud: Power Automate part of Power Platform Microsoft Azure: Logic Apps and Azure Functions
  • 8.
    Microsoft Power Platform PowerBI Business analytics Power Apps Application development Power Automate Process automation Power Virtual Agents Intelligent virtual agents The low-code platform that spans Office 365, Azure, Dynamics 365, and standalone applications Innovation anywhere. Unlocks value everywhere. Common Data Service Data connectors AI BuilderPortals
  • 9.
    What can PowerAutomate do? Automation at scale Efficiently scale automation across your organization Seamless,secure integration Securely integrate automation at every level Accelerated productivity Accelerate productivity and focus on more strategic work Intelligent automation Increase efficiency through automated workflows infused with AI
  • 10.
    Enable Digital Transformationacross the organization Automating legacy applications Building Departmental solutions Building mission-critical end-to-end solutions Extending Office365 and Dynamics 365 Power Automate
  • 11.
    Microsoft Azure Platform A widerange of services: IaaS and PaaS
  • 12.
    What can LogicApps do? • Connect to on- premises, hybrid, and cloud applications • Run mission critical, complex integration scenarios with ease • Build smart integrations leveraging machine learning, cognitive services
  • 13.
    Supporting various enterprisescenario’s Messaging Eventing Data wrangling B2B & EDI (hybrid) EAI Process automation Smart SaaS
  • 14.
    Efficiently scale background processes Flexibilityintegrate at various levels Enhanced productivity for developers What can Durable Functions do? Automation at scale Flexible integration Enhancedproductivity
  • 15.
    Writing flexible workflows AzureFunctionExtension Based up on theDurable Task Framework – OSS library since 2014. Persistence on Azure Implementation ofstateful workflow-as-code Storage
  • 16.
  • 17.
  • 18.
    Power Automate Checkand Real-time Testing Check flow Real-time testing
  • 19.
    Application Lifecycle Management Unpackand store in source control Release to Production Export Solutions from Dev Environment
  • 20.
  • 21.
    Logic App RunHistory and resubmit Resubmit Inspect
  • 22.
    Application Lifecycle Management Pushand store in source control Release to Production Author Logic Apps in Visual Studio or Code or Browser
  • 23.
  • 24.
    Local test anddebug Test Debug
  • 25.
    Application Lifecycle Management Pushand store in source control Release to Production Author Azure Durable Functions in Visual Studio or Code
  • 26.
  • 27.
    Runtime - LogicApp Workflow Engine • Logic Apps is a job scheduler with a JSON-based DSL describing a dependency graph of actions • Highly parallelized concurrent job execution engine
  • 28.
    Component Architecture • Logic AppsRP Reads the workflow definition and breaks down into a composition of tasks with dependencies • Logic Apps Runtime Distributed compute/workers are coordinated to complete tasks on- demand • Connection Manager Manages connection configuration, credentials and token refreshment • Connector Runtime API abstraction via Open API descriptions
  • 30.
    Task Resiliency • Noactive thread management – tasks and runs can existin parallel and at massive scale • At least once guaranteed execution • Transient failures invoke retry-policies (DNS issues, throttles, or 5xx responses) • If the task doesn’t respond, workflow orchestrator will assign a new task (at least once guarantee)
  • 31.
  • 32.
  • 33.
    Durable Functions Durable TaskFramework (DTFx) Durable Functions runtime extension Durable storage / messaging
  • 34.
    Stateful pattern #1:Function chaining F1 F2 F3 Problems: • Relationship between functions and queues is unclear. • Operation context cannot be easily captured without a database. • Middle queues are an implementation detail (conceptual overhead). • Error handling adds a lot more complexity.
  • 35.
    How it looksin code F1 F2 F3 // calls functions public static async Task<object> Run(IDurableOrchestrationContext ctx) { try { var x = var y = return } catch (Exception) { // error handling/compensation can go here (or anywhere) } } Orchestrator Function in sequence Activity Functions await await await ctx.CallActivityAsync("F1"); ctx.CallActivityAsync("F2", x); ctx.CallActivityAsync("F3", y);
  • 36.
    Behind the scenes 1. 2. 3. varx = await ctx.CallActivityAsync("F1"); var y = await ctx.CallActivityAsync("F2", x); return await ctx.CallActivityAsync("F3", y); Orchestrator Function F1 => return 42; F2 => return n + 1; F3 => return n + 2; Execution started Task scheduled, F1 Task completed, F1 => 42 Task scheduled, F2 Task completed, F2 => 43 Task scheduled, F3 Task completed, F3 => 45 Orchestrator completed => 45
  • 37.
  • 38.
    Microsoft Power Automate Plans Licensedby flow Starting at $500/month (Min purchase of 5 flows) Implement flows with reserved capacity that serve unlimited users across an organization. Per Flow Per user Licensed by user $15 user/month Allow individual users to create unlimited flows based on their unique needs Seeded Flow Licensed through Office 365, Dynamics 365 & PowerApps Automate business processes and workflows for Office 365, Dynamics 365 & PowerApps
  • 39.
    Logic Apps –Pricing/Hosting
  • 40.
    Azure (Durable) Functions •Consumption Plan • Premium Plan (including VNET Integration) • App Service Plan (including dedicated)
  • 41.
  • 42.
  • 43.
    Intelligent Automation Robotic ProcessAutomation (RPA) An RPA tool can learn to automate a task by watching the user perform that task in a graphical user interface (GUI), and then perform the automation by repeating those tasks directly in the GUI. Playback TaskRecord the Task Automate the Task
  • 44.
    UI Flows Connectorfor RPA UI Power Automate Connector
  • 45.
    UI Flows RecordsUser Actions of Legacy Apps Launch the recorder Record your click-steps Build your flow
  • 46.
  • 47.
    Visual Designer –Trigger and actions Open the designer Add trigger and actions Trigger the process
  • 48.
    Ingest data With LogicApps you can automate a scheduled process of retrieving data and storing in a database (SQL or NoSQL) using a graphical interface (GUI) – Visual Designer. Function A Convert Epoch to DateTime Ingest Pull Push Pull Push Store in Collection
  • 49.
    Ingest data With DurableFunctions you can automate a scheduled process of retrieving data and storing in a database using a Integrated Development Environment – Visual Studio or Visual Code. Orchestrator Client Orchestration Function Convertto TimeStamp Store In Database GetRates
  • 50.
  • 51.
  • 52.
  • 53.
    Admin insights providedeep visibility into usage and performance of applications Users Locations Capacity Analytics track health and implementation metrics and help keep users on track Service performance Error reporting App usage Personalize insights and drive action with custom Power BI reports and Microsoft Power Automate All up view of what’s being created Discover your champions Trigger automatedactions Power Platform Admin Center
  • 54.
    Azure Monitor, Advisor,Cost Management Admin insights provide deep visibility into usage and performance of services Service performance Service Usage Error reporting Platform health and implementation metrics Availability Security OperationalExcellence Insights using consumption Analyzecosts Budgetalerts Optimize underutilizedresources
  • 55.
    Power Automate, AzureLogic Apps, and Azure Functions
  • 56.
  • 57.
    Power Automate andAzure Functions Create Your Azure Function Add Your Function to Your Power Automate
  • 58.
    Power Automate andLogic Apps Leverage your Power Automate to design a B2B connector Extend your flows to solutions deployed on Azure Export flows to Visual Studio
  • 59.
    Azure Functions andLogic Apps Create Your Azure Function Consume your Function in the Logic App
  • 60.
    What do theanalysts say?
  • 61.
    August 2019 A Leaderin Enterprise Low-Code Application Platforms* *Gartner “Magic Quadrant for Enterprise Low-Code Application Platforms,” by Paul Vincent, Kimihiko Iijima, Mark Driver, Jason Wong, Yefim Natis, 08 August 2019 The above graphics were published by Gartner, Inc. as part of a larger research document and should be evaluated in the context of the entire document. The Gartner document is available upon request from Microsoft. Gartner does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings or other designation. Gartner research publications consist of the opinions of Gartner's research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose. GARTNER is a registered trademark and service mark of Gartner, Inc. and/or its affiliates in the U.S. and internationally and is used herein with permission. All rights reserved.
  • 62.
    © Microsoft CorporationDynamics 365 We are thrilled to announce that Forrester has recognized Microsoft as a leader in low-code development platforms in the 2019 Forrester Wave for Low-Code Development Platforms for Application Development and Delivery (AD&D) Professionals. Learn more: https://reprints.forrester.com/#/assets/2/108/RES144387/reports Forrester names Microsoft a leader in low-code development platforms, Q1 2019
  • 63.
    August 2020 A Leaderin Enterprise Integration Application Platform as a Service* *Gartner “Magic Quadrant for Enterprise Integration Platform as a Service,” by Eric Thoo, Bindi Bhullar, Massimo Pezzini, Keith Guttridge Abhishek Singh Shaheem Pillai 21 September 2020 The above graphics were published by Gartner, Inc. as part of a larger research document and should be evaluated in the context of the entire document. The Gartner document is available upon request from Microsoft. Gartner does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings or other designation. Gartner research publications consist of the opinions of Gartner's research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose. GARTNER is a registered trademark and service mark of Gartner, Inc. and/or its affiliates in the U.S. and internationally and is used herein with permission. All rights reserved.
  • 64.
    Key Takeaways Power Automate,Logic Apps and Azure (Durable) Functions are NOT competing technologies Choose technology based on your use- case or scenario’s Mature leading technologies Moderate learning curve
  • 65.
  • 66.
    Power Automate Power AutomateProduct Roadmap Microsoft Power Automate Community Follow all the latest Power Automate news on the Power Automate Blog Power Automate Tutorial YouTube Channel Monday & Tuesday Video Series on YouTube
  • 67.
    Logic Apps Logic AppService Roadmap Logic Apps Feedback Follow all the latest Logic App on the Logic Apps Blog Logic Apps Tutorials YouTube Channel Integration User Group Content
  • 68.
    Durable Functions Azure FunctionsCommunity Follow all the latest Azure Functions news on the Azure Functions Blog Azure Functions YouTube Channel Azure Functions GitHub Azure Functions User Group Content
  • 69.
  • 70.