Hey friends! You know there's no better place to run
your ASP.NET apps than on Azure. At Ignite 2020, we announced
several new capabilities to help you migrate and modernize
your apps, including those with COM+ or other
operating system dependencies. Gaurav Seth is here to show
me what's new in Azure App Service. Today on Azure Friday.
Hey friends, I'm Scott hanselman. It's Azure Friday.
I'm here with Gaurav. How are you,
sir? Doing good. Enjoying the fall colors in Washington.
Very very much. I love it when people bring me new toys and I
love App Service because I've recently moved my entire blog
and podcast and all of like Hanselmann Incorporated into
App Service. So you're going to show me even more great
features of App Service today.
Yeah.
So tell me what's new in App Service?
So at Ignite 2020 we announced some very interesting
capabilities for Azure App Services. So we basically
announced a whole new powerful queue for Azure App Services.
They call it V3 an in PV three. We're going all the way from 2
codes, 8 gigs to 8 cores, 32 gigs of memory, and the idea is
that this scale should pretty much help. Most of our
enterprise customers. Specially around large applications and
content management services, and along with the.
Along with the big victories, we also announced the GA for
Windows Containers. Now we also announced a public preview
starting November 2020. ASE v3 where we have no stamp fees and
we are also continuously working to improve the adoption
experience and also the costing by offering a commitment based
discounts for our customers.
That's pretty exciting. Now ASE, ASE is the Azure App Service
environment. App Service environment. Or, ASE, right?
That's the single tenant environment where you could host
your most secure workloads. So you have your own space and
previously there was a stamp fee and now there is not one. So
that's great and these premium V3 is. I'm running my things on
a V2, that's the really exciting thing here. We've got Windows
container support which is going to allow people to basically
take things that used to run on virtual machines and.
Manage the virtual machines and run Windows Update and all
that kind of you know, mental weight of having to deal with
a virtual machine just goes away because App Service
handles that for you.
Yes, as we all know App Services is managed services, so look at
some simple examples. When we say manage services, things like
automatic or OS patching or looking at you know how do
what's my underlying infrastructure. So those kind of
routine tasks pretty much part of our managed services offering
an again when we say any application today you are
talking about how do I scale on demand you are talking about who
takes care of the load balancer so again these are some of the
key features that we.
Offer as Azure App Services Ann. Now with this whole offering
around Windows container, we're also lighting up scenarios where
you were blog or maybe seacom plus or a custom OS dependency
with you.net application. Now in Windows container into picture
we light up all of those migration scenarios for you.
That's so great being unblocked from that because I know lots of
people who might have 10 or 15 applications that they run an
App Service, but those those legacy deep operating system
dependencies have prevented them to moving to App Service.
So then they have that psychic weight of a virtual machine to
manage, and now that goes away. And then of course, if they
know they're going to be an app service for a year or two, that
reservations pricing is great.
Absolutely alright, let's hear all about the Windows container
Jie. So what we have done with Windows container, we are
basically under the hood. We're doing a hyper V virtualization
an now as I previously mentioned, that there were many
use cases that we were seeing with the customers even where
they were blocked from migratingtheir.net web
applications to Azure App Services. Maybe for a comp plus.
Dependency and the best example I can think at this moment is if
you have a PDF renderer where you want to maybe export your
content as PDF and behind the scene the PDF renderer is making
say a GDI handle, call your block for that, because on Azure
App Services we have the whole sandbox environment and that's
where we restrict some of these capabilities, so that's one N
again when we also understand that to light up.
The most performant experience for our customers
on Windows container. We also have the new PB 3. The
most powerful is Q to date for Azure App Services.
There we go all the way up to 8 codes and 32 gigs of
RAM and again.
If you look at the pricing part of PV three with the whole new
reservation pricing, in fact it works out to be almost 20%
cheaper than PV 2.
Wow, better and cheaper. I dig it, yes.
Alright.
And if I talk about the ASV three now, as most of you will
be aware that ASE is App Services Environment, which is our single
tenant. Environment for you to host your secure web
applications and again, the East could be external load balanced
or it could even be internally load balanced where you kind of
cut off the access to public
Internet now. Again, in SV3 the two standout changes. If I talk
about one of them is that we're taking away this whole
complexity of, you know.
Customers manageing the whole networking requirements and also
we're doing away with the stamp fees so that pretty much reduces
the deployment cost by 80%, and that's a significant deal. Wow,
I have to admit that one of the things that had made me not
afraid but maybe just a little bit reticent to jump into app
service environments, was that virtual networking requirement.
It felt a little intimidating to me because I wanted my own
space. But I didn't want all the extra stuff and now I don't have
to think about those networking requirements, just and now via
and. Now what we're doing in is V3 is. We basically simplify
this whole experience for you.
Take care of lot of these complexities behind her.
Very cool, that's exciting.
Yes.
And now moving over to some of the cost effectiveness or or
more, if I say the more migration options again, as I
briefly spoke about all the reserved instances commitment
based discounts. If you're bringing in, we're also
announcing as of November, we're also announcing deep discounts
around dev test pricing on Azure App Services. Again, that's a
big deal for our customers who want to set up the dev test
environment or on Azure App Services while they begin their
whole. Cloud journey so again and for some of our.
Customers who are working with their partners. We again have
some enticing.net migration programs which are, which is
part of the Azure Migration program or AMP as we call it.
Very cool and that's Technical Support from actual humans, yes.
I like it.
Do you have a demo for me, yes. So let's trade. Jump into demo.
And before we get into a demo. So again, just to reiterate the
example for a PDF renderer that I was talking about. So this is
my fictious company. It's a it's under fabric Cam and we're
selling auto parts.
Now imagine I have already made some purchases.
And then go ahead and I see this order history and now
I need to export to PDF.
Now this fence, this phase for the very similar reason that I
mentioned that behind the scene my PDF renderer is making a GTA
handle call in. Of course the to sandbox nature of Azure App
services that fails. So now what are the options
for me when I'm logged by these kind of scenarios?
Simple, I can now look into.
Kind of if I say dockerizing or containerizing my web
application so this is the parts omelet. Unlimited is a
asp.net MVC application in what I simply do is go to
Visual Studio and create a Docker file. That's where my
whole containerization journey for myasp.net
application starts. And again I am using Visual
Studio. You could use vius code. Or you could use.
A simple notepad if you want to create a Docker file and if you
see the Docker file again is pretty simple. What I'm saying
here is where, what's my base?
Image that I need to use. What's my working directory and where
do I need to copy the entire output of the code? And once I
am done with this dockerfile?
I am what I do.
Very simply here is I go ahead and publish my Docker image into
a container registry and again I am using Azure Container
Registry. You have options to use your own private registry or
a Docker hub so that option again lies with you as a
customer. What you wish to use.
That is pretty slick. I love that it's all entirely
integrated in Visual Studio there too. Boy, yes, it's a very
very seamless experience. So from Visual Studio now.
Once you have your image published to Azure Container
Esta, it's very simple. Just get onto the Azure portal and
started the experience by creating a new Windows Container
Web application. How we do that
is. We select the subscription that I want to create my web
application in. I choose a resource group. Of course I need
to give a demo I give. I need to give a name to my web
application and this time instead of saying that I need to
publish code, I say I will publish a Docker container.
And the operating system for my container is Windows. Now
what's the region that I want to publish my web application
in? What's the App Service plan again just to quickly set
context App Service plan is what provides me.
Behind this in capabilities for infrastructure for region and
then the type of configurations that light up for my web
application now once I have made these selections, I go ahead and
choose what's my image source. So now I can either do a quick
start or I can do either of these options in terms of
container history. Now, since my image is sitting in an.
Azure container history. I make a choice for my.
For the Azure container history where I published my image and
then I choose, OK, that's my image Parts Unlimited. And
what's the tag now? Tag is again a concept. It's more like a
version every time of our I publish my container image, I
could pretty much give it a new version, or I can simply use A
tag called latest. Now once I'm done, I go ahead. I can set up
monitoring. And then eventually I can review and go ahead and
click the create button.
Now, once I do that.
The creation experience starts and in the interest of time what
I've done, I've already done the whole migration flow here for
one of the applications and this is how my application looks like
once it's migrated, so now.
If I go to container settings very simply, you see this is
exactly the same.
Application that I am seeing here, so I'm using exactly the
same image here.
And the tank.
And if you look at the dogs, the image is being pulled and
it's being published.
Interesting, that makes things pretty easy like I think that
some people may have. Some people may have not moved their
things to Windows for a number of different reasons, including
containers. Kind of being confusing, but you've been able
to do this with a very small dockerfile is really very basic
and move it up very quickly. Again, go back to the dockerfile
is just like 4 lines text it,
yeah? Now Windows containers are
really impressive. Yes, Ann.
The other important call out that I want to make with
Windows container is also the host of networking
capabilities that now light up with our Windows container
experience.
So first, let's start with the whole VNet integration piece.
Now they will always be scenario where my windows container, or
for that matter even my multi tenant app would be talking to a
back end, say a SQL database and for security reasons I want
basically to have the communication between my web
application an my databases within my virtual network on
Azure. So the net integration.
Which lights up the same scenario where what I just do is
I integrate my web application to a virtual network and I.
Have a subnet and within the subnet I go ahead and say
that I'm going to use service endpoint for.
For Microsoft Dot SQL, which is which is basically my Azure SQL
behind the scene and that's it. Now what happens is once this is
all wired up.
My web application and my database will pretty much
communicate to each other within the virtual network that I've
defined, and if I go to the database side of the things, I
see a very similar setup. So if you see in my database is
configured to basically receive traffic from this subnet.
See what's nice about this? Yeah, that's how seamless it is.
Yeah, this is really nice because you're taking that kind
of classic Windows app with the back end client server
application. You've moved it into the cloud. It maintains all
of the characteristics that used to have as a legacy application,
but you're taking something that would have taken us days and
days to configure and you're doing it in Azure in minutes. I
remember setting up all these rules in the firewall to make
sure that the SQL Server wants an own private subnet, but with
the power of software based networking in Azure, it's quite
simple. Exactly exactly Scott, that's how easy it is to
configure V net connectivity between your web applications an
you back in like a database. Now having said that.
They will also be scenarios where you even want to
restrict or secure the incoming traffic. So take
example that I basically want to have kind of a global load
balancing for my web application. I want to have
like a web application firewall configured in front
of my web application for all the security reasons you can
again do that simply using Azure Front or an as most of
us know, Azure front door.
Is all about where it not only allows you HTTP based global
load balancing, it also takes care of SSL offloading. It even
provides you a layer of caching for your application.
And again, this is how seamless and easy it is for us to
configure my web application and its integration with front door.
And once I'm done with this.
The final configuration here would be that now I want my
web application to receive incoming traffic only from
Azure front door. I don't want my web application to
receive incoming traffic.
From IP address other than this, and that's where again
this whole concept of IP ackling comes into picture. So
what I'm saying here is that I've created a new rule where
I allow the incoming traffic only from this specific IP
address block, which in our case belongs to the Azure
front door that we have configured.
So that's again another added layer of security
for our Web application.
And once I'm done with all of these configurations an I now go
and browse the same web application, which is diploid as
a Windows container. And now I go and look at my orders.
And click open and click export.
The PDF export happened successfully, so now behind the
scene what's happening is all the complex dependencies that I
had. Or for example, if I had any other custom OS dependencies
that I had now my web application has access to these
capabilities. Now before I move on, I also want to.
Showcase the new skew that I was talking about the whole previous
rescue. So if you see it starts all the way from 2 virtual CPUs,
8 gigs of memory all the way up to 8 virtual CPUs and 32 gigs of
memory. So I mean, this is all
the capabilities. That we have around the news Q which is which
is super powerful and super performant and again just
remember that with reservation pricing you also get like super
discounts on this Q.
Very cool. So is this all happening now like we ready or
is this preview? So the excuse are already in G, the.
The windows container capability is in GA&AS V3. We will be
starting a public preview in November of 2020. Fantastic,
alright. Well I'm learning all about how to migrate and
modernize my net applications on Azure today on Azure Friday.
Hey, thanks for watching this episode of Azure Friday. Now I
need you to like it. Comment on it, tell your friends, retweet
it. Watch more Azure Friday.