Azure SQL Database – The Intelligent Cloud Database for App Developers

Speaker: Alain Lissoir

When you move to the cloud, you give away some control. In exchange for that control, you are expecting it to be fast, cheap, reliable, secure. Microsoft is up to the challenge to meet these requirements. Running things in the cloud, you count on Microsoft to do the work.  Microsoft is taking care of millions of databases in Azure SQL DB. Microsoft also provides value. Through the telemetry that is collected, Microsoft can advise you to make your experience better.

With management comes responsibility. You have the burden. Some people just want a database.

Azure offers a lot of databases. If you have a need for a database, you not only can create SQL but also MongoDB, MySql, Oracle and so on. You can create those databases as it fits. You have a logical server and a database. Logical server because it is not physical. You specify to which logical server you want to attach the database. Where to group all your databases together. You have the database by just a few clicks. You specify the server, the size, define the number of DTU (hardware is irrelevant).

The intelligent cloud database for app developers to maximize app performance, optimize costs and secure data. We have telemetry, data science and big data. We have advisors that give you recommendations based on the data.

Maximize performance

If you have a performance problem, you start debugging to find and fix the underlying problem. MIt requires significant expertise to understand and master but most DB users are developers, not DBAs. Azure provides recommendations because it looks at the queries and activities from the backend. The service does all the heavy lifting. You are free to accept these recommendations or ignore them. You can set it to automatically apply the recommendations. This needs to be an ongoing process and the service can automatically do this. You can rely on Azure to tell give you performance recommendations.

You used to buy the big box and work with it for 3 years. With Azure you can scale. You can start with a P1 and grow or you can start with P15 and go down to 0, it’s up to you to choose for the perf you want. Try to find the right spot from price and perf point of view. That is the beauty of the cloud, this elasticity.

Once you start running, the advice starts coming. It is not a random activity, Azure looks at things over time. After a few days you start seeing some advice coming based on the load. At the end of the day the system is recommending you an it is up to you to decide.

When you accept the advice, the monitoring doesn’t stop there. Azure monitors 24/7 if the advice makes sense so if the change is If it’s regression, then it is taken away. These advisors are looking at the telemetry and at what you do. The measuring and data points in the cloud are the same in SQL 2016. Instrumentation is the same, the machinery parsing this data in the cloud is not available in SQL 2016.

Optimize costs

Great apps still need to be cost effective. You also receive advices for the costs. You can buy standalone databases or you can buy pools. For example, some vendors are providing solutions for tax returns. They create one database per customer but those databases are not busy all the time. The database has to perform well when the users use the app. It has to be adapted for the peaks. You can group these databases to be cost effective with the Elastic Database Pools. You can define min and max DTUs per second per DB. It’s a shared pool. You pay for the pool and not for the single database. Some databases may not be active so you get a recommendation to group them together into a pool to save the cost. You need to have some activity at the beginning but after some time the system will tell you how to optimize it, usually after 48 hours.

You can decide which pool size you want, in G and DTU, within the pool you can decide how much you can cap the database. You can decide to give more DTUs to some customers so they can get more power and have a better experience. That is an efficient way to manage your pool.

You can optimize your application to reduce costs with Query Performance Insights to easily find the bad queries and get recommendations from the advisors.

When you are in the cloud, you try, learn and adapt. You set a point, you run, you get advises, you adapt. You can scale on the fly. If you don’t use it, you park it in the pool but suddenly if you need it, it has to work.

Secure data

No organization is immune to data breaches. The cloud is also helping you there. Azure has the telemetry and thread detection. Azure has data science that is measuring the norm and you are informed when something goes wrong. Azure does the monitoring for you. Azure monitors the data, collects the data, processes the data and tell you. This is cloud-only. It’s as simple as enabling Auditing and Thread Detection in Azure Portal. If something is happening, Azure will send you an email and you can look at the audit trail. You get Encryption, Dynamic Data Masking (e.g. credit card number masked when querying the data). You get advice what kind of mask you need for your data and it is up to you to decide to take this proposal and define masking rules that obfuscate sensitive data in query results. You have the Azure Security Center.

You buy a box, all the advises are not counted against the resources that you are buying. You just benefit from it by using the cloud.

Azure meets the Security Regulatory Requirements.

Azure gives you smart personalized advises about your database. The cloud is aimed to provide this intelligence. You can maximize your performance and optimize your costs.