>> Hi, this is Steve Michelotti
from the Azure Government Engineering Team.
I'm joined here today by Sachin Dubey,
my colleague also from
the Azure Government Engineering Team. Welcome Sachin.
>> Thank you Steve, I'm glad to be back.
>> So, today we're going to talk about MySQL on Azure Government.
So we should probably start out
by talking about- you know we already
have a bunch of database technologies on
Azure Government's server and these type of technologies.
Why do we care about MySQL?
>> This is one of the very old
one and so a lot of people are using it.
It's very powerful, very popular.
A lot of large-scale websites are
using MySQL as their back-end data store.
Today every single application has data and
growing that and this is one of the easiest way to set up,
simple to use,
reliable data relational database
management system which is open source.
A lot of people these days are liking
open-source more and more so we thought of talking about it today.
>> So MySQL has been around for a long time?
>> Absolutely.
>> Has a community where it's beloved by
this community and certainly
we embrace all these open source technologies on Azure.
>> Absolutely. So moving on here, a little bit,
why MySQL, we mentioned a few things here,
easy to use, reliable, simple.
If you watching this video you know what MySQL is.
>> Right. So we've had
this instance where MySQL has been popular with
open source communities certainly but lately we've seen a lot of
popularity in enterprises and government agencies also.
>> Absolutely. Since we are
trying to bring more openness to the way we code stuff.
>> Right.
>> Large diversity in terms of developers,
people have various viewpoints but technology to be used and such,
and this is where this becomes a little more
common for enterprises also to go
after some of these things that many people already
using and are familiar with and MySQL is one of those.
When we talk about MySQL for enterprise applications,
this is where some of these line items
becomes very very critical because if you're running
a mission critical application
that datastore for it has to be highly available,
it has to be secure,
scalable so when new users come in the traffic starts growing,
you should be able to scale up easily.
Backup and restore becomes super
critical for BCDR if your data is not
reproducible and monitoring alerting to top off everything.
If you cannot monitor and alert
properly you won't be able to monitor sorry,
you won't be able to make
your application available and skill efficiently.
And compliance, since we're talking about Azure Government,
compliance is one key pillar of it.
Anything that we run on Azure Government
or for government agencies and customers,
compliance is a key piece of it.
So anytime you talk about open source of
systems for writing your code or for storing your information,
make sure that there is also a checkbox in that compliance piece.
>> So that's an interesting list.
I mean, it's one thing for developers like us
to use MySQL because we know how easy it is
to enable us to run queries and interact with
data but some of this is getting more complex,
it's really more enterprise focused and I don't know,
it's one thing for it to be easy for a developer
but this looks more complicated now.
>> That is true. These line items are not alien.
Most people are familiar with these
but these single items when you
start addressing these they become
a laundry list of items that you need to take care of.
Each one of these items have costs associated with them,
the training or personal and also efforts associated with them.
Your application, the type of application, how large it is,
who your customers are,
are going to determine what
these items are going to cost you in terms of the effort.
That being said, we cannot discount these
even if a simple application that's serving lots of users.
No compliance or edits and security is required.
You still have to make sure it's available
because users are not going to come back to
your website if it's down even for four minutes in some scenarios.
So that said, these are important and we
talked about why people like MySQL is easy to install, configure,
it's simple to use but these tanks will put extra burden on
your IT department to be able to
comply in for your enterprise application.
So how do we solve this thing?
Not every single small team has resources to checkbox
all these items and this is where Azure comes to rescue.
>> Okay.
>> If you are running on Azure,
if you are using it as
your infrastructure running your application,
and in addition to that is Azure database for MySQL.
>> Okay, so it's one thing for me to just spin up
a VM and install MySQL in the VM and I'm going to
use this but what you're talking about here is
Azure database from MySQL
which you can see right here it's fully managed (PaaS) servers.
>> Absolutely. This is fully managed by
Azure platform as a service
offering which takes away
all those maintenance and installation activities from you.
You simply generate one command or go to the portal,
create your database and go after using it.
You do not have to worry about instantiating a new VM,
downloading the bids for MySQL,
installing and configuring them and continue to configure
based on your application needs goals and-.
>> I don't have to worry about patching
the operating system that the MySQL is running on,
Microsoft Cisco is going to handle that for me.
>> Every single benefit of using platform as a service.
>> Okay, great.
>> Security is backed by Azure.
It's available in all of our data centers.
Five Azure Government data centers
so you can use wherever your application is deployed.
Very simple and flexible pricing that's the key item.
Where you'll be transparently knowing how much
your database is costing you and you can scale up,
scale down based on the needs.
So start something simple, small,
if your application starts growing you go to
the database site and pay for it.
>> And what's also interesting I heard you
talk about replication in there.
So, again I'm just likening it back to the scenario
where I as an individual person [inaudible] a VM and
installed MySQL on it but that didn't necessarily give me
automatic replication to other data centers 500 miles away,
but you're saying with Azure database
you do get that type of functionality?
>> One click and you are right.
When we talk about availability there are multiple layers to it,
when you talk about local availability across
the geographies and this is all taken curfew so
if your application needs to replicate
data across multiple miles for
disaster scenarios then you simply
click one button and you have it configured.
Wide support for languages and framework just continues.
Wherever support programming languages and
frameworks you were using previously will continue
to use or there is no changes in how you
interact and use MySQL on Azure.
>> So talk about scaling and costs a little bit more.
So this is really important again I keep going back to
that example of the VM if I realize
that the VMI I installed it on isn't good enough I'm out of
luck but now when I use something like
Azure database it's a managed service.
How does this scaling work?
How can I control my costs?
>> So we will go into little bit on
that in our demo and I'll show you exactly how you can
tweak some of the information configurations on the portal and
change you're costing and it's going to
show you how much so we don't touch base on that.
>> Okay, great.
>> Integrated monitoring and alerting.
It integrates with Azure Monitor which is
central system for monitoring and alerting so
every single resource on Azure that
you monitor using adult monitor this is just one piece of that.
>> It's the first-class citizen on Azure.
>> Exactly. Automatic backups.
You can configure up to 35 days of
backup and make sure your data is being backed up automatically,
point-in-time recovery, and recover if someone
goes and deletes a database you can recover it back.
Without having to create
your own disks and backup mechanism and doing
all those things that traditionally applications and
MySQL is specifically running on iOS has to do.
>> Cool.
>> We talked about Geo-Redundancy
for BCDR and compliance of course.
It's running on Azure Government.
Get all the benefits of compliance.
So let's jump on to the demo and talk about
some of these things we will just mention about.
>> All right, sounds good let's do it.
>> Here I am on my command prompt this is one of
the most efficient way for me to connect
to Azure and interact with Azure resources,
create, modify if I needed to delete some time.
I'm already logged in so I'm simply going to
show some details of my account.
>> So we see the environment name is
Azure US Government just
proving you are logged in Azure Government.
>> Absolutely. This is my subscription and information about it.
What I'm going to do next is issue a simple command to create
a new MySQL database server on Azure Government.
Now just passing on
some basic information there is a resource group there,
name of the server,
location where I want it to be,
admin user account and password.
>> Okay.
>> Don't do passwords like this.
This is just for this exercise here.
>> Or take some for the demo liberties here.
>> Absolutely.
>> All right.
>> Skew name this is where we define
the size of our database server.
So I'm choosing general-purpose
generous and fiber and two cores on
it and we are going to the portal and we'll see how we
can change that as we go and scale.
There are two versions currently supported 5.6 and 5.7.
I am choosing 5.7.
In Geo-Redundant backups we talked about that this is for BCDR,
the backups are going to be automatically
stored in a remote location and
in case the primary data center experiences lengthy outage.
>> Okay, sounds good.
>> What this is doing I'm not going to lie this takes two,
three minutes sometimes so we're going to go
directly back to our portal and
I'm going to show you what I
have recreated and this should be done by-
>> Looking at a database you already have provision.
>> Absolutely.
>> Okay.
>> So here is my database server.
Some basic information about the database server,
server name, admin name,
performance configurations in such that they are
set while creating the database server.
>> All right and these credentials can help us conductive or
using an external tool to connect or something like that?
>> Right. Now I'm going to go back to my MySQL client.
This is running on Ubuntu Linux and I'm
going to connect with the database server that we created.
>> So this time you're not running
the Azure CLI you're running the MySQL CLI.
>> Good point. I just wanted to prove how easy it
is to use several ways to interact with Azure.
This is one of those several ways,
if you are familiar with CLI, use that.
If you're running Linux, go after that.
>> Awesome.
>> Typing in the password that we are connected to it.
Running some simple commands and database,
I'm going to go ahead and try to run
some pre-configured command just to
demonstrate how easy it is for us to interact-
>> With the database.
>> -database got created.
Why don't we go ahead and use the database?
Let's create a table in it.
>> As you created a table called
Inventory with a couple of columns.
>> Yeah.
>> It's like you have some inserts statements coming here.
>> Right, and now we can run some select commands against nervier.
>> Great. Okay.
>> Now, you can integrate this with your application,
if you already have an application that's using MySQL,
On-Prem, or elsewhere, and running on IaaS,
is very easy to migrate.
There are tools available to do the data migration if needed.
Very easy to go after it.
>> Awesome.
>> Now, what we're going to do is,
go back to the portal and look
at some of the properties and settings we talked about earlier,
how do we do high availability?
How we do Geo-Redundancy?
How do we secure our database server here?
Starting with connecting security,
by default, our database server
is behind a firewall, no one can connect it,
I could connect it because I have my IP whitelisted, so secure,
even someone gets your name of
the database server, they won't be able to connect,
unless you explicitly comment,
as an administrator, and allow them to connect.
You can also very easily change
the configuration to have all the Azure services connected,
that's if you decide.
VNET Rules, this allows you to wrap
your database server behind a virtual network.
So, if you have a virtual network,
where all your resources for an application are running,
you put this behind it,
all the resources inside that VNET can access it,
you control access using the firewall,
or network security groups,
and any one of those appliances you're using.
>> So, that might be for like a Private
Intranet Application, for example.
>> Right. But maybe talk about compliance.
These things all come into those conversations,
you don't want to have people
who do not interact with your application,
and having access to these things,
so you can control those who have access to and what.
All these things are being audited and logged automatically,
that the monetary integration we talked about,
so you know who is interacting,
who is opening ports, and such activities.
>> Great.
>> SSL setting is by default enable,
but you can disable it if you so desire.
>> Don't do that in production.
>> Don't do it. Connection strings.
We talked about gender frameworks and languages that can
be used via replication to connect to MySQL.
Do nothing changes here,
It's the same all MySQL just running on Azure,
with all the benefits of platform as a service?
These are the sample, connects and staying,
just copy and paste,
put in your code and good to go.
>> Okay, great.
>> Several properties.
If you are running MySQL,
or have configured MySQL on-prem,
you know how to do the setting.
These normally go into config file,
you dump it on the server,
and make sure that they are replicated across
all your servers and such.
Here, simple, go to portal,
change the settings if you needed to,
if you have multiple database servers running, script it out,
run it against all the database servers,
very easy to control server level properties.
>> It is nice, we can customize this stuff,
and it's so easy to do in the portal,
or as you said, if I don't want to
use the portal, I can script it.
>> True, and this is critical because
many people when start using PaaS service said,
they worry about losing the control, and customizes,
and capabilities of can I stick to that,
if your application is already used to
certain number of connections per second or such,
go ahead and make those settings,
so that application continues to work.
Pricing and tiers.
This is where we were talking about Steve earlier,
how do we control the cost of our database server,
scale up and scale down.
Right now, you can see,
I started with simple two cores where I
can easily change the setting to four cores and save it,
and suddenly I have
more powerful database server, serving my databases.
Costs is reflected here,
you can easily track it,
and this is how much it's going to cost.
You can send it to your business and
estimated, just makes it easier.
This information also goes back to
the Central Cost Management System of Azure.
So, you can visualize this from
your porter and select how much my databases are costing.
>> Right, that makes it easy.
>> Right. There is the setting for Geo-Redundancy options.
This can only be said when you create the database
because it creates resources in different locations,
so you can only do it once, but here also,
you can change your returns and policy for
backups and for point-in-time recovery ends.
>> All right, makes sense.
>> Some other properties,
you can automate the script,
like I had my own script,
but these are general for every single Azure resource,
you cannot do the automation.
We talked about monitoring and
alerting, I don't want to change that.
Go to the "Metrics,"
you can monitor all the vital signs of
the database, the IaaS, CPU,
how it is doing, the number of
requests per second, and all those things,
and based on that, you can further
customize and make it more performant for applications.
>> So that's the integration with
Azure Monitor that you mentioned,
you can customize what you want your alerts to be,
who gets emails and when,
and that's sort of thing. Great.
>> Alerting. This is where you can use
the same information in your Matrix,
CPU utilizes and goes about certain threshold,
you want to get alerted, notified, SMS.
All those capability that we discussed in Azure monitors,
they all apply here.
>> Great, great.
>> So, if you're already using Azure resources and managing them,
this is very simple,
just "Add" this one item in there.
"Server logs," right now,
my database is luckily not being used that much,
but you will see the logs if you had
to ever go and troubleshoot certain things,
you can look for that information.
So, this is all the simple
visualizes and around those properties in size.
All these are accessible and
manageable via the command lines, APIs and such,
you don't have to come to
the portal for doing all these activities,
if you don't want to do it, if you have
multiple databases, scripted, automated.
One last thing I want to discuss was the point-in-time Recovery.
We've mentioned couple of times,
how do we do the backup, and how we restore.
This is very simple, you can restore,
you can choose your restore points,
as simple as that.
>> So, when you're doing your backups, each time you're doing it,
creating a restore point,
and you can come in and back up from any other resource?
>> You don't need to really care about how it's being stored,
Azure is managing all that for you behind the scenes on your path.
>> Right.
>> All right. Cool. All right, well,
this has been a whirlwind tour of
Azure Database for MySQL on Azure Government,
lots of great features for developers as
well as management features for IT pros.
This had been Steve Michelotti with Sachin Dubey,
from the Azure Government Engineering team,
talking about MySQL on Azure Government.
Thanks for watching.