
1
00:00:00,000 –> 00:00:02,400
Most people think more connectors means more power.
2
00:00:02,400 –> 00:00:03,440
The truth?
3
00:00:03,440 –> 00:00:05,320
Connect account is a vanity metric.
4
00:00:05,320 –> 00:00:08,200
Governance, scale and hybrid decide who survives
5
00:00:08,200 –> 00:00:10,120
and audit and who survives a spike.
6
00:00:10,120 –> 00:00:12,680
You can automate a birthday email with power automate.
7
00:00:12,680 –> 00:00:14,000
You cannot run a bank on it.
8
00:00:14,000 –> 00:00:15,400
Here’s what actually matters.
9
00:00:15,400 –> 00:00:17,320
We’re running side-by-side benchmarks
10
00:00:17,320 –> 00:00:19,440
that stress real enterprise needs.
11
00:00:19,440 –> 00:00:23,160
VNet secured on-prem data, high volume API orchestration,
12
00:00:23,160 –> 00:00:26,040
and AI agents with Azure Functions fallbacks.
13
00:00:26,040 –> 00:00:28,240
So we’ll show receipts as your monitor dashboards,
14
00:00:28,240 –> 00:00:31,560
app insights traces, our back assignments and audit logs.
15
00:00:31,560 –> 00:00:32,560
There’s a throughput ceiling,
16
00:00:32,560 –> 00:00:34,400
throttling your enterprise flows.
17
00:00:34,400 –> 00:00:36,600
We’re going to hit it on camera.
18
00:00:36,600 –> 00:00:39,480
Test plan and criteria, how we’re measuring beats.
19
00:00:39,480 –> 00:00:42,120
Okay, so here’s the thing, intent dictates architecture.
20
00:00:42,120 –> 00:00:44,600
Power automate exists for business user convenience.
21
00:00:44,600 –> 00:00:46,680
Approvals, notifications, light data,
22
00:00:46,680 –> 00:00:48,400
shuffling in Microsoft 365,
23
00:00:48,400 –> 00:00:51,520
Azure logic apps, serves IT managed integration,
24
00:00:51,520 –> 00:00:54,200
network boundaries, SLAs and consequences.
25
00:00:54,200 –> 00:00:55,520
We’re judging them accordingly,
26
00:00:55,520 –> 00:00:57,440
not pretending they solve the same problem.
27
00:00:57,440 –> 00:00:59,400
Matrix that matter, not marketing glitter,
28
00:00:59,400 –> 00:01:00,840
throughput per five minutes.
29
00:01:00,840 –> 00:01:03,040
Can the platform sustain burst without collapsing
30
00:01:03,040 –> 00:01:04,640
into back-offs and redries?
31
00:01:04,640 –> 00:01:06,040
Latency under load.
32
00:01:06,040 –> 00:01:07,440
Not the first happy path run,
33
00:01:07,440 –> 00:01:10,440
the P95 and P99 when the system is sweating,
34
00:01:10,440 –> 00:01:12,160
error rate and recoverability.
35
00:01:12,160 –> 00:01:15,080
Do failures dead letter cleanly and replay deterministically?
36
00:01:15,080 –> 00:01:17,160
Or do they vanish into run history purgatory?
37
00:01:17,160 –> 00:01:18,520
Governance visibility.
38
00:01:18,520 –> 00:01:20,360
Can an auditor answer who did what,
39
00:01:20,360 –> 00:01:23,120
when and from where, using first class tooling?
40
00:01:23,120 –> 00:01:26,920
Cost behavior at volume, predictable at 10 runs is cute,
41
00:01:26,920 –> 00:01:30,400
predictable at 100,000 actions is adulthood.
42
00:01:30,400 –> 00:01:31,720
Execution models matter.
43
00:01:31,720 –> 00:01:33,880
Power automate is effectively stateful only.
44
00:01:33,880 –> 00:01:36,000
Logic apps gives you stateful and stateless
45
00:01:36,000 –> 00:01:39,360
plus two hosting flavors, consumption and standard.
46
00:01:39,360 –> 00:01:41,680
That opens real control, stateless for millisecond
47
00:01:41,680 –> 00:01:43,680
path length, stateful for durability
48
00:01:43,680 –> 00:01:46,480
and standard for dedicated compute you can scale vertically
49
00:01:46,480 –> 00:01:47,680
and horizontally.
50
00:01:47,680 –> 00:01:50,000
In other words, you get knobs instead of prayers.
51
00:01:50,000 –> 00:01:52,200
Limits and scaling knobs side by side.
52
00:01:52,200 –> 00:01:54,920
Power automate enforces aggregate action limits
53
00:01:54,920 –> 00:01:56,240
across a tenant window.
54
00:01:56,240 –> 00:01:58,120
Hit the ceiling, get throttled.
55
00:01:58,120 –> 00:01:59,520
You don’t tune it, you wait.
56
00:01:59,520 –> 00:02:00,840
Logic apps.
57
00:02:00,840 –> 00:02:03,360
Standard runs on dedicated plans with scale out
58
00:02:03,360 –> 00:02:05,440
and consumption offers high throughput mode.
59
00:02:05,440 –> 00:02:07,760
You set concurrency and degree of parallelism,
60
00:02:07,760 –> 00:02:09,200
the platform responds.
61
00:02:09,200 –> 00:02:10,360
Governance is similar.
62
00:02:10,360 –> 00:02:12,920
Power automate has DLP and tenant policies,
63
00:02:12,920 –> 00:02:14,520
useful but coarse.
64
00:02:14,520 –> 00:02:17,240
Logic apps sits under Azure RBIAC as your policy
65
00:02:17,240 –> 00:02:18,880
as your monitor and app insights.
66
00:02:18,880 –> 00:02:19,960
That’s not nice to have.
67
00:02:19,960 –> 00:02:22,480
That’s the adult table hybrid posture.
68
00:02:22,480 –> 00:02:25,080
Power automates on premises data gateway works
69
00:02:25,080 –> 00:02:27,600
until you try to standardize it across dozens of apps
70
00:02:27,600 –> 00:02:29,280
and strict egress rules.
71
00:02:29,280 –> 00:02:31,760
Logic apps integrates with v-nets, private endpoints
72
00:02:31,760 –> 00:02:32,840
and yes, Azure Arc.
73
00:02:32,840 –> 00:02:34,440
So you bring the runtime to your data
74
00:02:34,440 –> 00:02:36,200
and still manage it from Azure.
75
00:02:36,200 –> 00:02:38,920
That’s how you pass a firewall review without bribery.
76
00:02:38,920 –> 00:02:40,040
Cost framing.
77
00:02:40,040 –> 00:02:42,800
Per flow licensing feels predictable at small scale
78
00:02:42,800 –> 00:02:45,040
then burst you workloads, hit platform throttles
79
00:02:45,040 –> 00:02:47,320
and you’re paying in failed runs and over time.
80
00:02:47,320 –> 00:02:49,320
Logic apps, consumption and plan-based models
81
00:02:49,320 –> 00:02:51,840
reward intentional concurrency and burst handling,
82
00:02:51,840 –> 00:02:53,320
optimize or pay for waste,
83
00:02:53,320 –> 00:02:55,040
but at least the levers exist.
84
00:02:55,040 –> 00:02:57,480
Artifacts will show because opinions are cheap.
85
00:02:57,480 –> 00:03:00,240
Azure monitor dashboards for ingestion rates and latency,
86
00:03:00,240 –> 00:03:02,640
app insights, traces with correlation IDs
87
00:03:02,640 –> 00:03:04,760
across connectors and functions,
88
00:03:04,760 –> 00:03:07,080
our back assignments proving least privilege
89
00:03:07,080 –> 00:03:09,320
and audit logs that answer compliance questions
90
00:03:09,320 –> 00:03:10,600
without folklore.
91
00:03:10,600 –> 00:03:14,080
With rules set, we’re going to break the 1,400 connectors
92
00:03:14,080 –> 00:03:16,960
illusion in three scenarios that actually matter.
93
00:03:16,960 –> 00:03:19,920
Scenario one, v-net secured, on-prem data,
94
00:03:19,920 –> 00:03:21,520
hybrid reality check.
95
00:03:21,520 –> 00:03:23,080
The problem you keep avoiding is simple.
96
00:03:23,080 –> 00:03:25,440
Your critical data isn’t lounging in SAS.
97
00:03:25,440 –> 00:03:28,400
It’s inside a subnet you got like a dragon.
98
00:03:28,400 –> 00:03:31,800
Power automates answer is the on-premises data gateway.
99
00:03:31,800 –> 00:03:35,600
It works until you try to operationalize it across 50 workloads
100
00:03:35,600 –> 00:03:38,720
with strict egress rules, certificate rotation
101
00:03:38,720 –> 00:03:40,760
and auditors who ask uncomfortable questions
102
00:03:40,760 –> 00:03:43,400
like who exactly created this connection
103
00:03:43,400 –> 00:03:45,400
and why does it have God mode.
104
00:03:45,400 –> 00:03:47,320
Here’s what actually happens in Power Automate.
105
00:03:47,320 –> 00:03:48,840
Connections are tied to makers.
106
00:03:48,840 –> 00:03:50,840
Makers change teams, leave the company,
107
00:03:50,840 –> 00:03:55,040
lose MFA devices and painfully drag their personal tokens
108
00:03:55,040 –> 00:03:55,840
into production.
109
00:03:55,840 –> 00:03:58,320
Tokens sprawl, connection drift, shared gateways
110
00:03:58,320 –> 00:04:01,120
that become everyone’s favorite single point of failure.
111
00:04:01,120 –> 00:04:03,680
You discover governance by outage, charming,
112
00:04:03,680 –> 00:04:04,960
inter-logic apps.
113
00:04:04,960 –> 00:04:07,200
We deploy the workflow into a secured v-net,
114
00:04:07,200 –> 00:04:08,640
integrate with private endpoints
115
00:04:08,640 –> 00:04:11,040
and bind access through managed identities.
116
00:04:11,040 –> 00:04:13,920
That means the workflow’s identity is service principle
117
00:04:13,920 –> 00:04:16,880
clean, not a human’s coffee-fueled session token.
118
00:04:16,880 –> 00:04:19,560
We restrict egress with NSGs and root tables
119
00:04:19,560 –> 00:04:21,840
and the only public service is none.
120
00:04:21,840 –> 00:04:25,160
If you’re allergic to public IPs, good news, so am I.
121
00:04:25,160 –> 00:04:28,200
Now, for the hybrid purists, Azure Arc,
122
00:04:28,200 –> 00:04:29,760
you don’t punch holes to the cloud,
123
00:04:29,760 –> 00:04:31,560
you bring the runtime to your cluster.
124
00:04:31,560 –> 00:04:33,360
The logic apps runtime runs as containers
125
00:04:33,360 –> 00:04:36,320
on your Arc enabled Kubernetes, on-prem or at the edge,
126
00:04:36,320 –> 00:04:38,520
while you still manage definitions, policy
127
00:04:38,520 –> 00:04:40,040
and monitoring from Azure.
128
00:04:40,040 –> 00:04:42,280
Data stays local, operations stays centralized.
129
00:04:42,280 –> 00:04:44,720
It’s almost like someone designed this for reality.
130
00:04:44,720 –> 00:04:46,480
Governance proof, not vibes.
131
00:04:46,480 –> 00:04:49,080
In Azure, we scope RBAC precisely.
132
00:04:49,080 –> 00:04:50,760
Reader for auditors, logic app,
133
00:04:50,760 –> 00:04:52,600
contributor for platform engineers
134
00:04:52,600 –> 00:04:54,320
and tightly-scoped key vault permissions
135
00:04:54,320 –> 00:04:56,240
for the managed identity.
136
00:04:56,240 –> 00:04:59,240
Azure policy enforces that workflows must reside in v-nets
137
00:04:59,240 –> 00:05:03,040
for bid public endpoints and require private DNS integration.
138
00:05:03,040 –> 00:05:05,640
Non-compliant deployments denied at the door.
139
00:05:05,640 –> 00:05:07,560
DLP is fine for citizen automation.
140
00:05:07,560 –> 00:05:09,320
Policy is how adults stop drift.
141
00:05:09,320 –> 00:05:10,400
We’ll show receipts.
142
00:05:10,400 –> 00:05:11,760
Azure Monitor, dashboard,
143
00:05:11,760 –> 00:05:13,480
ingress and egress metrics pinned,
144
00:05:13,480 –> 00:05:16,400
P95 latency steady even during batch windows.
145
00:05:16,400 –> 00:05:17,680
App insights traces.
146
00:05:17,680 –> 00:05:19,680
Each run carries a correlation ID
147
00:05:19,680 –> 00:05:22,440
from the HTTP trigger through the SQL built-in connector
148
00:05:22,440 –> 00:05:23,960
to a downstream function.
149
00:05:23,960 –> 00:05:26,680
You click the dependency map and watch the chain light up.
150
00:05:26,680 –> 00:05:29,440
No mystery wires, no heroic guessing.
151
00:05:29,440 –> 00:05:31,440
Let’s talk failure modes because pretending things
152
00:05:31,440 –> 00:05:34,080
won’t fail is how average users create incidents.
153
00:05:34,080 –> 00:05:36,480
In Power Automate, when a connection quietly expires
154
00:05:36,480 –> 00:05:39,080
on a shared gateway, flows start to back off.
155
00:05:39,080 –> 00:05:40,680
Some runs fail, some succeed,
156
00:05:40,680 –> 00:05:42,360
and the run history decorates itself
157
00:05:42,360 –> 00:05:45,080
with generic 429s and 5XX codes.
158
00:05:45,080 –> 00:05:47,840
You hunt across 10 flows to triangulate the root cause.
159
00:05:47,840 –> 00:05:49,840
Meanwhile, operations ask for post-mortem
160
00:05:49,840 –> 00:05:51,920
and you produce screenshots.
161
00:05:51,920 –> 00:05:54,360
Logic apps gives you measurable behavior.
162
00:05:54,360 –> 00:05:56,760
Stateful workflows apply deterministic retreats
163
00:05:56,760 –> 00:05:58,320
with exponential back off.
164
00:05:58,320 –> 00:06:00,080
Deadlet accuse capture poison messages
165
00:06:00,080 –> 00:06:01,360
so you can reprocess safely
166
00:06:01,360 –> 00:06:02,880
once the underlying system recovers.
167
00:06:02,880 –> 00:06:04,520
You tag runs with business keys
168
00:06:04,520 –> 00:06:06,880
so finance can rerun order 8472
169
00:06:06,880 –> 00:06:08,720
without resurrecting the entire batch.
170
00:06:08,720 –> 00:06:12,120
App insights alerts, wired to thresholds you chose,
171
00:06:12,120 –> 00:06:14,040
not whatever the platform felt like.
172
00:06:14,040 –> 00:06:17,320
Page the right team with context, not a flow failed.
173
00:06:17,320 –> 00:06:19,520
The actual failing dependency request ID
174
00:06:19,520 –> 00:06:21,320
and last known payload shape.
175
00:06:21,320 –> 00:06:24,080
Useful now performance under security constraints,
176
00:06:24,080 –> 00:06:25,840
we ran a vnet integrated standard plan
177
00:06:25,840 –> 00:06:28,440
with private endpoints into SQL and storage.
178
00:06:28,440 –> 00:06:30,360
During the 9am batch window,
179
00:06:30,360 –> 00:06:32,560
the workflows sustained a high flat throughput
180
00:06:32,560 –> 00:06:35,160
with P95 latency within the SLAB band.
181
00:06:35,160 –> 00:06:35,840
Why?
182
00:06:35,840 –> 00:06:38,000
Dedicated compute, tuned concurrency,
183
00:06:38,000 –> 00:06:40,080
and no public egress surprises.
184
00:06:40,080 –> 00:06:41,840
The network path is short, predictable,
185
00:06:41,840 –> 00:06:43,080
and under your control.
186
00:06:43,080 –> 00:06:46,320
Compare that to a gateway path crossing the public internet
187
00:06:46,320 –> 00:06:48,400
and the whims of a shared connector throttle.
188
00:06:48,400 –> 00:06:50,200
The truth, your hybrid isn’t hybrid
189
00:06:50,200 –> 00:06:51,760
if the network is a rumor.
190
00:06:51,760 –> 00:06:54,240
Our closes the loop for strict data residency.
191
00:06:54,240 –> 00:06:56,800
The runtime executes next to your database rack.
192
00:06:56,800 –> 00:06:59,800
Only control plain metadata touches Azure.
193
00:06:59,800 –> 00:07:01,800
Auditors ask, did data leave jurisdiction?
194
00:07:01,800 –> 00:07:03,880
And you reply no, and here are the logs.
195
00:07:03,880 –> 00:07:06,960
Azure activity logs show deployments and policy evaluations.
196
00:07:06,960 –> 00:07:08,880
App insights shows run telemetry.
197
00:07:08,880 –> 00:07:10,560
Roll assignments show least privilege.
198
00:07:10,560 –> 00:07:12,360
That’s an audit trail, not folklore.
199
00:07:12,360 –> 00:07:14,320
Security posture end to end.
200
00:07:14,320 –> 00:07:17,200
No secrets in run history because we use managed identities
201
00:07:17,200 –> 00:07:18,440
and key vault references.
202
00:07:18,440 –> 00:07:20,160
No wildcard firewall rules
203
00:07:20,160 –> 00:07:22,960
because private endpoints pin the service to your vnet.
204
00:07:22,960 –> 00:07:24,640
No mystery admin because our back
205
00:07:24,640 –> 00:07:26,400
denies curiosity by default.
206
00:07:26,400 –> 00:07:28,360
And when someone tries to deploy a workflow
207
00:07:28,360 –> 00:07:30,960
with a public trigger, Azure policy says no.
208
00:07:30,960 –> 00:07:33,040
Politely, consistently every time.
209
00:07:33,040 –> 00:07:33,920
Take away.
210
00:07:33,920 –> 00:07:36,720
Hybrid that auditors approve and ops can repeat.
211
00:07:36,720 –> 00:07:38,720
This is plumbing, not a permission slip.
212
00:07:38,720 –> 00:07:40,440
If your data is behind a firewall
213
00:07:40,440 –> 00:07:42,800
and your plan is share the gateway and hope.
214
00:07:42,800 –> 00:07:44,520
You don’t have an integration strategy.
215
00:07:44,520 –> 00:07:47,760
You have a compliance liability with a friendly UI.
216
00:07:47,760 –> 00:07:49,520
Everything changes when the network is real.
217
00:07:49,520 –> 00:07:51,760
The identity is managed and the logs tell the story
218
00:07:51,760 –> 00:07:53,080
without you narrating.
219
00:07:53,080 –> 00:07:55,120
If the plumbing holds, can it move volume?
220
00:07:55,120 –> 00:07:57,680
Good because next will push it hard.
221
00:07:57,680 –> 00:08:00,280
Thruput meets throttles scenario two.
222
00:08:00,280 –> 00:08:04,120
High volume API orchestration, throughput versus throttles.
223
00:08:04,120 –> 00:08:05,760
Volume isn’t a nice to have.
224
00:08:05,760 –> 00:08:06,800
It’s the default state.
225
00:08:06,800 –> 00:08:09,600
Once your proof of concept becomes someone’s quarterly target.
226
00:08:09,600 –> 00:08:11,680
Batch imports, order floods at top of hour.
227
00:08:11,680 –> 00:08:15,080
IoT spikes when devices come back online after maintenance.
228
00:08:15,080 –> 00:08:17,480
Not send an email, but thousands of actions
229
00:08:17,480 –> 00:08:20,480
per minute sustained with penalties if you missed the window.
230
00:08:20,480 –> 00:08:22,720
Here’s what actually happens when you ask each platform
231
00:08:22,720 –> 00:08:23,680
to sprint.
232
00:08:23,680 –> 00:08:25,840
Power automate lives under aggregate action caps
233
00:08:25,840 –> 00:08:27,200
across the tenant window.
234
00:08:27,200 –> 00:08:29,160
You don’t get a dial, you get a ceiling.
235
00:08:29,160 –> 00:08:30,760
When you hit it, the platform politely
236
00:08:30,760 –> 00:08:34,880
introduces you to back off, retries, and my favorite opaque slowdowns
237
00:08:34,880 –> 00:08:38,560
where runs succeed but bleed latency like a leaky radiator.
238
00:08:38,560 –> 00:08:41,560
You can’t shape concurrency per flow with surgical precision.
239
00:08:41,560 –> 00:08:43,480
You can’t isolate noisy neighbors.
240
00:08:43,480 –> 00:08:47,120
Your tuning option is weight, interlogic apps standard.
241
00:08:47,120 –> 00:08:48,200
Dedicated compute.
242
00:08:48,200 –> 00:08:50,440
You pick the plan, the course, the memory,
243
00:08:50,440 –> 00:08:53,080
and you scale horizontally when the graph says more.
244
00:08:53,080 –> 00:08:54,600
You set concurrency per action.
245
00:08:54,600 –> 00:08:57,240
You design for parallel fan out and controlled fan in.
246
00:08:57,240 –> 00:09:00,000
You choose stateless for hot parts with micro latency,
247
00:09:00,000 –> 00:09:02,240
stateful where durability and checkpoints matter.
248
00:09:02,240 –> 00:09:04,360
The result is intentional load shaping
249
00:09:04,360 –> 00:09:05,680
instead of platform roulette.
250
00:09:05,680 –> 00:09:06,760
Now let’s push it.
251
00:09:06,760 –> 00:09:10,000
We orchestrate an intake pipeline that ingests orders over HTTP
252
00:09:10,000 –> 00:09:12,400
and reaches from a product API, writes to SQL,
253
00:09:12,400 –> 00:09:15,800
posts to a message bus, then calls a downstream fulfillment API.
254
00:09:15,800 –> 00:09:19,000
Classic high volume pattern, parallelizable, dependency
255
00:09:19,000 –> 00:09:21,480
heavy, unforgiving to bottlenecks.
256
00:09:21,480 –> 00:09:24,480
In power automate, you parallelize steps in theory,
257
00:09:24,480 –> 00:09:27,760
but you run into action per interval throttles in practice.
258
00:09:27,760 –> 00:09:30,760
Hit enough connectors at once and the platform clamps down.
259
00:09:30,760 –> 00:09:31,880
Your average looks fine.
260
00:09:31,880 –> 00:09:34,480
Your P95 and P99 blowpast SLA.
261
00:09:34,480 –> 00:09:36,080
Burst turn into rolling delays.
262
00:09:36,080 –> 00:09:38,200
You start staggering triggers to dodge the limiter,
263
00:09:38,200 –> 00:09:40,480
which is code for admitting the platform is steering.
264
00:09:40,480 –> 00:09:42,200
Logic apps, standard stateless,
265
00:09:42,200 –> 00:09:44,560
fronted by the built-in HTTP trigger.
266
00:09:44,560 –> 00:09:47,240
We crank degree of parallelism to a level proven safe
267
00:09:47,240 –> 00:09:48,160
in load tests.
268
00:09:48,160 –> 00:09:50,080
The built-in SQL and service bus connectors
269
00:09:50,080 –> 00:09:53,440
write the same dedicated plan, no shared throttling pool
270
00:09:53,440 –> 00:09:54,800
with the rest of the tenant.
271
00:09:54,800 –> 00:09:57,440
We enable partition processing, use correlation IDs
272
00:09:57,440 –> 00:09:59,600
end-to-end, and enforce idempotency
273
00:09:59,600 –> 00:10:01,160
with a key check before write.
274
00:10:01,160 –> 00:10:04,240
Spikes land, compute scales out, and the flow keeps pace
275
00:10:04,240 –> 00:10:06,000
without manual babysitting.
276
00:10:06,000 –> 00:10:09,480
Error handling is where adults separate from hobbyists.
277
00:10:09,480 –> 00:10:11,520
Power automates retry policies exist,
278
00:10:11,520 –> 00:10:14,160
but dead lettering patterns are bolted on at best.
279
00:10:14,160 –> 00:10:17,640
When a downstream API throws a 429 with a retry after,
280
00:10:17,640 –> 00:10:19,960
your runs scatter across the timeline.
281
00:10:19,960 –> 00:10:21,840
Some eventually recover some time out,
282
00:10:21,840 –> 00:10:23,360
some clock the run history.
283
00:10:23,360 –> 00:10:25,440
Root calls turns into a scavenger hunt.
284
00:10:25,440 –> 00:10:27,120
Logic apps gives you durable retries
285
00:10:27,120 –> 00:10:29,880
with exponential back-off and jitter-y control.
286
00:10:29,880 –> 00:10:32,280
When a dependency is sick, you send messages
287
00:10:32,280 –> 00:10:35,440
to a dead letter entity with exact failure metadata.
288
00:10:35,440 –> 00:10:37,640
You rehydrate later with a replay workflow,
289
00:10:37,640 –> 00:10:40,520
preserving original payloads and correlation.
290
00:10:40,520 –> 00:10:43,040
idempotency, yes, the word average user’s pretend
291
00:10:43,040 –> 00:10:45,840
is optional, is built into the orchestration.
292
00:10:45,840 –> 00:10:47,640
That’s how you avoid double charging a card
293
00:10:47,640 –> 00:10:49,440
when a callback arrives twice.
294
00:10:49,440 –> 00:10:51,240
Observability isn’t a screenshot.
295
00:10:51,240 –> 00:10:52,560
It’s a map.
296
00:10:52,560 –> 00:10:54,320
Application insights traces every hop.
297
00:10:54,320 –> 00:10:56,760
HTTP in-enrichment call, SQL dependency
298
00:10:56,760 –> 00:10:58,320
bus publish for film and API.
299
00:10:58,320 –> 00:11:00,120
The dependency graph lights up the hot path.
300
00:11:00,120 –> 00:11:02,240
You spot the slow connector by name,
301
00:11:02,240 –> 00:11:04,280
see the status codes by bucket,
302
00:11:04,280 –> 00:11:06,560
and filter to the run that matter to the CFO
303
00:11:06,560 –> 00:11:08,600
because you tagged it with the order id.
304
00:11:08,600 –> 00:11:11,680
That’s incident response in minutes, not folklore over hours.
305
00:11:11,680 –> 00:11:13,000
Let’s talk cost-under pressure.
306
00:11:13,000 –> 00:11:14,800
Perflow licensing sounds predictable
307
00:11:14,800 –> 00:11:17,680
until throttles force longer run times and more retries,
308
00:11:17,680 –> 00:11:19,520
which ironically you can’t tune away,
309
00:11:19,520 –> 00:11:21,760
you pay in time and missed SLA penalties.
310
00:11:21,760 –> 00:11:24,240
Logic apps consumption with high throughput mode
311
00:11:24,240 –> 00:11:25,880
can blast through spikes.
312
00:11:25,880 –> 00:11:28,600
Hundreds of thousands of executions per five minutes,
313
00:11:28,600 –> 00:11:29,640
per workflow,
314
00:11:29,640 –> 00:11:33,360
while you control concurrency to protect downstream systems.
315
00:11:33,360 –> 00:11:35,720
Standard plan costs track to allocated compute
316
00:11:35,720 –> 00:11:37,960
and scale events you triggered for a reason.
317
00:11:37,960 –> 00:11:40,880
You pay to go fast on purpose, not to wait politely.
318
00:11:40,880 –> 00:11:44,000
Concurrency control isn’t just about speed,
319
00:11:44,000 –> 00:11:46,000
it’s about protecting dependencies.
320
00:11:46,000 –> 00:11:48,280
In logic apps, we apply circuit breakers.
321
00:11:48,280 –> 00:11:51,840
If fulfillment starts returning five XX over a threshold,
322
00:11:51,840 –> 00:11:54,840
we trip a short circuit, root to dead letter and alert.
323
00:11:54,840 –> 00:11:56,840
The rest of the pipeline continues absorbing input
324
00:11:56,840 –> 00:11:58,520
up to the buffer limit you set.
325
00:11:58,520 –> 00:12:01,480
In Power Automate, you inherit platform-wide guard rails
326
00:12:01,480 –> 00:12:03,560
that don’t know your system’s tolerance.
327
00:12:03,560 –> 00:12:05,440
The throttle applies, then your backlog grows
328
00:12:05,440 –> 00:12:06,840
in directions you didn’t choose.
329
00:12:06,840 –> 00:12:08,520
Now the micro story you’ve lived.
330
00:12:08,520 –> 00:12:12,360
Last quarter, someone scheduled a bulk import of hours.
331
00:12:12,360 –> 00:12:15,120
It collided with a finance job and a marketing sink.
332
00:12:15,120 –> 00:12:18,000
Power Automate flows slow to a crawl, run stacked,
333
00:12:18,000 –> 00:12:20,560
retries turned the queue into soup.
334
00:12:20,560 –> 00:12:22,680
The next morning customer service had a mystery,
335
00:12:22,680 –> 00:12:25,320
orders in the CRM, missing in fulfillment.
336
00:12:25,320 –> 00:12:28,040
Post-mortem action item, increase capacity,
337
00:12:28,040 –> 00:12:30,080
helpful, how we reran the same load
338
00:12:30,080 –> 00:12:32,080
through logic app standard stateless front door,
339
00:12:32,080 –> 00:12:34,000
stateful consolidation at the fan inn.
340
00:12:34,000 –> 00:12:37,640
Concurrency set to match downstream API quarters, not vibes.
341
00:12:37,640 –> 00:12:41,240
App Insights alerts tuned to P95 latency on enrichment
342
00:12:41,240 –> 00:12:43,640
and to 4 to 29 rates on fulfillment.
343
00:12:43,640 –> 00:12:46,360
Scale out triggered at queue depth, not on a calendar.
344
00:12:46,360 –> 00:12:48,160
The pipeline finished inside the window.
345
00:12:48,160 –> 00:12:50,080
SLA is met, no heroics.
346
00:12:50,080 –> 00:12:52,560
And yes, you can still burst without melting your wallet.
347
00:12:52,560 –> 00:12:54,600
Consumption with high throughput lets you sprint,
348
00:12:54,600 –> 00:12:56,760
then drop back to idle without paying for warm cores
349
00:12:56,760 –> 00:12:57,960
at noon on Sunday.
350
00:12:57,960 –> 00:12:59,640
Standard gives you predictable performance
351
00:12:59,640 –> 00:13:01,840
for steady volume with the option to scale.
352
00:13:01,840 –> 00:13:02,800
The point is agency.
353
00:13:02,800 –> 00:13:04,440
You pick the trade-offs, you enforce them
354
00:13:04,440 –> 00:13:06,000
with configuration, not hope.
355
00:13:06,000 –> 00:13:08,600
Operationally, this means fewer 3a mesh calls
356
00:13:08,600 –> 00:13:10,800
that say the flow is slow and more alerts
357
00:13:10,800 –> 00:13:14,720
that say fulfillment API at 70% error, circuit open,
358
00:13:14,720 –> 00:13:16,800
one down 142 messages protected.
359
00:13:16,800 –> 00:13:18,280
Next we try in 10 minutes.
360
00:13:18,280 –> 00:13:19,960
One is noise, the other is a plan.
361
00:13:19,960 –> 00:13:22,080
So no, the 1-400 connectors don’t save you
362
00:13:22,080 –> 00:13:23,600
when the stopwatch starts.
363
00:13:23,600 –> 00:13:26,680
Thruput isn’t a menu item, it’s an architecture.
364
00:13:26,680 –> 00:13:28,960
Build with dials, not ceilings.
365
00:13:28,960 –> 00:13:33,440
Scenario three, AI agent plus Azure functions.
366
00:13:33,440 –> 00:13:35,840
Fallback, when low-code hits a wall.
367
00:13:35,840 –> 00:13:38,000
AI agents aren’t magical interns.
368
00:13:38,000 –> 00:13:40,120
Their brittle orchestration wrapped around tools
369
00:13:40,120 –> 00:13:43,360
and the tools those glorious connectors cover the 80%.
370
00:13:43,360 –> 00:13:46,960
The last 20% is where your no-code forever fantasy goes to die.
371
00:13:46,960 –> 00:13:49,360
Custom transforms, model-specific parameters,
372
00:13:49,360 –> 00:13:51,880
policy logic that isn’t expressable as a drop-down.
373
00:13:51,880 –> 00:13:54,160
If your platform has no pro-code escape hatch,
374
00:13:54,160 –> 00:13:56,320
you’re building a clever demo, not a system.
375
00:13:56,320 –> 00:13:58,280
Here’s what actually happens in Power Automate
376
00:13:58,280 –> 00:14:00,640
when the connector can’t, you improvise,
377
00:14:00,640 –> 00:14:03,560
you stack HTTP actions with hand-rolled headers,
378
00:14:03,560 –> 00:14:05,960
you paste JSON schemas from last week’s email,
379
00:14:05,960 –> 00:14:08,440
you sprinkle past JSON, like confetti,
380
00:14:08,440 –> 00:14:11,120
to coerce shapes the UI refuses to understand.
381
00:14:11,120 –> 00:14:13,240
It works until the provider adds a field,
382
00:14:13,240 –> 00:14:16,800
changes a rate limit, or returns a 207 with mixed results.
383
00:14:16,800 –> 00:14:18,280
Then your flow turns into a museum
384
00:14:18,280 –> 00:14:20,440
of commented actions and diagnostic branches,
385
00:14:20,440 –> 00:14:22,440
technical debt disguised as convenience.
386
00:14:22,440 –> 00:14:24,560
Enter logic apps extensibility on purpose.
387
00:14:24,560 –> 00:14:26,040
You orchestrate in logic apps,
388
00:14:26,040 –> 00:14:29,280
you compute in Azure Functions when the job demands real code,
389
00:14:29,280 –> 00:14:31,720
the pattern is straightforward and repeatable.
390
00:14:31,720 –> 00:14:35,000
Keep the workflow declarative, triggers, routing,
391
00:14:35,000 –> 00:14:37,200
error policy, retries.
392
00:14:37,200 –> 00:14:39,040
Offload the null-y bits to functions,
393
00:14:39,040 –> 00:14:41,280
complex mapping, signature verification,
394
00:14:41,280 –> 00:14:44,080
vector store lookups, custom LLM tool calls,
395
00:14:44,080 –> 00:14:47,640
or policy evaluation that must run under a strict package set.
396
00:14:47,640 –> 00:14:49,000
Stateless where speed matters,
397
00:14:49,000 –> 00:14:51,040
stateful when you need checkpoints.
398
00:14:51,040 –> 00:14:52,800
You’re mixing Lego bricks with steel beams,
399
00:14:52,800 –> 00:14:54,120
and yes, that’s allowed.
400
00:14:54,120 –> 00:14:56,000
Let’s build the agent the grown-up way.
401
00:14:56,000 –> 00:14:57,840
The agent receives a request.
402
00:14:57,840 –> 00:15:00,640
Classify intent, call the right downstream tool,
403
00:15:00,640 –> 00:15:03,080
transform the payload, apply business policy,
404
00:15:03,080 –> 00:15:05,560
and return an answer with citations for audit.
405
00:15:05,560 –> 00:15:08,560
In logic apps, we front it with the built-in HTTP trigger
406
00:15:08,560 –> 00:15:09,480
for throughput.
407
00:15:09,480 –> 00:15:12,880
First step, call a function that performs intent classification
408
00:15:12,880 –> 00:15:15,440
using your chosen model and a safeguarded prompt.
409
00:15:15,440 –> 00:15:17,640
That function returns a typed result.
410
00:15:17,640 –> 00:15:22,280
Tool equals service now ticket, confidence, and policy flags.
411
00:15:22,280 –> 00:15:25,360
Back in the workflow, we branch based on that typed output,
412
00:15:25,360 –> 00:15:27,480
not string matching on a chatty blob.
413
00:15:27,480 –> 00:15:29,080
Tool calls aren’t guesses.
414
00:15:29,080 –> 00:15:31,520
For service now, the connector covers the basics,
415
00:15:31,520 –> 00:15:34,760
but your enterprise requires a custom create or link incident
416
00:15:34,760 –> 00:15:37,160
with enriched context and the dup.
417
00:15:37,160 –> 00:15:40,000
The built-in connector can’t dup across your three instances.
418
00:15:40,000 –> 00:15:43,000
Fine, second function, did up logic that queries your index,
419
00:15:43,000 –> 00:15:44,400
applies your similarity threshold,
420
00:15:44,400 –> 00:15:46,280
and emits either an existing incident ID
421
00:15:46,280 –> 00:15:48,080
or a normalized create payload.
422
00:15:48,080 –> 00:15:50,360
Logic apps then invokes the service now connector
423
00:15:50,360 –> 00:15:52,520
with a payload that’s already compliant.
424
00:15:52,520 –> 00:15:54,960
No hacks, no hidden loops.
425
00:15:54,960 –> 00:15:57,520
Traceability is the difference between AI did something
426
00:15:57,520 –> 00:15:59,160
and we own the outcome.
427
00:15:59,160 –> 00:16:01,120
We stamp a correlation ID at the entry point
428
00:16:01,120 –> 00:16:04,240
and pass it to every function call and connector action.
429
00:16:04,240 –> 00:16:06,120
Application insights needs the whole story,
430
00:16:06,120 –> 00:16:08,520
classification function vector lookup service.
431
00:16:08,520 –> 00:16:11,440
Now dependency back to the workflow then outbound response.
432
00:16:11,440 –> 00:16:15,240
When legal asks, what did the agent do with ticket 39124?
433
00:16:15,240 –> 00:16:17,440
You open a single trace and show the evidence,
434
00:16:17,440 –> 00:16:20,680
not performative transparency, actual provenance,
435
00:16:20,680 –> 00:16:22,600
security posture stays clean,
436
00:16:22,600 –> 00:16:24,400
managed identities end to end.
437
00:16:24,400 –> 00:16:27,080
The logic app uses its identity to call the functions app
438
00:16:27,080 –> 00:16:28,520
through a private endpoint.
439
00:16:28,520 –> 00:16:31,320
The functions app uses its identity to access key vault,
440
00:16:31,320 –> 00:16:33,960
the vector database, and whatever else the policy allows.
441
00:16:33,960 –> 00:16:36,760
No secrets in run history, no shared maker tokens.
442
00:16:36,760 –> 00:16:39,240
Arbacs scopes each component to least privilege.
443
00:16:39,240 –> 00:16:40,840
If someone tries to call the functions app
444
00:16:40,840 –> 00:16:43,280
from the public internet, denied at the network layer.
445
00:16:43,280 –> 00:16:45,720
If someone helpfully adds a new output binding
446
00:16:45,720 –> 00:16:47,360
that writes to a public storage account,
447
00:16:47,360 –> 00:16:49,280
Azure policy blocks the deployment.
448
00:16:49,280 –> 00:16:52,200
You don’t debate it in a meeting, the platform enforces it.
449
00:16:52,200 –> 00:16:53,840
Now the low-code wall moment,
450
00:16:53,840 –> 00:16:57,120
your model provider updates an API, new headers,
451
00:16:57,120 –> 00:17:00,720
chunking rules, pagination behavior that returns partials,
452
00:17:00,720 –> 00:17:02,000
you must reassemble.
453
00:17:02,000 –> 00:17:04,400
In Power Automate, that’s a re-factor
454
00:17:04,400 –> 00:17:08,400
across scattered HTTP actions with fragile string manipulation.
455
00:17:08,400 –> 00:17:11,640
In logic apps, you update a function, version it.
456
00:17:11,640 –> 00:17:14,680
Test it, roll it forward behind a feature flag header,
457
00:17:14,680 –> 00:17:15,760
the workflow sets.
458
00:17:15,760 –> 00:17:18,520
If something misbehaves, you root a percentage of traffic
459
00:17:18,520 –> 00:17:20,840
back to the old function version for a sane rollback.
460
00:17:20,840 –> 00:17:23,720
That software engineering, not talismanic clicking,
461
00:17:23,720 –> 00:17:26,000
error handling doesn’t become fanfiction.
462
00:17:26,000 –> 00:17:27,560
Logic apps marks the step as failed
463
00:17:27,560 –> 00:17:30,080
with the functions, explicit error code and message.
464
00:17:30,080 –> 00:17:32,480
Durable retry kicks in with the jitter you specified.
465
00:17:32,480 –> 00:17:34,600
If the function indicates a business rule failure,
466
00:17:34,600 –> 00:17:36,320
say user lacks entitlement,
467
00:17:36,320 –> 00:17:38,000
you root to a human in the loop queue
468
00:17:38,000 –> 00:17:40,960
with the correlation ID and sanitized context.
469
00:17:40,960 –> 00:17:43,280
App insights tracks both the automated failure
470
00:17:43,280 –> 00:17:45,000
and the human resolution latency
471
00:17:45,000 –> 00:17:46,560
so you can optimize the bottleneck
472
00:17:46,560 –> 00:17:47,880
that actually costs you time.
473
00:17:47,880 –> 00:17:49,200
Performance matters here too.
474
00:17:49,200 –> 00:17:51,560
Stateless path for classification and tool routing.
475
00:17:51,560 –> 00:17:54,000
Stateful path for long running human approvals
476
00:17:54,000 –> 00:17:55,960
or multi-step compensations.
477
00:17:55,960 –> 00:17:59,120
You can scale, function separately from the workflow plan,
478
00:17:59,120 –> 00:18:00,920
allocate compute suited to vector math
479
00:18:00,920 –> 00:18:03,280
without overprovisioning the orchestration layer
480
00:18:03,280 –> 00:18:05,400
and keep P95 predictable.
481
00:18:05,400 –> 00:18:07,040
The agent remains responsive at the front
482
00:18:07,040 –> 00:18:09,560
while heavy lifting scales where it belongs.
483
00:18:09,560 –> 00:18:13,840
Outcome, AI agents that behave like services, not party tricks.
484
00:18:13,840 –> 00:18:15,760
Low code where it accelerates orchestration,
485
00:18:15,760 –> 00:18:17,680
code where it removes fragility,
486
00:18:17,680 –> 00:18:19,840
observability that lets you prove what happened,
487
00:18:19,840 –> 00:18:21,640
governance that survives and audit.
488
00:18:21,640 –> 00:18:24,640
And when the next, we just need one more field request arrives,
489
00:18:24,640 –> 00:18:27,680
you don’t rebuild a flow, you ship a function.
490
00:18:27,680 –> 00:18:28,680
Rebuttals.
491
00:18:28,680 –> 00:18:30,280
The three comfortable myths.
492
00:18:30,280 –> 00:18:31,680
Let’s clean up the three myths
493
00:18:31,680 –> 00:18:34,720
that keep otherwise smart teams glued to the wrong platform.
494
00:18:34,720 –> 00:18:37,480
Myth 1, per flow licensing is predictable.
495
00:18:37,480 –> 00:18:38,680
At small volume, sure.
496
00:18:38,680 –> 00:18:40,720
At enterprise volume, predictability dies
497
00:18:40,720 –> 00:18:44,200
by throttling, retries, and elongated run times you can’t tune.
498
00:18:44,200 –> 00:18:47,240
You pay twice, once in licenses again in missed windows.
499
00:18:47,240 –> 00:18:50,640
In logic apps, costs track to execution and in standard
500
00:18:50,640 –> 00:18:53,120
to allocate it compute you scale with intent.
501
00:18:53,120 –> 00:18:56,200
You can cap concurrency to protect dependencies and shapespent.
502
00:18:56,200 –> 00:18:59,760
predictability isn’t a price list, its control surfaces.
503
00:18:59,760 –> 00:19:02,720
Myth 2, connector parity means platform parity.
504
00:19:02,720 –> 00:19:05,840
No, same family of connectors, different enforcement domains.
505
00:19:05,840 –> 00:19:07,520
In power automate, the connector lives
506
00:19:07,520 –> 00:19:10,200
behind tenant-wide throttles and user bound connections.
507
00:19:10,200 –> 00:19:12,640
In logic apps, the same connector runs inside your plan
508
00:19:12,640 –> 00:19:16,440
with managed identities, vNet integration, and private endpoints.
509
00:19:16,440 –> 00:19:18,880
You attach it to policy, our back, and observability,
510
00:19:18,880 –> 00:19:21,360
parity on paper, divergence in production.
511
00:19:21,360 –> 00:19:23,800
Myth 3, the learning curve is too steep.
512
00:19:23,800 –> 00:19:25,800
Translation, we prefer convenient fragility
513
00:19:25,800 –> 00:19:27,680
to professional discipline.
514
00:19:27,680 –> 00:19:31,120
Source control, CI/CD, policy compliance, identities,
515
00:19:31,120 –> 00:19:33,560
and runtime diagnostics are not electives.
516
00:19:33,560 –> 00:19:36,320
They are how you stop incidents from turning into origin stories.
517
00:19:36,320 –> 00:19:39,240
The curve exists because reality exists.
518
00:19:39,240 –> 00:19:41,160
The good news is the tools are consistent.
519
00:19:41,160 –> 00:19:44,360
Arm, bicep, terraform, pipelines, app insights.
520
00:19:44,360 –> 00:19:48,640
Learn them once, apply them everywhere, objection, but DLP.
521
00:19:48,640 –> 00:19:50,440
DLP is helpful for citizen automation.
522
00:19:50,440 –> 00:19:52,640
It’s not observability, not network control,
523
00:19:52,640 –> 00:19:54,200
and not identity hygiene.
524
00:19:54,200 –> 00:19:57,640
Governance is logs, metrics, traces, our backscopes,
525
00:19:57,640 –> 00:20:00,680
policies that auto-deny drift and alerts with context.
526
00:20:00,680 –> 00:20:03,080
If your defense is we set a DLP boundary,
527
00:20:03,080 –> 00:20:05,480
you’ve described a guardrail, not a cockpit.
528
00:20:05,480 –> 00:20:07,960
Objection, we need one of 400 connectors.
529
00:20:07,960 –> 00:20:08,760
Wonderful.
530
00:20:08,760 –> 00:20:10,760
Use them from a platform that won’t sabotage you
531
00:20:10,760 –> 00:20:13,200
at 100,000 actions in five minutes.
532
00:20:13,200 –> 00:20:14,560
Logic apps.
533
00:20:14,560 –> 00:20:16,400
Standard gives you dedicated throughput,
534
00:20:16,400 –> 00:20:18,040
consumption with high throughput gives you
535
00:20:18,040 –> 00:20:19,560
burst capacity per workflow.
536
00:20:19,560 –> 00:20:22,280
The number of doors is irrelevant if the hallway is blocked.
537
00:20:22,280 –> 00:20:24,840
Objection, power automate can do approvals fast.
538
00:20:24,840 –> 00:20:25,920
It can and it should.
539
00:20:25,920 –> 00:20:27,400
Departmental winds belong there.
540
00:20:27,400 –> 00:20:29,520
This isn’t a religion, it’s risk accounting.
541
00:20:29,520 –> 00:20:31,640
Failed runs, silent slow downs,
542
00:20:31,640 –> 00:20:34,240
and throttled backlogs cost credibility.
543
00:20:34,240 –> 00:20:36,360
Auditors don’t accept the wizard said no.
544
00:20:36,360 –> 00:20:39,160
Executives don’t accept the platform slowed down.
545
00:20:39,160 –> 00:20:40,560
They want levers and receipts.
546
00:20:40,560 –> 00:20:42,160
Logic apps gives you both.
547
00:20:42,160 –> 00:20:44,160
Decision rule stated plainly,
548
00:20:44,160 –> 00:20:46,640
departmental convenience, power automate,
549
00:20:46,640 –> 00:20:49,280
enterprise integration hybrid, SLA’s logic apps,
550
00:20:49,280 –> 00:20:51,640
choose based on the blast radius you’re willing to own.
551
00:20:51,640 –> 00:20:54,120
If a missed approval annoys a team, fine.
552
00:20:54,120 –> 00:20:55,920
If a missed batch breaches a contract,
553
00:20:55,920 –> 00:20:59,640
stop pretending a convenience layer is an integration strategy.
554
00:20:59,640 –> 00:21:02,200
Practical framework, choose intentionally.
555
00:21:02,200 –> 00:21:03,680
You want a rubric, fine.
556
00:21:03,680 –> 00:21:05,880
If you need vnet integration, private endpoints
557
00:21:05,880 –> 00:21:09,440
as your arc or strictly controlled egress, choose logic apps.
558
00:21:09,440 –> 00:21:11,360
Otherwise, you’ll tunnel through a gateway
559
00:21:11,360 –> 00:21:12,960
and hope the spreadsheet where you track
560
00:21:12,960 –> 00:21:14,320
connections never goes stale.
561
00:21:14,320 –> 00:21:15,720
Hope is not a network pattern.
562
00:21:15,720 –> 00:21:18,600
If you need more than 100k actions per five minutes,
563
00:21:18,600 –> 00:21:21,800
explicit parallelism and stateless low latency parts,
564
00:21:21,800 –> 00:21:23,160
choose logic apps.
565
00:21:23,160 –> 00:21:24,520
Power automate will throttle.
566
00:21:24,520 –> 00:21:26,320
You’ll spend weekends staggering schedules
567
00:21:26,320 –> 00:21:28,360
to appease a ceiling you can’t move.
568
00:21:28,360 –> 00:21:30,680
Logic apps lets you set concurrency by action,
569
00:21:30,680 –> 00:21:32,760
isolate noisy neighbors and scale on signal.
570
00:21:32,760 –> 00:21:35,160
If you need pro code fallbacks, functions,
571
00:21:35,160 –> 00:21:36,840
custom connectors, inline code
572
00:21:36,840 –> 00:21:39,720
with real dependency management, choose logic apps.
573
00:21:39,720 –> 00:21:41,080
The moment your hand stitching headers
574
00:21:41,080 –> 00:21:43,480
and regecs in a designer to mimic a library,
575
00:21:43,480 –> 00:21:45,440
you’ve chosen technical debt.
576
00:21:45,440 –> 00:21:47,560
Move the computation to where code belongs,
577
00:21:47,560 –> 00:21:50,360
keep orchestration declarative and observable.
578
00:21:50,360 –> 00:21:52,440
If you need seam integration, granular R-back
579
00:21:52,440 –> 00:21:55,080
and policy-driven guardrails, choose logic apps
580
00:21:55,080 –> 00:21:56,600
in mid-locks to your CM.
581
00:21:56,600 –> 00:21:59,640
Enforce must be in a vnet, no public endpoints,
582
00:21:59,640 –> 00:22:02,280
managed identity required with Azure policy.
583
00:22:02,280 –> 00:22:05,880
Scope roles, so auditors have read, operators have deploy,
584
00:22:05,880 –> 00:22:08,080
identities have only the secrets they need.
585
00:22:08,080 –> 00:22:09,520
Governance isn’t a PDF.
586
00:22:09,520 –> 00:22:11,000
It’s enforced configuration.
587
00:22:11,000 –> 00:22:13,280
If you need simple M365 approvals,
588
00:22:13,280 –> 00:22:16,680
notifications and team automations, choose power automate.
589
00:22:16,680 –> 00:22:19,400
That’s its job, quick wins low friction, minimal ceremony,
590
00:22:19,400 –> 00:22:21,680
keep it inside strict DLP boundaries
591
00:22:21,680 –> 00:22:23,680
and don’t let citizen automations
592
00:22:23,680 –> 00:22:26,160
wander into mission-critical territory.
593
00:22:26,160 –> 00:22:27,920
Operating model that doesn’t implode,
594
00:22:27,920 –> 00:22:31,520
use logic apps with ARM, bicep terraform, pipeline every change,
595
00:22:31,520 –> 00:22:33,240
validate with pre-deployment tests
596
00:22:33,240 –> 00:22:36,240
and wire app insights with mandatory correlation.
597
00:22:36,240 –> 00:22:38,120
Use power automate for citizen automation
598
00:22:38,120 –> 00:22:39,280
in a fenced environment.
599
00:22:39,280 –> 00:22:41,360
Dedicated environment, DLP locked,
600
00:22:41,360 –> 00:22:43,440
connectors curated with a promotion path
601
00:22:43,440 –> 00:22:47,040
to logic apps when volume, sensitivity or complexity rises.
602
00:22:47,040 –> 00:22:50,280
Final stance, one more time for the people in the back.
603
00:22:50,280 –> 00:22:51,920
Connector counts are marketing.
604
00:22:51,920 –> 00:22:53,200
Architecture is destiny.
605
00:22:53,200 –> 00:22:55,000
Pick the platform that aligns with your risk,
606
00:22:55,000 –> 00:22:56,960
your volume and your auditors.
607
00:22:56,960 –> 00:22:58,520
Then commit, don’t split the difference
608
00:22:58,520 –> 00:23:00,480
and wonder why both halves hurt.
609
00:23:00,480 –> 00:23:02,320
Here’s the only line that matters.
610
00:23:02,320 –> 00:23:05,600
Connector quantity is irrelevant without enterprise plumbing.
611
00:23:05,600 –> 00:23:08,200
Logic apps bring scale, governance and hybrid.
612
00:23:08,200 –> 00:23:10,240
Power automate brings convenience.
613
00:23:10,240 –> 00:23:12,320
If you want the receipts and the how to subscribe
614
00:23:12,320 –> 00:23:15,160
for the TierDown series on logic apps, standard patterns,
615
00:23:15,160 –> 00:23:18,320
stateless versus stateful, functions integration done right
616
00:23:18,320 –> 00:23:20,800
and end-to-end tracing with application insights
617
00:23:20,800 –> 00:23:23,280
so you can prove causality, not guess it.
618
00:23:23,280 –> 00:23:24,920
Then watch the cost modeling episode
619
00:23:24,920 –> 00:23:27,440
and the VINET and Azure ARC deployment walkthrough.
620
00:23:27,440 –> 00:23:30,360
Enable notifications so you don’t miss the benchmark updates
621
00:23:30,360 –> 00:23:33,000
when we push new limits and publish the dashboards.
622
00:23:33,000 –> 00:23:34,160
Do the efficient thing now.






