>> Hey, friends. You may have heard
about Azure Service Fabric,
but did you know that it has
a serverless offering as well?
Service Fabric Mesh is a full-managed service for
building and deploying mission critical apps
without managing infrastructure.
Chacko Daniel is here to tell me
all about it today on Azure Friday.
Hey, folks.
I'm Scott Hanselman and it's another
episode of Azure Friday.
I'm here with Chacko Daniel to talk about
Service Fabric Mesh. How are you, Sir?
>> Very good. Yes. Nice to see you again.
>> Yes, Sir. So, Service Fabric, I love.
Service Fabric Mesh, I don't know.
It sounds cool.
What is it? What is it going to give me?
>> Okay. So, I actually have a slide
as well and I'll start talking about it.
So, Service Fabric, so,
I will pick it on a journey.
That's the right thing to do. Two years ago,
we announced this Fabric at Build.
>> Yes.
>> So, that was like that way to
announce to the world that here is an offering,
which allows you to use the technology,
which we use in all of Azure
like most of the core platform uses it.
So, that is the platform. So, what
we didn't realize is that actually also gave
one headache to the customers
of managing clusters infrastructure.
They had to think about capacity.
They had to think about what kind of
network can I bring my network and so forth.
Then also, it is almost
impossible for customers to think through,
in two years, what do I need to do for applications?
So, that created a lot of incidents for us.
So, that got us thinking, "Man,
let's take that problem away from the customers."
So, Service Fabric Mesh was born.
So, basically, Service Fabric Mesh is actually
a serverless way for a Developer
to deploy their applications
into Azure without managing infrastructure whatsoever.
They just deploy things into containers.
They wrap it in the containers.
There is a tooling for it.
Then, this is deployed without thinking about,
"Will I need more later or will I need less?
Can I scale out
or like up and down?" You can do all of it.
>> Right. Now, I'll put things into the context of myself
and typical Developer that might be
using something like app service,
app services platform as a service,
it's not serverless in the sense of you
know that there's an app service plan.
You ultimately have to think about there's a VM,
somewhere there's a VM.
When you scale out and you scale up, you think about it.
You are conscious of it.
You are aware of it.
>> Yes.
>> Serverless means what
releasing that to the machine
and letting the machine handle it for you.
So, you're allowing me to no longer worry
about the administration of the Service Fabric.
>> Correct. So, we take care of that side of it.
It's still is build on the same platform.
>> Right.
>> So, that means you actually
it's not a brand new service,
which we just cooked up right now.
We basically are using the same servers,
which we have live now,
but we use it internally.
Internally, basically, we have clusters,
which are like 4,000 or 5,000 nodes strong.
So, when a customer comes
in and says, "I need an application.
I need 10,000 instances of this container."
We are able to give it to them in minutes.
In fact, our aim is to get it to like 16 to 20 seconds.
>> Wow.
>> So, it's near real-time.
So, that's the real thing, which we want to do.
So, scale on demand is something
which we are really working on.
We've been in private preview for like four months now.
So, we're getting to that point where
like we would announce a public preview on of it as well.
But we kept a lot of
the fun things, which customers loved.
Like for example, the lifecycle
management of the applications, we kept that.
We also kept the whole microservices concept.
So, instead of just going and talking about
containers because that's what you deploy it into anyway,
but that is not what we focused on,
we focused on the consumer's application.
So, this describes the application then by the way,
I am actually in a container.
I just need four of them. So, that is the key about it.
Then, everything else like the
security compliance, all those things,
which the platform provided,
still stays and it'll accrue.
So, that's the key thing about it.
The other thing, which is very
interesting to us is basically,
when you are in the serverless land,
when in the container land,
routing becomes an interesting piece of things.
Like for example, I wanted to do blue-green deployments.
I want to make sure that when service A is for example,
the front-end and the back-end
is service B, I have a new version.
I want to try the service B, the new version.
I can say, 10 percent of my traffic
goes there and so forth.
So, those are things which can easily be done and
the technology be used behind the scenes is Envoy.
So, we integrated with them.
So, that's a piece,
which is very exciting about Mesh.
>> Do you have some demos? Can you show them to me live?
>> Yes, yes.
>> I think the best way to see this is to see it happen.
>> Absolutely.
Give me one more second and then I'll introduce
the resource model for you.
>> All right.
>> So, in order to
describe your application, there's a resource model.
>> Okay.
>> So, the resource model unlike the old model,
which we had which was really prescriptive,
this is not, you actually define your application
as a resource and manage it like a normal resource.
Then, application the matter of services,
services have networks, and services can
have routes, and rules, and so forth.
So, let me give you an example. Last time I was here,
I showed you a Bouncing Pyramid's one.
>> Yup.
>> So, we'll use the same one because I just want to
show it like that is actually an interesting one.
>> You have upgraded it in real-time,
and we saw it pause for a moment, and then it kept going,
and there was virtually no downtime as it
upgraded individual bouncing things.
>> Yes, maybe little if you remember.
So, how about me using the Cloud Shell for a change
instead of using the CLI on the box?
So, I'll use the Cloud Shell.
>> Fantastic.
>> So, I will now just basically,
I have a few things.
Here, I just have the scripts.
>> Sure. No worry.
>> So that I don't waste time here.
>> Don't forget your trailing quote. So, paste that in.
>> There you go. So, I've set the subscription and then I
will create a resource group.
>> All right. Using the AZ CLI,
that is already logged in and set up.
The nice thing, of course,
what he's doing when you log into either
shell.azure.com or go to
the Azure portal and look at the Shell,
it's pre-logged in for you.
He set the subscription
and didn't have to install anything.
He's already got AZ setup.
>> Yup.
>> Now, he's made a resource group called mesh02.
>> Yes. Then, I'm going to use
and I'll walk through the JSON for you.
So, I'm just going to just
deploy that JSON. That's all I'm doing.
So, basically, that's all I did. It's starting to run.
So, let me just show you what that JSON is because then,
it's more interesting to see,
what is this new thing which we just did?
So, this is like any other arm JSON.
This application has a front-end
like you just talked about,
that is it actually has a front-end called Web.
Then, it also has a back-end called Worker.
>> Okay.
>> Then, it is a part of this application,
which is Service Fabric Mesh applications.
All the customer did was basically lift and
shift or in this case,
we wrote a.Net core app,
but basically, just says,
"I'm going to listen on port 80."
It's okay. Then, basically, here's the resources I need.
I need one core and then I need one gig of memory.
I need a replica of count of one.
So, similarly for the Workers and I just deployed it.
So, by now, it should have come
up or it is still running.
So, we'll give it a few more minutes.
>> Okay. So, it is just an example
where it is bringing up
how many? Are you bringing up a lot of?
>> Just one. So that because there's more
interesting to show one and then the other thing,
which I talked about networks, basically is,
since that particular Web was
listening on a network and we want an ingress endpoint,
remember Envoy gives you the layer for integration?
So, this one basically says,
"I'm going to listen on port 80."
Then, that is the application name
and here's my web listener.
>> Okay.
>> So, I then reference it back in here.
That's all this is doing basically it says, here it is.
>> By connecting that front-end ingress
to the port 80 of your app?
>> The back-end also uses the same network.
So, basically now, they're connected.
So, that's where it is. So, I'm
hoping that it has come back by now.
>> Okay. So, that long running process is over.
We're going to switch back to the screen here
and see the health of that app.
You say AZ Mesh app show and what do we see?
>> Okay. Let's run it and it says that it succeeded.
>> Okay. You had said that there's an ingress,
so you need a public IP address for this?
>> Yes, I do. So, let us just go
get the network configuration of that one.
So, basically, it's a Mesh network show.
So, again, these CLIs
are something which we're
trying to make sure it is user-friendly.
This will change over time because basically,
it should give you the ingress endpoint.
>> Yes.
>> As a part of output, right?
>> Exactly.
>> So, this is preview.
So, these are things which customers
have told us and we'll do it.
So, in this case, a public IP happens to be this one.
>> All right.
>> So, let us just take that and
then put it on this guy. So, you should see.
>> If I remember, your app looked kind of
like Space Invaders or Asteroids.
>> Asteroids. Yes. That was another interesting game,
which we had done at Build.
>> Yes, yes.
>> Yes. So, now, it's one.
So, now, let me just increase it to three,
so that's something which will make it more interesting.
So, it's just to show how easy it is
to basically scale out.
So, it should run.
>> So, you're saying deployment create,
but you're handing it a different JSON file to scale out?
>> Yes.
>> Got Linux.
>> So, let's just go through that.
So, the only thing which I did in here is basically,
everything else remains the same.
So, I have a network, which is the same.
I don't change anything in it
because the front-end doesn't need to do anything.
It's just basically is a Web Listener.
So, would never change anything here.
So, it's the same thing. But at the back-end,
what we just basically did was.
>> Right. Line 97 replica count three.
>> Yes. It's three. So, now,
you would think, why did I not type 10? The only reason.
>> Four million.
>> Yes. I could have done those will happened at GA,
but you could have a larger number.
So, today, for the public preview,
we have limited because it's free.
>> Yes, of course.
>> Then, later on, we would increase when sponsors
start to charge per second
and per the resources consumed,
then these limits will go away.
>> Of course.
>> Today, I actually have
a limit of at least three containers.
>> Okay.
>> So, that's why three.
Otherwise, I would have higher rate.
>> No, it's fine, of course.
>> So, that's why that is the only reason
for I refused trying to do capacity management
>> Of course.
>> So, that's a different that's what I did.
Then, let's go back here and see if things are,
so the second I showed up.
>> So, number two and three just showed up right there.
>> Yes.
>> It's happening in real time, right?
>> It's real time, yes.
So, just basically,
two more containers showed up and then
it's actually the same service without
any downtime. Here, you have Mesh.
>> You haven't thought about or shared anything
with me about Virtual Machines or the
Backplane or anything of that.
You're only thinking about your application
and the business logic of your app,
which in this case is three containers.
>> Yes. That is the Fabric Mesh.
Please, do a come by and try it out.
>> So, it's in public preview right now?
>> It's in public preview.
>> You go to aka.ms/SFMesh
and that's where you have documentation samples.
We have quick starts.
We have everything which you need
and also give us feedback.
This is the opportunity to shape the product.
>> Fantastic. You can go
to aka.ms/SFMesh and you
can get involved in the preview right now.
Like he said, "Limited number of containers."
But when it goes GA,
this is a really great way to scale
infinitely just the way that Azure does.
>> Yes. Bring your containers and create new.
>> Fantastic. I'm learning all about
Service Fabric Mesh today on Azure Friday.