Pratique du Shadowing: Technical deep dive on Managed Instance for App Service | BRK102 - Apprendre l'anglais à l'oral avec la vidéo
Chargement...
1
Hey everybody.
2
So my name is Scott, and I'm here with Andrew and Gaurav from the team.
3
And, you know, over the years we've had many ways of hosting applications in Azure.
4
You know, I go back to think about even early app service, virtual machines.
5
But we, you know, in many cases you still have to modify your app in some way.
6
And what we want to show folks today is how you can take an application and almost not change anything at all, and just copy it from on-prem to the cloud and get it to work.
7
And that's what App Service MI is all about.
8
And so with that, let's click to the next slide, Andrew, and let's talk about the agenda.
9
Okay.
10
Hi, everyone.
11
So today we're going to start off by talking through some of the challenges of migration, and we're going to look at a couple of different types of applications and scenarios
12
and some of the problems that we find with migration.
13
We'll have a look at that through a demo.
14
Then we'll have a look at how we are addressing the migration challenges with managed instance on App Service.
15
And then finally, we'll wrap up with a recap and some next steps.
16
We've got some invitations for you to go and try some stuff out
17
and go and do some more investigation with your own applications.
18
Back in 2023, Gartner stated that more than 50% of applications are still on-premises.
19
So that's a huge amount of applications that are still running, whether it's in your data center, in somebody else's data center,
20
or even, you know, proverbially underneath your desk somewhere in a dusty corner.
21
But they're the things that keep your organizations running and they're critical to your business.
22
And they're likely on things like .NET Framework or early versions of Java and so on as well. So, yeah.
23
And even stuff earlier than that.
24
And I talk to customers today that stuff even older than that.
25
Crystal Reports may be an example of something.
26
Yes.
27
So let's have a look at challenges.
28
So we've grouped these into two main areas.
29
And I've also given the Ignite crowd and our history before Ignite
30
and TechEd and all the different events that we've ever done.
31
We tend to land in a couple of camps.
32
You've got your IT professionals very comfortable with infrastructure and servers.
33
And then we've got our developers very comfortable with application code.
34
Now, we have folks like myself in a previous life.
35
I have a foot in both and I'm pretty comfortable with both areas.
36
But often when we're dealing with server administrators, they know the infrastructure really, really well.
37
That's their fine art.
38
That's what they build.
39
That's what they craft.
40
And so they're very comfortable with scripting out dependencies, building out networks, building out infrastructure, et cetera.
41
But what they don't know very much about is the applications
42
and what the application domain is supposed to do
43
and what the functionality is and what it necessarily needs down to a fine grain.
44
Developers, on the other hand, when they've got access to the source code, they know it like the back of their hand.
45
They may know that, you know, in this corner of this class here there's some technical debt they wish they could have cleared up five years ago, but they know it still exists.
46
They know it needs to have certain dependencies and how it calls out.
47
So they really know that really tightly.
48
And so when you've got the source code, sometimes you can make changes, but not all the time.
49
On the flip side, what happens if as an organization you've bought a package solution?
50
Something that was bought in-house, maybe is off-the-shelf product, or you've contracted somebody to go and build something out many years ago,
51
and it actually underpins your organization.
52
In this instance, you can't make changes.
53
You might be able to make slight tweaks to config, but you can't just outright change things.
54
There might be a lack of internal knowledge.
55
So if ever you've read things like the Phoenix Project, you might not have a breath in your organization that can actually tell you where everything is and how it all runs.
56
And that creator may no longer actually be working in the software industry, or they may not be contracted to your business.
57
So how do you really work around that?
58
I'll add to what you said.
59
Many times, even with source code, you might not have anybody that knows how that source code works because they've moved on to some other job.
60
It's a 10-year-old application.
61
I see this all the time talking to customers.
62
They're like, we don't even have people that know how these apps work anymore.
63
We have the source code, but we still have the same problem you're mentioning here, which is the creator is no longer around.
64
Yeah, maybe you've got like an old ASMX web service with your DWSDL and you're like, I can't remember how that works.
65
I remember in a previous life, but I don't know anymore.
66
So let's try and group all of those migration and modernization challenges up again.
67
So we've got application dependencies.
68
As Scott calls out, something like Crystal Reports is endemic through a lot of organizations, and it's something that customers really need to be able to go out and generate reports.
69
And if you spend hours and months building those reports and those reporting libraries, it's not something that as a business you're willing to throw out and redevelop.
70
It's going to take time.
71
Might be things that you installed into the GAC, you know, really old .NET framework, early .NET framework, you relied heavily on the GAC.
72
Maybe it's a component library from our friends over at DevExpress or Telerik or Infragistics, all of these different companies that I can recall from my history.
73
Maybe you rely on different configuration systems.
74
Maybe you do actually call out to the registry.
75
You read and write registry keys, and you pull in settings that way.
76
You need local or network file I.O., so you actually do write to the local disk, and you need to be able to do that through a drive letter.
77
And if it's an example of an application you've bought off your shelf, you can't easily change that to a new NFS mount or something else that we provide you in cloud.
78
You can't easily plug in, say, Azure Storage as a provider there.
79
Reduced access and changes in tooling is often a challenge
80
that customers face when they move to platforms like App Service or PaaS.
81
We don't, you know, traditionally allow you access to the infrastructure.
82
You can't bring along your IS tools or EventView or something that you've built in-house.
83
And often that's a bit jarring, you know, who moved my cheese and how can I do the things that I'm used to and really proficient with?
84
In process session state is a problem whether you're on-prem
85
and you're trying to scale or whether you're in the cloud and you're trying to go over the hyperscale.
86
So how do we provide a home
87
that helps you to be able to migrate these applications
88
and run it a single instance with high reliability until you can focus on that if you need to.
89
You don't always need to.
90
And often migration takes too long.
91
We've heard from lots and lots of customers that just tell us that, you know, this app over here that was core to our business,
92
it's just going to take me 8 to 10 to 12 months to actually do the changes or to migrate that.
93
And I just can't get the return on investment.
94
So it's not quick ROI.
95
They want to be focused with a solution where they can actually migrate quickly
96
and then focus their efforts elsewhere on the bits that they want to add value to their business.
97
So I have a question.
98
So we're talking about App Service Managed Instance.
99
Why not use a virtual machine?
100
In the case of a virtual machine, I do have access to all these things.
101
And so I'd love to hear.
102
So one of the benefits of coming to App Service is we have a shared platform.
103
We have shared front ends and all of our infrastructure to be able to handle web applications at scale.
104
If you go down a VM, you're in the situation of having to replicate some of that.
105
So you immediately have to build out multiple instances, deal with scaling those out, dealing with gold images.
106
You then need to put in front of those some sort of load balancer, have multiple instances of that.
107
You come to App Service, you just focus on your application.
108
Let us take care of all that infrastructure.
109
Let us take care of the patching for you and the maintenance of those run times.
110
That's the benefit.
111
So you're going to patch the OS for me and you're going to patch my runtime for me?
112
Yep.
113
We're going to patch whatever comes in the box in terms of the OS.
114
That gets regularly done.
115
We're going to patch the frameworks.
116
So a security update comes out for .NET Framework, that gets patched for you automatically.
117
You don't even have to think about it.
118
It's a platform benefit.
119
So with a virtual machine, I get all that control, but I lose, I have to rebuild all that infrastructure, as you said, myself.
120
In this world, I can still now with AppService MI, I can touch the file system, touch the registry, install GAC,
121
things into the GAC, but I don't have to pay all the prices of being in a VM.
122
Yep.
123
lower total cost of ownership because you're focused heavily on your applications and the benefit you can bring to your application.
124
Cool.
125
Let's have a look.
126
Nope.
127
There we go.
128
So here we have a scenario, like the second set of challenges that I presented.
129
I've been handed this application.
130
It's been sitting on a web server underneath a colleague's desk for 10 years, but it's absolutely critical to the business and I need to move it.
131
I don't have any of the source code.
132
I don't even have the debug binaries, so I can't get into it.
133
My only choices are to use a disassembler
134
and to be able to peek back in and crawl through all the classes to find things.
135
So I've taken a first step at migration, and I've published this straight to App Service
136
with App Service as you knew it up until yesterday morning when we made some announcements.
137
So as you see here, I have the flexibility that we have with App Service.
138
I've got all the abilities to be able to scale, to be able to add authentication, backups, etc. All of the benefits that you get out of the box.
139
However, if I browse for the app, I've immediately got some problems.
140
So we've got an area up here in the top corner.
141
Now having disassembled these DLLs, I know that that is actually using a registry key to actually get my connection string to the database.
142
We don't allow you in App Service Windows as things done today to read and write from the registry in that manner.
143
We don't allow you to set values.
144
Okay, that's a problem.
145
So I'm going to have to make a code modification to an app
146
that I don't have access to the code for to be able to Let's change that.
147
Okay, I'm starting to get forced to that IaaS solution.
148
Don't like this.
149
Let's go into the category share report.
150
Oh, I've got here broken image.
151
Again, when I was able to disassemble those DLLs, I found out that's actually making a GDI call.
152
Again, something in the App Service sandbox we traditionally block out.
153
And then the canonical export to PDF.
154
Now, some of you in the audience may be saying, yeah, but my PDF library works in App Service.
155
Not everybody does.
156
Crystal Reports, for example, doesn't.
157
And in this example, neither does this one.
158
Because this one underneath the hood is actually making calls out to system.drawing, something that we've seen for years with PDF and reporting libraries, that that's one of the problems that we have.
159
This is not exhaustive.
160
This is just a quick example of some of the scenarios that we find when customers migrate applications to App Service.
161
And one of the bits of feedback that we've heard with this kind of example is
162
App Service Sandbox gives us a headache because we can't replicate that on-prem.
163
I can't take the App Service Sandbox and run it in my environment inside my environment, in my on-premises data center or my desk.
164
So what are we going to do about that?
165
We are pleased to announce Managed Instance on Azure App Service, a new set of features for customers looking to greatly accelerate their move to PaaS.
166
We allow you to preserve your Windows dependencies.
167
You bring them in form of an install script, so you have an install script inside a zip.
168
You'll be able to upload those into storage and go through and install all of those for you.
169
And we're going to go through some of those in a demo shortly.
170
By being with inside the app service environment, the platform, you unlock scale.
171
So immediately your app service plan, for example, on a premium tier can go out to 30 instances.
172
You don't have to provision those.
173
You don't have to go through CapEx.
174
You don't have to forecast that, hey, I need another one and I need to go and rack it and I need to go and get it ready.
175
You get enterprise-level scale security.
176
So everything can be secured by managed identity.
177
You're VNet integrated.
178
You can use your network security groups.
179
And because you're with inside the Azure ecosystem, now you can take advantage of other services like Azure AI,
180
Azure SQL, Azure Application Insights Monitor.
181
Huge amount of opportunities for you.
182
A managed instance is deployable on Premium V4.
183
It's our newest and greatest SKU that we have within the App Service platform.
184
It was only GA in September.
185
It's on the newest hardware and at a really, really good price point.
186
The canonical architecture of an App Service web app running on managed instance on Azure App Service
187
is that you would have the app.
188
You're using an install script from storage account secured by managed identity.
189
All of your assets and your dependencies are within inside that zip file.
190
We pull it into the instance.
191
We run it whenever we spin that up.
192
Equally, when you scale out, we make sure it's a carbon copy each time.
193
You use managed adapters for registry and for storage access, so you can read and write to the registry all backed and secured by Key Vault.
194
And then you can deploy this via ARM, so therefore you have all of the tools, all of the reliability for a desired state each time.
195
Equally, you can put this plan directly inside your VNet, giving you access to other resources inside your virtual network.
196
And for the first time ever, by being inside that vNet, we're allowing you to remote desktop via Azure Bastion directly to your App Service plan instances,
197
something we've never, ever allowed you to do with App Service.
198
We've been running private preview of these features for a few months, and even before that, some early previews.
199
Girish Falki from TCS, our friends over at Tata Consultancy Services, had this to say.
200
They successfully tested Azure App Service Managed Instance for classic.net framework applications.
201
During that private preview, an experience firsthand had its new capability, provides much needed flexibility to leverage the legacy dependencies.
202
One of the things that I wanted to call out from the wider quote is
203
that customers now have the best of both worlds and can accelerate their migration to Azure.
204
So with this offering, we're really trying to get to the stage where from zero or very minimal code changes,
205
you can migrate your applications.
206
So we go from potentially eight months or longer migration projects to much, much smaller, maybe even hours, maybe even days.
207
And now I'm going to hand over to Garv, is going to take us through a detailed demo of solving a lot of those challenges.
208
Okay.
209
So we start by going to Azure Marketplace and search for a new template called as managed instance.
210
Just type managed instance, or for that matter, you can even type web apps.
211
Once you do that, now you see there's a new template called as web app for managed instance.
212
Once you click that, You see this experience?
213
Now, this seems very, very similar because we are trying...
214
You should zoom just a little in there.
215
It's tiny, kind of small.
216
Oh.
217
Zoom the browser up a little bit.
218
Thank you.
219
Yeah.
220
So you start by giving it a subscription.
221
You give a resource name.
222
So you select the resource group where you want to create all your resources.
223
And remember, as part of this plan, we are eventually creating a web app as well.
224
So you need to give web app a name.
225
Let me call it BRK102 Demo App.
226
And now you select the runtime.
227
Now you might notice
228
that the options for the runtimes are a little lesser than what you might have already experienced on App Service.
229
The reason behind this is these are the runtimes which are installed out of the box on the underlying instance.
230
Having said that, it's not that you can only have these runtimes.
231
If you have your own runtime, you can bring them, install them using the configuration script, and I will talk about that in a bit.
232
So for this demo, I'm going to select 4.8.
233
And again, for the preview, you are currently in these regions, but we will be rolling out to additional regions pretty fast.
234
Now, in terms of the app service plan name, that's auto-generated.
235
If you want, you can change it as well.
236
And now, when it comes to SKU,
237
as Andrew pointed out, this is only available on PV4 and PMV4. So I select SKU.
238
Now, you can also have zone redundancy if you want.
239
Now, this is where the new experience kicks in.
240
You have the concept of configuration script.
241
What that means is whatever dependencies, whatever configurations that you require us to make on your behalf, you give us the script,
242
you give us the installers, and we do it.
243
Now, just to give you an example, this is the configuration script I'm talking about.
244
This is a PowerShell script, and that's what we currently support.
245
So what this configuration script is doing, this is actually installing fonts on the underlying instance,
246
and this is also enabling an SMTP server role because that's what my application requires.
247
So yes, you can even have a SMTP server role on managed instance on App ServiceNow.
248
So once you have your installation script and you have all your components and dependencies, you just create a zip file,
249
and then you go ahead and upload the zip file to a storage account.
250
You can see I've already uploaded a zip file over here.
251
It's called componentinstall.zip.
252
Now I come here.
253
I first select the storage account.
254
I then select the container name.
255
And then I need to give the name of the zip file.
256
Now in this scenario, the zip file name is not loading.
257
The simple reason is
258
that the entire communication between the app service plan that's on the managed instance
259
and the Azure storage account is secured using managed identity.
260
Because remember, for this entire offering, security is front and center of entire feature.
261
And you'll see as I move along.
262
So I'm going to type the name.
263
and then I'll select an identity.
264
Now, you have always been able to use a system identity or a user assigned identity with your web app.
265
Now, what we are doing here is a default identity for the plan.
266
So what that means is every time my plan is talking to any other Azure resource, that's the identity it is going to use.
267
So this is the identity that we will use to go talk to the storage account, download the zip file, and then do what we have to do.
268
So I'll go ahead and select the identity.
269
Now remember, what we are creating is a web app, so your source code still could be in GitHub.
270
Give us the repo URL, and we will get the code.
271
And yet another new experience.
272
This is about enabling the virtual network integration.
273
You could always do that for your web apps.
274
Now you can do that for the plan itself.
275
If you want public access, you switch it on and then you say that yes, I do require VNet integration with my plan.
276
Specifically for the scenario where you need to do an RDP, because now RDP that we allow is only via secure Azure Bastion,
277
that's where you require a subnet and a VNet, so your app should be injected into the same VNet.
278
So I select the VNet.
279
I now go ahead and select the subnet.
280
Remember, when you select the subnet, it should be delegated to server farms.
281
I now click Review.
282
Once the validation is done, once I click Create, what's going to happen behind the scene is, We will provision the instance, we will talk to the storage account,
283
we'll download the zip file, we'll unpack it and we'll go through the installation steps that you've given in the PowerShell scripts, and start running them through.
284
So in the interest of time, I've already created a plan.
285
If I go to the App Service plan over here, this is the managed instance on Azure App Service plan.
286
As you can see here, I again have a new menu blade, it's called configuration.
287
Now, this is exactly the same set of script that I had provided.
288
Now, here is the new concept.
289
Andrew spoke about you can create mounts for your web app.
290
So, what we are enabling here is that if your app requires access to, let's say, G colon, H colon, or a K colon, MountFS,
291
or any such files, file path, you can actually do that.
292
How you do it is you click on new storage mount, Now we allow you to mount three types of storage mounts.
293
If you need a persistent and a shared storage, you do it via Azure file shares.
294
What if I have a file server maybe within Azure
295
or maybe even in your data center as long as it is reachable over the virtual network, you can even give us a UNC path
296
and we will let you use your custom file share as well as part of a storage mount.
297
Or if you just want a temporary file mount, switch to local.
298
You give us a drive letter and we will mount a temporary mount for your app service plan.
299
For this demo, I'm going to use Azure Files.
300
I'll give it a name.
301
And then I need to select the storage account where the actual mount exists.
302
and now I select the file share.
303
Now, key vaults.
304
Again, as I said, security is paramount to this feature.
305
So what we're doing here is the actual connection string for the file share is a secret in the key vault.
306
So I go ahead and select the key vault.
307
And I can now select the secret name.
308
And now I give the drive letter and the path.
309
It could be a drive letter only, or it could be a drive letter and a path after that.
310
So maybe I can just say l colon mountfs.
311
So the idea here is if your web application depends on, let's say, a hard-coded path for logs
312
or for any reason where you are downloading and uploading content
313
and it was called L colon mount FS or K colon mount FS or anything, you can't do that without having to make a change.
314
So that's the large idea why we are enabling storage mounts on the plan itself.
315
And remember, these mounts would be shared across all the apps within the plan.
316
So I'm going to come out of this because I already have few mounts.
317
Gaurav, what's the local one?
318
The local one is all about the temporary.
319
So if you just want a temporary mount, but remember, if you have a temporary mount and for any reason,
320
if you go ahead and patch or if the instance is restarted, the data that's there on the mount will be wiped off.
321
So if you need a persistent and a shared storage, it's either custom or Azure files.
322
Now, what if you need registry keys?
323
So that's the reason the app that Andrew showed failed, because it is having its connection string stored in the registry settings.
324
Again, just click on New.
325
Give it the path.
326
This is the actual path within the registry hive where your key will get created.
327
And remember, again, we have the key vault.
328
The reason in this scenario is the actual registry key value is a secret within the key vault.
329
So I give it a name and now I select the key vault secret.
330
So what's going to happen behind the scene is when we create this registry setting, we will get the reference of the secret,
331
we will load the actual value and create the registry setting for you.
332
The registry setting could be string or dword.
333
And equally, if you change that, we suck it in as well.
334
Just like we do in app settings for web apps already or certificates, we still get that same functionality.
335
And for the very first time, as Andrew pointed out, you could now do secure RDP into the underlying instance.
336
And that's all using Azure Bastion.
337
Now, on this page, the most important thing to note is you do have a checkbox against allow remote desktop.
338
So the idea here is that you may have a Bastion within the virtual network, but if you still don't want to allow a remote desktop to this plan,
339
you just uncheck the box and that's done.
340
Now, what I have already configured the remote desktop, how do I access it?
341
Head over to a new experience again.
342
It's called instances now, and this is all at the plan level, remember.
343
Now, you see two options here.
344
First is restart.
345
Now, for any reason, if I need to restart the underlying instance, just click on Restart.
346
We'll restart the instance, and we'll even re-image the instance, download the zip file, re-run all the installation steps.
347
And what if you want to connect securely?
348
Just click on Connect and see the magic happens.
349
Now you're just doing a secure RDP into the underlying app service instance.
350
Now, before I move any further into the RDP experience, a quick word of advice and something very critical.
351
Any change if you make using the RDP session, remember it's temporary, meaning if you do installation,
352
if you do any tweak to the settings, they will always be scenarios where either you will restart the instance
353
or we may just patch and restart the instance for maintenance in that scenario.
354
Any changes that you've done will be wiped off.
355
So what you need to do is for persistent and durable changes,
356
or rather repeatable changes, you should always and always use installation script.
357
Give us all the steps so that every time you scale up or you scale out, or if there is a restart,
358
we will pretty much replay all the steps that you did while provisioning.
359
Now, as you can see here that I have all my mounts that I created,
360
the H colon, the K colon mount FS.
361
Now, what if I want to see the logs for the installation script?
362
Head over to C colon install script, and you can actually see the logs here.
363
That's not the only way, right?
364
Yes.
365
If you also want to see the adapter logs.
366
So all the registries, the keys and all the mounts that we create, we call them managed adapters.
367
So if you want to see the logs of the managed adapters, head over to adapters.
368
So we have the log for adapters over here.
369
Now again, what if I just want to reconfirm that my registry key got done?
370
Yes, just head over to, because that's the path I created within software, that's the registry key.
371
And this is the actual value that we have pulled in from Azure Key Vault secret.
372
I just want to validate that the SMTP configuration got done.
373
Use MMC plugins.
374
Yes, you can actually validate that the SMTP configuration is done, and now your app can use it.
375
Finally, you even have access to IS manager.
376
So remember, if you just want to verify, validate, or do a quick troubleshooting,
377
that's where you would use RDP because now you have access to all the underlying features even at the OS level.
378
That's where if you want a specific Windows feature for your app, you can do it using configuration scripts.
379
Now, if I move back to the app, now remember, these are all the steps that you would have performed at the time of migration.
380
Now, once this is done, beyond that, what you get is the standard app service experience.
381
You remember the app you just saw and it was broken.
382
Now, this is exactly the same app that we have migrated without making even a single line of code change.
383
If I go to the same report,
384
yeah, the Internet is a bit slow.
385
Sorry for that.
386
So now you see the bitmap coming up.
387
If I now click export to PDF, it will generate a PDF.
388
So what we have done is we are here enabling you to go ahead
389
and migrate and modernize the web apps without making any code change.
390
And again, if I go back to the portal, you'll see this is the standard app service portal experience that you are used to.
391
We have made no changes.
392
Pretty much everything that you could do with App Service Windows, you can do with apps which are on managed instance on Azure App Service.
393
Can I still scale apps like I could before?
394
Yes, you can scale up, you can scale out.
395
You still have all the benefits of security, log analytics, slots.
396
You have all the capabilities that you're used to for App Service.
397
Awesome.
398
Thanks, Gaurav.
399
So we'll do a recap of everything that we've just seen then.
400
So we've bought our dependencies with our application using an installation script.
401
We've used storage mounts for local and remote files, so we've written out the log messages there to a remote storage.
402
You would equally see that the mail messages that were generated on an order actually right now go to a pickup directory,
403
so they go on to the Azure file share.
404
Registry adapters are backed by those Key Vault secrets so that we have the connection string lit up, and we're able to use familiar tools.
405
So if you have a heavy reliance on using Event Viewer, or you need to use IIS Manager, for example, or an MMC snap-in,
406
often just to verify and validate, you have that flexibility.
407
And you can take advantage of the platform scale and maintenance, as Scott called out you can scale that application out in a matter of clicks
408
rather than having to provision all that infrastructure.
409
One other thing that we didn't show, but it's important to call out on the logs, those log files are actually exportable to Azure Monitor.
410
So you can have the adapter logs out as part of our platform logs and console logs straight out to log analytics.
411
And finally, because you're with inside Azure App Service and with inside the Azure ecosystem, it's far easier to modernize and expand that application value with AI.
412
Oh, so you said AI, that means you have another demo?
413
Yeah, we have.
414
We've not done that yet.
415
Okay, let's get into that now.
416
So we have this modern agentic app, and you'll see here that we have the bleeding edge.
417
So we have a fashion store app service, which is, in this example, an Aspire app.
418
So we've got one team within our organization doing some cool and bleeding edge development, and they've built this nice new fashion store.
419
And that's working through Foundry with some agents via an orchestrator.
420
So we see at the bottom we've got agents for the cart manager, for fashion advisor, for content moderator, and we have an agent for inventory manager.
421
Now, the app that we've just shipped and we've just migrated is our inventory manager for the entire organization.
422
Yes, it might be on an older framework, but it actually runs the core of our business, and it's something really valuable.
423
So what we're going to show you now is how you can take a web API that is inside that application already, something you've developed and it's in-house,
424
and expand it by connecting it up through an agent
425
and being able to do some agentic apps directly with using
426
that old legacy application and getting value as you go through a phased modernization approach.
427
So you don't have to, you know, eat the entire universe to modernize and migrate.
428
You can actually do it in phased rollout.
429
Over to you, Gaurav.
430
Okay.
431
So we're inside the Foundry portal.
432
Now as you can see, there are multiple different agents, and the agent that we are interested in is the Inventory Manager.
433
Because this is the agent which actually communicates with the Web API that's hosted on Managed Instance.
434
If I scroll down a bit and I click here and I click on Manage, and you can see here that the audience
435
or rather the endpoint for this agent
436
that it is pulling the data from is hosted as a web API on managed instance.
437
What we have just done is we have got like an open API 3.0 compliant JSON.
438
We have exported it here and that's it.
439
And now, my agent is actually going to communicate
440
and going to perform the entire workflow using a web API that's hosted on managed instance.
441
And very importantly, the entire communication between this API and the agent is all secured using the managed identity.
442
Now, again, this is the web app, which is just hosting the entire front end that I'm going to show.
443
And you can see over here that the external inventory URL points to the web API that's hosted on managed instance.
444
Now, this is the app I'm talking about.
445
Let me go ahead and have a quick conversation.
446
I'll just say, tell me about denim in size L.
447
Now, what's going to happen behind the scene is, this is basically a multi-agent workflow,
448
and the content moderator agent is now going to branch out into different agents,
449
and it will eventually call the inventory manager agent agent,
450
it will pull all the data using the inventory web API that's on the managed instance on Azure App Service
451
and get you all the data over here.
452
If I go back, this is all the inventory data that's coming in from the web API that's hosted on managed instance.
453
So what you're seeing on the screen right now is that if you are working on,
454
and I'm sure most of you are working on modern agentic workflows,
455
but you have an API that's completely usable and functional and critical part of maybe your supply chain, you can now modernize that,
456
deploy it to managed instance on App Service and use it as part of your agentic workflow.
457
Thanks, Kaurav.
458
So managed instance on Azure App Service gives you the ability to move applications faster to Azure with minimal code changes.
459
That example we made zero code change all the way through.
460
That could be the case for your applications.
461
You may not have to make any changes whatsoever.
462
That's what we're aiming for.
463
And you can reduce your operational overhead and cost of ownership
464
because instead of having duplicate infrastructure to be able to provide you resiliency, be with inside our platform, which that's part of what we built.
465
And three, you can improve your security posture and AI readiness immediately by being with inside our compliant infrastructure and compliant service.
466
Finally, we announced earlier this year the GitHub Copilot app modernization tools,
467
and this can help you modernize and migrate your Java and your .NET applications.
468
One thing that we want to call out here as part of the new capabilities
469
that we're announcing this week is the ability to be able
470
to assess your applications where you have access to the source code against managed instance on Azure App Service.
471
And we will be working with our partners to build that even further.
472
And instead of you getting a long list of things that you must change to move to App Service Windows, for example, now to move to managed instance on Azure App Service,
473
you'll get a lot more cases of this is fine, this is great for a target on App Service or you may need to put this into a dependency script, that kind of thing.
474
So we're already working with our partners to make sure
475
that our best-of-class tooling is available to you to help you with your modernization and migration journey.
476
We invite you to try managed instance on Azure App Service.
477
It is now in public preview.
478
As Gaurav mentioned, we're adding regions as fast as we can to give you more scope
479
and opportunity to go and try it.
480
There's some documentation that we've published.
481
It's now within inside our Learn cohort for App Service.
482
This evening we're running a hands-on lab here at Ignite at 6 o'clock, and we also have another run tomorrow at 2.45.
483
So if you want to come and get hands-on with Managed Instance on Azure App Service, come along.
484
Garvin and myself will be there with other members of our team to support you.
485
And if you want to catch up on all of the other announcements
486
that we've made about made about App Service this time at Ignite, please check out our blog.
487
Here's some related sessions.
488
I will call out that BRK116 is happening in this room, about 45 minutes after we finish,
489
and that's with Nir, Jordan, and Devanshi, who will go through that wider, large-scale application that we showed just a part of with the legacy inventory API.
490
They're building that all out in that one.
491
And then there's the lab.
492
And also BRK 103, which was on this morning, talks more about the copilot tool that you can use for modernization.
493
We invite you to explore Azure Accelerate
494
because this is an opportunity for you as organizations to get hands-on access to trusted experts,
495
get some funding to help you with migration and modernization stories, and to be able to succeed.
496
And we have about five minutes left, so we'd love to be able to open up to some questions, questions and answers.
497
If you've got a question, please come up and use the mic so that everybody in the room can hear, and we'd love to answer these for you now.
À propos de cette leçon
Vous vous entraînez en anglais avec "Technical deep dive on Managed Instance for App Service | BRK102" en utilisant la technique du Shadowing.
Qu'est-ce que la technique du Shadowing ?
Le Shadowing est une technique d'apprentissage des langues fondée sur la science, développée à l'origine pour la formation des interprètes professionnels. Le principe est simple mais puissant : vous écoutez de l'anglais natif et le répétez immédiatement à voix haute — comme une ombre suivant le locuteur avec un décalage de 1 à 2 secondes. Les recherches montrent une amélioration significative de la précision de la prononciation, de l'intonation, du rythme, des liaisons, de la compréhension orale et de la fluidité.