What is our primary use case?
If you have an application that will probably require a database engine or database solution like SQL, and probably your solution is being deployed within Azure environment, there's no need of creating a new server, probably a server instances, such as a virtual machine within your Azure environment, and then probably install or start installing a new SQL on it.
It is a little bit cumbersome when it comes to manageability. You don't need to, you have to take the headache off yourself because Microsoft has a complete solution already, which is Azure SQL Managed Instance, within the Azure infrastructure, whereby you can deploy your SQL instances and then point your solution to it and then it's scalable.
You can start small and then grow big later. It has a lot of advantages. You don't need to worry about the security, you don't need to worry about the patching. Microsoft does that for you. At the same time, you don't really need to worry about the licensing because for instance, if you have a license assurance, you can bring in your license to that environment to reduce the cost.
I have been working with automated backups in Azure SQL Managed Instance. Once the instance is being provisioned, I immediately enable the backup on it and then I've been using Azure Backup automation for so many years, which covers both Azure virtual machine, SQL instances and some other solutions within the Azure environment. It is a kind of automation that is very easy to use and then it's going to take care of your environment.
Let's say for instance, when it comes to the restore, restoration, probably there's a problem or probably you want to do a kind of restore test. The solution is very, very good. It's capable of doing that because I still remember I've done a lot of restoration within the infrastructure on several occasions. I'm also doing something else too within the environment. I can restore to another geo-location within the Azure environment as well.
Let's say for instance, my infrastructure is being provisioned within the West Europe and I want to do a kind of restoration to another geographical location, I can do that.
I am working with multi-layered security features in the Azure environment. The company has different departments, the infrastructure team, the IT security teams and then the database team itself. We have some set of people that manage the entire database. My own responsibility is to make it available, provision it, make it available, give access to the database guys and their application guys to work with.
When it comes to security, I have my own side of it, while the database guys also have their own side of it, especially when you are talking about the database. It is a shared responsibility. I'm not the only one handling that. We run vulnerability checks on a regular basis, on a quarterly basis, to see if there's anything that we need to probably close within the infrastructure.
What is most valuable?
In terms of capability, Azure SQL Managed Instance is capable of doing so many things. Most especially, even though if your application is sitting on a VM or probably on-prem server. Azure SQL Managed Instance has the capability to be integrated with it.
Let's say for instance, you do want to have an existing application server within on-prem or within an Azure VM, virtual machine server, and you want to integrate it together with Azure SQL Managed Instance, it has the capability to do that for you.
It's one of the major benefits to be precise because for instance, if you have your virtual machine and then you have your SQL installed on it, it means that virtual machine must be patched on a monthly basis. The SQL must be patched on a monthly basis as well. You have to think about the SQL admin database, database admin password, because if that has been compromised, there will be a problem. But if you are using SQL instances within Azure environment, you don't need to bother yourself on that. The access to that environment is going to be a kind of Active Directory access. It is highly secure.
For starting, Azure SQL Managed Instance is a little bit affordable, but at the long run, you pay more. Majorly, I use Active Directory as the access management. I use Active Directory as a security measure. If you don't have Active Directory account, you cannot log in.
Azure SQL Managed Instance does not require any installation. Just provision it. It's an IT service within Azure environment. Azure SQL Managed Instance is very scalable. In terms of stability, Azure SQL Managed Instance is 99.9% stable.
What needs improvement?
The only red flag I could point out is you don't have 100% control of your data. You don't have 100% control of that particular server because it is Microsoft that has access to it. For instance, if you are working with a government organization that doesn't want their data to be resided outside the country, it will not work. You cannot use it because there's no way the data is going to be resided somewhere outside a particular country.
Let's say for instance, I'm having an engagement with a Lagos state government with a particular product that need to be deployed and then I can never propose such kind of environment for them because Lagos state will never allow their data to be resided elsewhere except within their data center. In that case, you can't use it.
Technology evolves every day and then as technology moves, I move as well. Currently, with what I'm seeing on Azure SQL Managed Instance, it's somewhat perfect, but they still need to do more.
But if I'm going to probably figure out what could be the added features within the environment, maybe probably the SA admin should be released to the users within the SQL infrastructure team, SQL team, that is the database team members. Because currently, nobody has access to the SQL admin. The SA admin is one of the greatest accounts. Although Microsoft put a provision for that, your Active Directory account can perform the same function that SA admin can do, because you're not running the SQL within your own VM or physical server. Microsoft controls that. Aside from that, because to me, I don't even see it as a problem because there's a provision for that. In the absence of that SA admin, your Active Directory account can be probably elevated to perform the same function. I don't see anything that's probably against it.
For how long have I used the solution?
I'm still working on Microsoft Azure SQL Managed Instance.
How are customer service and support?
I'm very, very happy with the technical service from Microsoft, but once in a while, you always face some challenges and I believe the challenges are not coming from Microsoft itself. It's always coming from the partner that handles it.
At times, in some cases, if you raise a ticket, the ticket goes to the tech experts. Some of the tech expert guys keep delaying most of those requests. In some cases, I end up resolving the issue myself because you can't wait. Although I've had some complaint with Microsoft when it comes to that. At a point, I don't route my tickets to tech expert anymore.
What was our ROI?
There's always ROI, especially it depends on the use case. There's always a return on investment when it comes to SQL instance within Azure. The reason behind that is that it's very hard for your database to be hacked. You might be probably careless if you are running it within your own infrastructure, maybe probably an attacker comes in and then they jeopardize everything you've been working on.
But for you to have it within Azure environment, because of the security features, because of access, and then access that you have within it, is very hard for external people to come in and then probably tamper with your data. It's highly secure. In terms of security, I give it to it. I can tell you categorically that the ROI, the return on investment is very, very high and it's very commendable.
What other advice do I have?
I'm an integrator. My company consumes the solution within the product.
Integration is quite straightforward. Let's say for instance, within the Azure environment, I have some application being built with Power Apps because my company consumes Power Apps very well. The application teams are the ones using the Power Apps and then the Power Apps is being integrated with Azure SQL Managed Instance.
The integration is very good. There was no problem. They have never complained to me that they have any issue.
My environment is actually a hybrid environment. I have on-prem servers, I have some servers within Azure and then I also have an SQL instances as well being provisioned within the Azure environment. All these database servers communicate within one another and then in terms of replication of data, it's quite good. There is no problem. We are very good. It's fantastic.
The only red flag I could point out is you don't have 100% control of your data. You don't have 100% control of that particular server because it is Microsoft that has access to it. If you are working with a government organization that doesn't want their data to be resided outside the country, it will not work. You cannot use it because there's no way the data is going to be resided somewhere outside a particular country.
Let's say for instance, I'm having an engagement with a Lagos state government with a particular product that needs to be deployed and then I can never propose such kind of environment for them because Lagos state will never allow their data to be resided elsewhere except within their data center. In that case, you can't use it. This is basically the major concern that I see with the product.
I have given this product an overall rating of eight out of ten.