>> I'm excited to talk to you about how you can
make the most of Azure to reduce your Cloud spend.
In today's talk, we will cover three main things.
First, we'll talk about understanding workload requirements.
We understand that every workload is unique.
In this portion, you'll see how you can map the needs
of your workload to the technology offerings that Azure has,
and together, how we can come up with
an optimal solution at the lowest cost.
Next, we'll talk about time horizons.
If you're able to project
the needs of your application, at steady-state,
and you know how long you will need to run that application,
you can cause yourself a lot of
significant savings by projecting
the duration of your applications upfront.
Finally, we'll talk about how you can
leverage your existing on-prem infrastructure investments.
Specifically, in this case,
we're talking about licensing and how you can
leverage that when you deploy into the Azure Cloud.
Azure offers you multiple things to maximize your ROI.
We offer flexible consumption models,
we give you Azure Reservations,
Spot VMs, and prepaid software plans for Linux.
We also offer additional unique benefits for price-performance.
You can leverage your existing Windows Server and SQL Server
licenses with Azure Hybrid Benefits and deploy it in the Cloud.
Last but not the least,
we offer a wide variety of tools that you can
use to monitor and control your Cloud spend.
Let's first look at the computing options that Azure has.
As you can see here,
we have a wide variety of computing options for every workload,
starting from entry level to the most
demanding, high-performance computing applications.
Along the way, we have Virtual Machines that are targeted for
compute-intensive workloads and those
that are targeted for memory-intensive workloads.
For the memory-optimized Virtual Machines,
we have a family called "M-series"
that's ideal for your large memory applications.
They offer terabytes worth of
memory for applications such as SAP HANA.
We also offer a wide variety of GPU accelerated
Virtual Machines that's ideal for
deep learning workloads and visualization workloads.
Last but not least,
we have purpose-built offerings for your bare middle workloads,
such as NetApp and SAP.
For the purposes of this session,
what I've done is,
I've tried to model the set of
applications that you have in an enterprise.
An enterprise doesn't have a single application,
they have different workloads with different needs.
For the purposes of simplicity,
I've assumed that all of these applications are
deployed using a single Virtual Machine type.
Here, I've picked an 8vCPU Virtual Machines
of the D families.
These Virtual Machines, assume are running 24 by 7,
365 days a year.
You'll see as we progress through this session,
how you can layer in some of
the compute optimizations that you see on the screen,
to lower your total costs.
Burstable VMs are ideal for workloads that
do not need the full CPU performance at all times.
Think of an application where
an employee has to check in and check out,
and you're tracking that time.
As you can imagine, check-in and
check-out happens at specific points
during the day and that's when you will see the workload spike.
Burstable VMs are ideal for these types of workloads.
You purchase a VM and you're guaranteed a baseline performance,
when you're using less than the baseline performance,
you actually build credits that you can
later use when the workload spikes.
When the workload spikes,
you're able to burst up to a 100 percent of the vCPU.
We offer a wide range of sizes,
from one virtual CPU, to 20 vCPUs.
So in our application model,
if you replace the web server workload with burstable VMs,
you see a 55 percent drop in cost.
Next, I'd like to talk about Virtual Machine Scale Sets or VMSS.
VMSS is designed to exploit the elasticity of the Cloud.
With VMSS, you can confidently deploy hundreds,
or even thousands of Virtual Machines, in minutes.
VMSS is very well
integrated with the entire Azure technology stack.
Today, I'm going to talk about
the autoscale capabilities and
how you can use autoscale to lower your costs.
With autoscale, you can automatically increase or
decrease the number of VMs that your application needs.
You can create scaling rules based on metrics,
such as CPU load.
We also offer a whole bunch of
other metrics that you can customize autoscale on.
If you need to extend the amount of metrics that you want to use,
you can install diagnostics extension,
and leverage additional metrics if needed.
What you see here is an application that uses 20 VMs and then,
on occasion, it spikes up to 40 VMs.
In the absence of autoscale,
what you'd have done,
you would have provisioned for the peak,
in this case 40 VMs,
which is what we have done when we developed this model.
With autoscale enabled, you use
only the Virtual Machines that you need, when you need it.
In this case, on average,
you end up using 30 VMs.
That results in a savings.
About 25 percent.
Now let's talk about Azure Spot VMs.
Azure Spot Virtual Machines provide you, the customer,
a purchasing option to essentially
buy the unused Azure compute capacity.
With this, you get
deep discounts compared to pay-as-you-go prices.
You also have the ability to cap the price.
With that, you essentially pay
up to the price you agreed to in advance.
Spot VMs also offer you the deployment flexibility to
run interruptible workloads with
either just plain Virtual Machines, or VMSS.
It also offers you unique savings
because you're able to capitalize on
your existing investments with
Azure Hybrid Benefit when you use
Azure Hybrid Benefit to deploy Spot VMs.
In our application, we're using Spot VMs
for the rendering workload portion of the application.
With this, we've modeled a savings of about 60 percent.
With Spot VMs, you can actually get up to 90 percent of savings,
and it depends upon
the VM type and the region in which you deploy.
At any point when Azure needs the spec capacity back,
your VMs will be evicted with notice.
As mentioned earlier, Spot VMs are great for
uninterruptible workloads where job completion time
is not a constraint.
In other words, job completion time is flexible.
It's okay if the job takes a little longer to complete.
There are many scenarios that can take advantage of this,
such as high-performance computing scenarios and visual rendering.
Containers is another great way to lower your costs.
When you convert your applications to be containerized,
you can save costs greatly.
Microservice-based applications are ideal
for container-based technology.
A lot of Azure services offer containers.
AKS, Azure Kubernetes Service
is a managed service for managing containers.
We also offer Azure Container Instances,
which is a serverless offering.
In a traditional virtualized environment,
you have only virtual machines.
With virtual machines, you often end up in
a situation where you have low utilization of container resources.
Now, if you have
a containerized application deployed
in virtual machines as you see here,
you can pack these containers more densely.
When you pack these containers densely,
what happens is you are essentially able to get rid of
the redundant virtual machines that you don't
need anymore, thereby saving costs.
Here, I've taken the applications that can be
containerized that are currently running on 20 virtual machines.
Once they are containerize,
you end up using seven virtual machines.
That's how we've modeled it.
The reason you're able to do that
is because containers are lightweight,
they use resources more effectively,
they can be packed more densely,
and you can get rid of the redundant virtual machines.
With that, you get a 65 percent savings for
the portion of your application that's running using containers.
With our Azure reservations,
you can get significant cost savings up to
72 percent over pay-as-you-go
if you commit up to one or three years.
This reservation discount is applied
automatically and does not impact your running resources.
With Azure reservations, you get budget predictability.
You can pay monthly with no additional fee.
You also get tremendous flexibility and you can
have unlimited exchanges for reservations that you've purchased.
We offer reservations for more than just virtual machines.
In fact, we offer reservations for a total of 19 products.
Now, if you layer in
the Azure Reserved Instance pricing
on the applications that we've modeled so far,
you can see what the savings looks like.
With one year RI pricing,
you get a total savings of 58 percent,
and with three year RI,
you get a total savings of 64 percent.
With Azure Hybrid Benefit,
you can essentially use
your on-premise Window Server licenses and save big on the Cloud.
You only pay for
the base virtual machine server utilization
when you're deployed into the Cloud.
The Datacenter Edition can run in
Azure and on-premises simultaneously.
Last but not least and most important,
is that this offer is unique to Azure,
so you achieve savings on Azure
that are unmatched by other Cloud providers.
If we layer in Azure Hybrid Benefit
into the applications that we have
modeled with a three year RI and Azure Hybrid Benefit layered in,
we see a total savings of 87 percent.
That's 87 percent of the total cost that we modeled.
This is a tremendous amount of savings that you could benefit
from by using all of these options that we have just discussed.
Now, I'm going to hand over to Jag Veerappan who's a Senior PM in
the Azure computer organization who will demo Spot VMs for us.
>> Thanks, Srik. I'll use the next few minutes to give a demo
on how to create spot instances using VM scale set.
In the interest of time,
I've already filled all the needed details in this,
with the exception of Azure Spot instance,
which says ''No'', which is what you will
do when you're creating a pay-as-you-go instance.
Since we're going to demo about spot instances,
I'm going to change this to yes.
What you will notice is
there are two properties that will show up.
One is eviction type,
and two, is eviction policy.
With eviction type, you'll have two choices to do.
One, capacity only, or two, price or capacity.
If you choose capacity only,
in which case the VMs will be evicted only when
the Azure needs the capacity for pay-as-you-go workloads,
and in the back end, we will set
the max price for spot to minus one,
which is up to pay-as-you-go rate.
You also have the option to select price or capacity,
in which case, you will have an additional property that will
show up that says maximum price you want to pay per hour.
You have to enter the price in USD,
and the price has to be greater than what
the Azure Spot price is in this case, 0.04307.
I'm going to set for this demo
the eviction type as price or capacity,
and change the eviction policy to delete.
I'm going to enter a price that is greater
than the existing spot price,
so I'm going to say it's 0.055.
As part of Ignite announcement,
we are excited to share that we will provide pricing history for
up to three months and eviction rate
trailing 28 days in Azure portal to begin with.
You'll be able to click on compare prices in nearby region,
and it'll pop out a blade, as you will see,
since I've selected East US,
it will show the East US,
it will shows the trend of the last three months
of price changes as default,
and it will show me based on my proximity,
the nearest region as East US 2, and Canada Central.
You will also notice that
we will see an eviction rate at the bottom,
which is the trailing 28 days that I mentioned.
When I compare this, I see that in East to West,
I get a much better rate in East US 2,
as well as a lower eviction rate.
I'm going to select that and say ''Okay''.
Now I'm back here. I'm just going to show you two more steps.
I'm going to click on ''Scaling''.
I'm going to go ahead and change this instance down to 10.
I'm also going to go and show in advance that the spot instances,
we already have the allocation policy enabling
scaling beyond 100 instances set to yes,
and the spreading algorithm is set to maximum spread.
Now, I'm going to go ahead and click, ''Review and Create''.
It will go through the validation exercise
before I can go ahead and click on creating the VM.
I'm going to in the meantime,
switch to a VM instance scale set that I've already created,
and in this case, wanting to go through
a few properties that I want to show.
In overview, you will see that I've already
created 10 out of 10 in East US 2,
and the Azure Spot instance is price or capacity.
You can also click on "Instances" and see
that I have all the 10 instances running.
You can go to Properties,
and you'll be able to see that 10 out of 10 has succeeded.
I have the Azure Spot eviction policy as the lead,
and I have the Azure Spot eviction type as price or capacity,
and as it has showed you,
you need to enter a prize, so I've gone ahead and
enter the max price that I'm willing to pay as 0.055.
I want to show you something in addition to that,
which is clicking or scaling.
You'll have the option to go ahead and switch custom autoscale,
select scale to a specific instant count,
and update this to 10, and save this.
What this will do is when you go back to Instances,
you saw that the 10 instances were running,
and in any event that any of the instances get evicted,
the scaling will kick in and it will try to bring
back the VM to maintain the count at 10.
I do want to call out that we have focused
the demo today on scale set only,
but you'll also be able to create
spot instances using single VMs with similar experience.
With that, I'll hand it back to Srik.
Thank you.
>> Thank you Jag for the great demo.
In summary, what we've seen so far is that Azure
offers you a wide range of options to help you reduce your spend.
To take advantage of all of these savings,
there is no substitute for pre-deployment planning
to understand your time horizon needs and your workload needs,
but exploit existing on-prem licensing whenever possible.
Finally, this slide has some resources that you could
leverage to learn more about how you could save costs on Azure.
Thank you, everyone. I hope you enjoyed the session.
[MUSIC]