Design Mission-Critical Enterprise Applications with Power Automate and Doctor Flow. European Power Platform Conference 2022 Berlin. BY Doctor Flow aka Serge Luca
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
F1_Design Mission Critical Enterprise Applications with Power Automate and Doctor Flow
1.
2. Design Mission Critical
Enterprise Applications with
Power Automate and Doctor
Flow
Doctor Flow aka “Serge Luca”
Power Platform Solution Architect
Power Platform Associates, Belgium
@sergeluca
3. Doctor Flow aka “Serge Luca”
Business Application MVP, Brussels
MVP 15th year
Business Apps, Office 365 Solution architect
Creator of the open-source Power Platform BPM Toolkit
Author of “Power Automate in a day”
Blog: sergeluca.wordpress.com
sergeluca@shareql.com
Twitter: @sergeluca
8. If we follow the industry good practices
Presentation Layer
Business Layer
Data Access Layer
9. Presentation Layer
Business Layer
Data Access Layer
Power Apps, Teams, SharePoint Forms, MS Forms, bots…
Flows
Child Flows/custom connectors
SharePoint Dataverse Oracle
Analytics Layer
Power BI
Logging Layer
Azure Application Insight or
Dataverse,…
Azure Application Insight Or
Dataverse
…
Security Layer
Role Based Access Control (RBAC)
Classify/Protect (Microsoft Info
Protection) Information) Protection)
Archiving Layer
Scheduled + child flows
10. If no Premium license
Presentation Layer
Business Layer
Data Access Layer
Impossible to exchange JSON between the layers
Data Access Layer
11. Benefits of using child flows
Code reusability
Easier to unit test
Easier to work in teams
Easier to debug
Easier to maintain
13. No State Machine
Flow Approval
duration : 30 days
Flow duration : 30
days
ALM/devops weak
Cannot resume
flow
API Calls limitation
use the BPM Toolkit
Use the Dataverse trigger : “when a record is updated”
(Premium) or Use the Controller Pattern or use the BPM
Toolkit
use the BPM Toolkit
DevOps Tools not mature enough
depending on the license (6.000 calls/user/24h for
O365 license).
Buy Capacity add-ons
No custom task
Forms BPM Toolkit or Adaptive Cards
No tasks
delegation BPM Toolkit
use the BPM Toolkit
14. End users cannot stop a
workflow
End users cannot see the
workflow
Approvals linked to
environments
End users cannot
create/modify workflow
End users cannot modify a
running workflow
use the BPM Toolkit
use the BPM Toolkit
use the BPM Toolkit
use the BPM Toolkit
use the BPM Toolkit
15. The BPM Toolkit 2022 on Github
https://github.com/sergeluca/Power-Platform-BPM-Toolkit
16. BPM Toolkit Modules (100% Power Apps & Power
Automate)
Power Automate
SharePoint Online OR Dataverse
Core
WF Runtime
Workflow Generator
Security Module
Proxy Flows
Tasks Delegation Analytics
Process Management
Notification
Task Manager
Tracing
Case Launcher
Workflow Optimizer Archiving
SharePoint Access Layer Dataverse Access Layer
Task Forms Processes dashboard
Cust. Request forms Cust. Task Forms
UI
18. Use a service account
It is the maker account
Ideally an Office 365
account with a mailbox
for sending mails
• Good luck with IT
Should be a premium
account
• More api calls
• In some case the
premium features
can be leveraged
without multiplexing
issue
Should be MFA
• Password updates
won’t interrupt the
running
flows/connexions
• Because Power
Automate is a
“confidential” client
22. Code reusability for Power Apps & Power Automate
Use child flows !
Don’t block the Http connector in your DLP
policy, it is needed for child flows
An alternative is to create/share custom
connectors (Premium)
23. If you have a lot of flows/child flows
How do you know which one must be
activated first ?
The child flows must be turned on before
their parent flow
Check my Github utility “Flows call Flows”
24. Test with guest accounts
Interesting for external users or if your “testers” are on a
different tenant
Everything should work except :
It works if your flow runs with the owner account
25. Fully master the licensing documentation
Aka “the Monster”
Frequently asked questions about Power Automate licensing - Power
Platform | Microsoft Docs
32. Alex
Flow 1 (run with
Alex account)
Flow 2 (runs with
Maker account)
Question :
who pays for Flow 2 api
calls ?
Answer :
Today : the Maker account
Next year : Alex account
48. Leave Request (medical reason)
from an employee in Paris
Validation by Doctor
Validation by 1st Line HR Paris
Validation by Supervisor HR Paris
Validation by Supervisor HR
Brussels
Validation by Director Brussels
Validation by Line Manager
Legal dept checks if it is a right
Case ID
53. Keep it simple but apply the good practices
Creating/using child flows is key
You can really create mission critical applications with
Power Automate
In most cases, using Dataverse (or Dataverse for Teams)
with Power Automate is a great robust option
Think in term of business processes