Hi, welcome to the Azure IaaS Day.
My name is Varun Shandilya.
I'm the Principal Product Lead in Azure Compute.
Today, I'll be talking to you about
how you can build resilient
and scale-out applications using Virtual Machine Scale Sets.
In today's agenda,
we'll talk about what are Virtual Machine Scale Sets?
Our VMSS as we call them.
We'll talk about the feature benefits
and the use cases that customers use for VMSS.
We'll talk about the new capabilities
that we have in the platform.
I'll go through some of the demos
to showcase these capabilities.
And in the end,
we'll talk about resources that you can use to learn more.
Let me dive into what is VMSS?
VMSS is our scale offering for infrastructure.
It can help you create thousands of VMs,
put then behind the Load Balancer
and deploy your infrastructure easily.
VMSS is also integrated with all the client tools
that you love and like.
For example, Terraform, CLI, PowerShell.
So it makes it very easy for you to build infrastructure,
using scale set with the tools that you know and love.
VMSS also provide scale for your applications.
Using auto-scale, you can easily scale out
your infrastructure on demand when you need it.
And when you do not need it,
you can scale it down using auto-scale.
You don't need to manually intervene
for any of these patterns.
Let me get into some of the common use cases
that VMSS customers use.
And that we've seen customers being very successful
in deploying.
Customers use VMSS for large scale SaaS applications,
for their stateless workloads,
for their stateful workloads.
And the reason for them to use scale sets is,
because it provides highly resilient platform
and also provides scaling in, scaling out capabilities.
VMSS also helps you bring your lift and shift workloads
to the cloud because it gives you the same familiarity
with the infrastructure that you already know.
VMSS in addition,
also helps you to deploy specialized workloads,
which are highly-performance onto the cloud.
The other aspect of infrastructure is how do you save cost?
VMSS enables you to save costs by using Spot VMs.
And it is also used in batch processing,
using which you can use Spot VMs and on demand together
to save costs in your batch processing workloads.
Let me get into some of the benefits for scale sets.
The first and foremost is the simplicity and flexibility
that VMSS brings to you.
As I talked about,
you can deploy any scale sets using any of the client tools
that you love and use.
It lets you deploy operating system
of your choice with extensions.
It has built-in load balancing capabilities.
So you don't have to manage your networking by yourself.
I'll talk about,
how the VM experience is converging a little bit later,
but one of the concepts that we will see
with VMSS is a VM as a VM.
So the artifacts and the concepts remain the same.
The other big reason for customers
to use cloud is cost effectiveness.
And with VMSS, you can save costs by using auto-scale.
It also has different consumption models
for you to use your infrastructure.
For example, you can use Spot VMs,
which offer 90% discount, but they're interruptible.
So they don't fit each and every workload,
but for specific use cases, they bring huge cost savings.
You can use Azure Hybrid Benefits
for your Windows Server workloads.
You can also use Reserved instances with VMSS.
The other point which gets missed
in this conversation is the operational overhead for you
to manage your infrastructure.
With VMSS, you can give the responsibility
of managing your infrastructure
to VMSS using the automation
or auto scale that we provide.
We also have things like, instance Replace.
Where if your VM or your application goes back,
we will replace that VM for you.
You do not have to take an action.
Auto-scale, let's use scale out and scale
in automatically using metrics.
You don't have to manually intervene to do that.
So it brings down your operational costs
for the infrastructure.
Resiliency is an aspect which is very critical
for a lot of business critical applications.
VMSS lets you spread your VMs across availability zones
and Fault domains very easily.
Most customers use either availability zones
because it can spread through
a different geographical location within the region,
or they deploy in Fault domains.
Fault domains in Azure are isolation units,
which are independent of each other.
So if one isolation unit went down,
it would not impact the other ones.
So if you have a hundred VMs deployed across Fault domains,
if the platform is updating the infrastructure,
or if one of the hardware fails,
the rest of the VMs are still running
and your application would not suffer an outage.
One of the big feedbacks that we've seen
and that we've heard from customers is ability
to deploy a VM by specifying a Fault domain.
This was one of the big things in availability sets
that customers were asking for.
And that's something that we are addressing with VMSS also.
Last, scale and performance.
This is also very important
when it comes to scale-out applications.
I talked about auto-scale, how it can scale out
and scale in applications, using metrics.
You can also mix different VM types
to get better performance.
So we've seen customers who would use some big VMs
for large chunk of work
and smarter VMs for some data processing and whatnot.
So VMSS now offers that capability where you can mix
and match skews or reemphasizes
to get a better price performance for your workloads.
Let me talk about some of the recent updates
that we have released for VMSS.
One of the things that we have released is an update
to VMSS called Flexible orchestration mode.
Taking a step back, VMSS as you know today,
is being named as VMSS Uniform orchestration mode.
It works well for homogenous VMs,
where you have the same VMs performing the same task
for the entire workload.
The other one on the Flexible orchestration mode side,
it is a platform for highly available,
highly scalable applications
which can use different VMs or identical VMs.
We leave the choice up to you.
So we are giving the flexibility for you
to choose what is the right infrastructure choice
for you to apply.
With VMSS Flex, you can have thousands of VMs,
available to you in highly reliable way.
They could be homogenous.
They could be heterogeneous in nature.
So that's the new release
which is coming to market in a GF form.
Let me talk about some of the benefits
of the Flexible orchestration mode
or what we call as VMSS Flex.
It is simple in management and scalability.
One of the good concepts that we started with VMSS Flex,
was let you deploy your infrastructure simply and at scale,
what we've done is, we've made VMs as a VM.
In VMSS uniform,
if you've used VMSS as of today,
the VMs deployed by VMSS were dependent resource to VMSS.
So the lifecycle was attached to the scale set itself,
and you could not make much changes.
What we've done with VMSS Flex is, we made VMs as a VM.
So if you deploy a VM individually,
or if you deploy a VM using the scale set,
they will have the same artifacts.
They will look and feel the same.
So we are converging the experiences.
So you either have to learn how to work with the VM,
or you basically learn how to work with a VMSS.
We also increasing the application resiliency
with VMSS Flex.
You can deploy VMs across availability zones.
You can also deploy VMs across Fault domains.
And with VMSS Flex that you'll notice
that the scalability for these highly resilient applications
is getting higher.
Now we support up to a thousand VMs
with Fault domain guarantees in a region
or across availability zones.
I touched upon the operational agility.
For ability for you to change sizes.
If we come up with the new size with VMSS Flex,
you can easily change that
without taking down your workload.
You can have a mix of Spot VMS and on-demand VMS together.
So it makes it very easy for you
to manage your infrastructure
and not have the operational overhead
of doing tasks manually.
Let me go into a demo.
And in this demo,
I will show you how easy it is
for you to deploy hundreds of VMs
across availability zones in minutes.
So in this demo,
we'll see how I'm creating a VMSS
with a Flexible orchestration mode
and deploying VMs across availability zones.
So I've prefilled some of the information.
I will select the zones.
So I'm selecting three zones.
I will go to my scaling.
And I will change the number, deploy a hundred VMs.
And I also done is,
I'm deploying this behind a Load Balancer.
Let's go create the scale set.
Validation has passed.
I'm going to click create.
And what's happening in the background is,
that Azure is looking at these artifacts
and it's going to go create the networking artifacts,
and along with that, it's also going to create the compute,
which is the VMs and the VMSS artifacts.
So let's give it a second
for it to create the networking artifacts.
So as you can see my Load Balancer,
my virtual networks, everything is created.
Now, if I go and look at my scale set,
you'll notice that we would have VMs getting
in the creating state.
So if I go look at my virtual machine scale set,
if I hit refresh, I see apptier.
And as you can see
that it's going from zero to a hundred instances.
If I look at the instances,
you'll notice that a hundred of these instances
are in creating state.
Let's go look at one of those instance
while it's getting created.
As you notice that this instance looks
and feel very much like a VM
that you would have manually deployed.
It has all the things available from networking to desk,
for you to configure and change,
however you like it to.
You'll also notice
that this VM is deployed in availability zone two.
If I go back to apptier and select another random VM,
well, this is also an availability set zone two.
Let's go down the list,
select another random one.
This is in availability zone three.
So you see we balanced these VMs across availability zones.
Let me see if the VMs are created, let me refresh.
And then you can see most of my VMs,
97% of them are created
and the rest three will be done fairly soon.
And as you can see, like all of my VMs are created,
and in running state in matter of minutes.
Let me talk about how we are bringing
all of the goodness that Azure has to offer in VMSS Flex.
As I just talked about VMSS Uniform,
which is our current offering in market.
We also have availability sets,
which was used for highly available applications
by construct of deploying VMs in Fault domains.
As you notice, VMSS Flex,
we support most of our general purpose family
and we'll have the specialized families coming soon.
Full instance control for the life cycle management.
With the VMSS Flex, you can control how the VM behaves.
You can manage its life cycle.
Whereas in the VMSS Uniform,
you will not able to get the full flexibility.
Similarly, deploying across three availability zones.
That was something that was not available
in availability sets.
So we're bringing the best out of both of them
into VMSS Flex.
Auto-scaling, assigning a VM to a Fault domain,
which was not available in any of the existing offers.
So we're bringing that in VMSS Flex
and I can go down the list,
but one of the things
that I want you to take away from this is
we are investing heavily in VMSS
and the update for VMSS Flex
to bring the best out of the existing offerings,
and also to bring your workloads
onto the platform
which need high availability and scalability.
Now, let me go into the next demo.
In this demo,
I'll be deploying a VM into an existing scale set,
and I will also specify,
a Fault domain as part of the deployment.
As you see, I have two VMSS.
What I'll be doing is,
I'll be simulating a VM failure in my databasetier,
which is deployed 10 VMs
and is deployed in three Fault domains.
So if I look at the instances,
I have 10 instances.
Now let me go to the VMs
and I'm going to create a VM
and I will associate that VM with the scale set.
So I'm just naming it new VM to FD.
I have the region selected.
I'm selecting Virtual Machine Scale Set.
I will see the databasetier available to me,
cause that's deployed in the same region.
Now you see, I have this new option of Fault domains.
The default right now is assigned automatically.
So for example, my VM field from Fault domain one,
I want to add a VM into Fault domain one.
So I'm going to add it there.
I'm just going to select a key,
that I already had.
And just like that, I'm going to go Review + create,
and I will be deploying this VM into an existing scale set.
The validation is passed.
I'm just going to hit create,
And what's going to happen is,
it's going to create this VM
and it's going to deploy that VM into the scale set
and assign it the Fault domain one that we selected.
We'll let the deployment finish.
Okay, as you can see my VM is deployed.
So I'm going to go click the go-to resource.
And if you look, it is deployed in datatier one
and datatier scale set and Fault domain one.
So it was so easy for me to deploy a VM into a Fault domain,
into an existing scale set from portal.
Here are some of the additional resources
that you can use to learn more about VMSS
and how to get started.
In the end, I really want to thank you,
to spend the time on the session to learn about VMSS.
We are really excited about all the new capabilities
that we're bringing to the market with VMSS Flex,
and we are looking forward to see,
what you will build using VMSS and these new capabilities.
Again, have a great day and thank you.