How to view MySQL database in windows?
Earlier today at the Microsoft Build 2017 conference in Seattle, Scott Guthrie announced two new offerings to the Azure Database Services Platform, Azure Database for MySQL and Azure Database for PostgreSQL. Today I’ll be talking about our MySQL offering – a little bit about our journey, the architecture and our aspirations for the future. If you’re interested in learning more about our PostgreSQL offering, take a look at Sunil Kamath’s blog post where he talks about what we’ve done for PostgreSQL.
What is Azure Database for MySQL?
Rather than re-stating the details in our marketing page, I want to delve a little deeper on what makes Azure Database for MySQL both a great fit for Azure as a new service, as well as our customers. Up until today, the options to deploy a MySQL database in Azure had been limited to either complex VM deployments where you had to manage the entire stack (usually full LAMP stack), or deploying through one of our partners into their managed service offering. Customers have been telling us for quite some time that these options were not satisfying their needs fully and that they preferred an offering directly from Microsoft with the same level of high-availability, performance scaling and support that is provided by SQL Database today.
That is exactly what we did.
Started over a year ago, the team worked closely with the SQL architects on how we could work together to build a database systems foundation that could scale across SQL, MySQL, PostgreSQL, and who knows – possibly other database engines in the future. Not only did we build both Azure Database for MySQL and PostgreSQL on the solid foundation of the SQL DB service fabric-based architecture, we worked together to extend it giving all services more capabilities with regards to storage options and performance. Through the economy of cloud scale, this investment allows for predictable capacity planning and high instance density enabling us to bring a very elastic pricing model for our customers. More on pricing later.
The above is a snippet from our Build presentation illustrating how Azure Database for MySQL is part of the overall Azure Database Services Platform where shared architecture yields benefits for each service that sits on top of it. Below I’ll go into a little more detail here on the core areas: Trusted, Flexible and Intelligent.
One of the largest value propositions of any managed service is the fact that the infrastructure is managed for you. You don’t have to worry about MySQL server patching, for example. Critical Vulnerabilities (CVE) are unfortunately a necessary event in all software development, and the MySQL community is great about patching CVEs very shortly after discovered. Once a CVE is announced and available, we patch the system for you so you don’t have to worry about it. The same is true for minor version releases of MySQL Community Edition. We update your server for you on the back-end so you don’t have to. What about the need to reboot the server, you ask? That’s the beauty of the highly-available nature of the Azure Database Services Platform, rebooting servers for patches and updates to take effect happen without your applications going offline. How do we do this? Simple, we maintain a replica of your database and when an update is necessary, we spin-up a new database server for you and switch over to the new server on the fly with mere seconds of unavailability, meaning your apps don’t even notice. This of course is also true in the event that your MySQL server experiences a crash, we can recover within seconds.
Backup and restore work in a similar manner, with the ability to fully restore your server or being able to restore to specific points in time in 5 minute intervals for up to 35 days. What’s really cool here is the fact that you don’t have to worry about managing how much storage is necessary to support this, we manage this for you on the back-end and you don’t have to pay for this storage.
Security is an area that Microsoft Azure is particularly strong as a public cloud platform overall providing encryption of your data both at-rest and in-motion. Control access is also implemented allowing you to control the IP addresses that have access to your server through firewall rule management as well as enforcing SSL connections between your server and connecting client applications. Lastly, all of the great native security features that are built-into MySQL as a product are also implemented including user access control so you can create multiple users with different access writes such as read or read-write only, ensuring that you can grant access to specific users for specific needs without compromising your data integrity.
One challenge of bringing an application and associated database to any public cloud platform is sizing the cloud platform’s services for your specific application. Choose the wrong performance option oftentimes results in having to spin-up a new database server and migrating your database and application settings to the new server. With Azure Database for MySQL, we leverage the incredible HA framework to enable on-the-fly scaling, up or down, with no application downtime. Not only does this alleviate the pain from having chosen the wrong performance option for your database, but also applies to workloads that have cyclical spikes in activity. Imagine that you have a marketing promotion that will be run over a weekend or a holiday that is expected to increase your traffic by 300%. You can simply scale-up before the event to handle the traffic during the promotion and then scale-down afterwards to control your costs. Here’s what a couple of our customers have to say about this.
“Using Azure for our websites has made the ability to communicate with parents a non-issue. For example, our staff used to panic about snow days, and now everybody has forgotten that they were ever a problem, because the site stays up. Put simply, it’s a win for us.”
“The biggest benefit of Azure Database for MySQL will be the ability to auto scale and respond to spikes in traffic by temporarily adding more resources, and then bringing them back down when they’re not needed. That’s a big deal for us.”