Hey, friends, did you know that with Azure Database for MySQL Flexible Server,
you can host your MySQL workloads on Azure in a way that is fully managed
but gives you full control and customization
as if you were running in a VM.
I'm going to find out how today on Azure Friday.
[MUSIC]
Hey friends.
I'm Scott Hanselman and it's Azure Friday.
I'm here with Parikshit, who's
going to teach me all about Azure Database for MySQL Flexible Server.
How are you, sir?
I'm doing good, sir.
Thank you for having me here.
Absolutely.
So, you know, I love MySQL and it scales at a level that I never realized.
I thought I was started using it for hobby things,
but it's a wonderful production database and there's wonderful things happening
right now on Azure.
There's an evolution to my school offering, isn't there?
Your spot, sir.
And MySQL is like one of the most popular open source databases out there
and it has a wide variety of use cases from building
an Internet scale web and mobile application to e-commerce, gaming,
and our LAMP stack application, which we are, we're very cool.
So if I was going to get started with this right now, maybe I'm already
using the single server, but there's I maybe I should get off single server.
I understand that some things have changed and that might not be right for me now.
Yes. And let's let me talk more about my journey of my actual on on Azure.
So prior to 2018, the only option for our customers who are migrating or
moving their my skill workloads to Azure was installing my sequel on Azure a VMs.
And in 2018, Microsoft
opened its heart to MySQL with its fully manage
open source database service called, Azure Database for MySQL.
After that,
it has been a rollercoaster ride, constantly learning from our customers,
capturing their feedback and constantly improving our service.
And we are now at the juncture where we have launched a beta version
of the service called Azure.
On Flexible Server.
We have announced the retirement of
are we one version of the service called single server
and we are ready to upgrade our customers to a more scalable performing,
cost efficient and resilient architecture of flexibility over which by the way,
also provides the right control and flexibility to our customers.
So, Scott, with your permission, I would love to kind of demonstrate
some of these capabilities.
And in Flexibles, over to you and our viewers.
Let's do it. I love demos.
Let's let's get started.
So you are in single over.
If you are starting a new project, you will choose a basic,
basic SKU when you're starting a new project.
And if you are kind of
migrating or building a tier one application, like an e-commerce workload,
you will choose are either gender purpose, a memory optimized?
Memory optimized gives you more memory per record, but is limited by the CPU
core count, which is starting to general, but bubbles going to be core.
But then you're limited by memory and it's kind of feels like a compromise
contrast to that inflexible tower you start your journey with multiple.
If you're building a new project which is very affordable,
low cost you.
But if you are migrating or moving your Tier one application
and Internet scale application,
you will choose business critical to you, business critical.
So you can scale up to 96 week or up to 672 GB of memory.
And for that it gives you 48,000 IOPS
Yeah.
Further to that, we have also released Auto scaling of IOPS feature.
By the way, this feature is we
we announced it in preview in October is wildly popular
there a you you don't have to worry about IOPS
and we have seen this in our support packets as well
but customers like 30% of our performance tickets.
And because customers are struggling that what is that light IOPS
they need to provision for their database workload because it's it's difficult
for them to predict at the provisioning that so with our auto skilling of IOPS
they don't have to worry about that and they the server scales
the IO online based on the demand and they pay as they go.
And this letter optimizes the cost for them as well.
You know, what I like about this is just like we said at the beginning,
MySQL is great for hobbyists and it's great for big production business,
critical workflows, and I'm hearing that flexible server is good for me.
As someone doing a small project on the side, I could use a basic,
but someone else could go and do something.
Business critical and MySQL Flexible Server
is going to scale in pricing, performance and memory.
For me, that's accurate that you've articulated so well.
Next, a bit flexible solver, flexible sort of zone
region and zone support zone at H8.
So when you you can turn on high availability mode
which is provision of hot standby and you can for the
for the Azure regions which supports multiple available availability zones,
you can choose zone ready or standby
and that provision is a hot standby
across the zone and
that that gives you four means of hybrid availability.
SLA from from the from the servers.
So once you choose the SKU which are looking for next zone
that entered nature turned on, you can also select the availability zone.
So this is the the controller we were talking about START.
So you can choose the availability zone when you want to place
your primary server and this is needed to reduce the client.
So what are the application database latency?
If that application is on zone one, you want to make sure
your database, primary database is also running on zone one.
And once you choose that further,
you can also choose where you'll stand by seller would be located.
So you can choose whether you want it on zone two or zone three as well.
And once you are ready to
create this out, you will hit, create and one
next.
I wanted to also share with you Now, once
you have a sole provision and high availability going on,
what would be a field or what experience look like?
So I have a single table provision and I have a flexible server provision.
Let me start a script here
now and I'm running a workload, a simple workload.
It's a it's a simple query.
And here we are going to observe the the field or time it takes
if the server goes down either due to blind or an unplanned reason.
In this case, we are going to similar to field already rent
if I So on the left side
I have a blank application connecting to singlets over to my right.
I have the blank application connecting to Flexibles over.
Let's simulate a field where so
I'm doing a restart while the server is running on singlets. Over
on flexible server I am doing something
called as a force spillover
and let's come back
to our application and see how the what is the field of work
by mistake.
So on the flexible over
the failure process has been triggered.
It was quite fast
and the failure time ranges
from somewhere around 10 to 30 or 40 seconds,
and it's actually a function of the workload which you are running.
Okay.
And as as you know, a cloud service has multiple moving parts as well.
So there is a variance out of here, so flexible.
So the order has been completed.
And now on the client side, I would just have retry logic.
Right. And I'll be watching for these.
And in the case on the right hand side, I was only down for some number of seconds
looks like right then that retry logic would pick up.
That's right That's our squadrons so on flexible
so as somebody took around 30 seconds that is on single cell word
this took around 42 seconds now this is just a single
client application workload So you saw a difference
when you have a just a single query at high concurrency,
your feel over time might be much higher and you can see
flexible hour already has 20 to 35% improvement in the field over time.
And that translates into the uptime and availability of your server.
Well, for
a major failure of an entire database to have it come back in
tens of seconds and not tens of minutes, that's just good business.
So that's pretty cool. Yep. Yep. Exactly.
Next, I want to demonstrate some of the control we were talking about as well.
So flexible hour, so unplanned failover again rare event, but it happens.
But line failure.
We have to pass this over pretty much every month to maintain
the compliance requirements we have.
Make sure the bug fixes are in with flexible server.
You can configure the day of the week
and one hour time window for the server
and what is the optimal maintenance time.
And once we are ready to patch, we'll send a five day advance notification.
So you have full control in deciding the time when you want.
You want your server to be batched in single server controls so that
our maintenance windows are 16 hours long
and you cannot configure this setting or server.
We have to patch pretty much the entire Azure region
and that doesn't translate into the control and flexibility
our customers are looking for.
So that that what's flexible to provide to.
I like that it's not just flexible in price and size, it's
flexible in maintenance.
It slightly it's flexible at all in all of the features.
Yeah.
And I want to show one more control and flexibility.
Again, this has
got a lot of customer requests up, then the backups up of them,
you can see the backups
which are being performed on the server if you wanted to is to restore.
You can restore a particular backup and for that you can take on demand backup.
So by default the system is a part of a fully managed service.
The system takes backup and you can do a point in time restore.
But generally for planned events
you are doing application upgrade, scheme upgrades.
You want to take certain backups so you can click on here
backup and you would see the backup timing reflected here.
And if you choose to recolor, you can always do that as well.
So that's another
flexibility feature.
We have.
And now
I want to share with you that how like if you are a single tower
customer and using single tower, how you can migrate to flexible server.
So you can use a service called Azure Data Migration Service.
Within that you can create a project where you can define the source.
It's going to be a single tower target, which can be a flexible tower.
And within that you can have
you can do
multiple points of migration attempts just because unless you were trying
to make shopping to work for you and then you will do a fine so you can do
multiple activities on multiple runs, yet to have already completed one migration,
you have the ability to do offline migration,
which is perfect for small databases, less than 100 to be size about.
You can afford 5 minutes of downtime and the entire database gets migrated.
Or if your native is of more than 100 ruby and offline migrations
you can't afford because you can't afford
long downtime, then online migration is the preferred option.
So I have an online migration running here.
The initial seeding has been completed and what I can see is when I'm ready
to freeload, I would generally want it put the second behind source,
which tells me that and by the way, the second to be
until this is running, since we have this workload still running.
So let me stop the work mode now.
Yes, I've stopped the workload,
so I want to make sure my data
is replicated and refreshed.
Okay, so you're 5
seconds behind in your migration,
but they're mirrored effectively right now.
Right? Exactly. Exactly.
And once you would see that the seconds behind master is zero
and you're ready to do a lot of work, what I would do is
I would start over here,
make sure my all my transactions are stopped, which I have done back here,
and make sure all of the pending
transactions are completed, which means this has to be zero.
And once I'm ready, I can click, confirm and apply and the database would fill over
and make sure your your your you are now ready to migrate
and the database will be migrated to flexible server.
So let me ask you this, though, if you don't mind if I have my existing
single already
and I want to move to Flexible, but maybe I'm worried about missing a feature
or there's something that I enjoy and work with in single.
Yeah, I do.
Thanks for asking that question.
So yes, we are closing that gap that a couple of features but I would link
and also you can read replica but we are closing that gap soon
in next order three months of flexible so what is will be at full parity
with single tower so you would have no missing features
when you migrate to flexible tower all right so I'm going let's go.
I'm going to migrate. I'm going to make it happen.
Awesome, awesome.
So perfect.
I think the viewers can learn more.
I think we have a single stop shop for the viewers
if they want to learn more about my individual offerings on Azure,
aka.ms slash MySQL or MySQL, you hyphen Resources,
that takes you to the link and it has everything
which we believe you may want to know or learn more.
Very cool.
This is great.
Thanks so much for spending time with me today.
Thanks, Scott. Thanks for having me.
I am learning all about the evolution of the MySQL offering 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 retweeted.
Watch more Azure Friday.