What is our primary use case?
The .NET applications use SQL Servers on a very large scale. Basically, about 80% or 90% of the database platform is on SQL Server.
We are working on version 2019, but we are also now working on the cloud databases. Our goal is to stay away from versions. We are going to go version-less and move to Azure SQL or managed instance, which is version-less. This way we won't need to worry about any upgrades or any version changes because Microsoft is going to take care of these things. We will always have the latest and greatest version.
What is most valuable?
It is a pretty good solution. The on-premise version 2019 has many features, and they had introduced a really good and stable environment in version 2019. It has very good integration with big data clusters and other things. It covers pretty much everything that you can do with a SQL server. You can use any language to connect to it, which is not there in other solutions. They have also introduced Python, and it also has ArcScale.
PaaS is a modern, scalable database. You can use Power Automate and a lot of features in this. It is very easy, and you don't have to worry about versions and upgrades.
Microsoft keeps on adding new features to this solution. Microsoft is improving its connectivity on an ongoing basis. It connects well with Office 365. If you see something not working, in a couple of weeks, it is going to work because there is a team working on it. You can vote for the things that are missing, and Microsoft can work on them depending on the product that they're launching.
What needs improvement?
There are a lot of improvements in the cloud space about which we open a case with Microsoft every now and then. These improvements are not in terms of features or functionality. They are more related to their own compatibility or connectivity on which they keep on working to improve the product.
For how long have I used the solution?
I have been using this solution for 13 to 14 years.
What do I think about the stability of the solution?
In version 2019, they introduced a really good and stable environment. Bugs are there, but bug fixes are provided by Microsoft. We have premium support with Microsoft. If we find a bug, they work on it and provide a solution.
What do I think about the scalability of the solution?
It is very scalable, but its scalability also depends on what you're using. If it is on-premise, you have to do everything on your own to scale it out. It is easy, but you have to get the infrastructure ready to scale it out. It is a manual process. If you're on a cloud, then it is pretty much easy and straightforward if your cloud has those availabilities. It also has a Hyperscale, where you can put the upper and lower limit, and it can scale up and down as per the use case and the compute that you need.
We have a lot of users. Everyone is connected to this. We have business users, technical users, application users, and integration users. We have 17,000 instances of SQL Server here with a lot of databases.
How are customer service and technical support?
We use Microsoft's Premium Support. They're good. I would rate them an eight out of ten. For on-premise, you design your infrastructure. When you change something or customize a few things, it is hard to get support because the issue can be from either side. When you have a critical issue, which is not straightforward, you have to go between two different vendors, and they start finger-pointing to each other. They say that the issue is not at their end, and there is nothing wrong with their configuration. The issue is because of storage or network. These are the few things for which you have to fight for support. I don't know how they will improve this. It only happens sometimes for an on-premise solution. We don't run into those issues on the cloud because it is their own setup.
A cloud solution is pretty much on their site. They are managing the infrastructure, so they have to provide the solution, and they are good at it, but when you have on-premise, you decide what storage to use. Sometimes, you ignore Microsoft's recommendation, and you don't want to use what they are suggesting. When we run into issues on the DB side or the application side, they can point out to different vendors or causes for issues.
Which solution did I use previously and why did I switch?
We also have Oracle, Db2, and MongoDB databases here. We also have some NoSQL apps, but comparatively, SQL Server has a bigger footprint, and it is better than the others.
Other systems are more complex to configure. When you configure a cluster on the SQL itself, it is easy to configure because you've got more resources, whereas, when you have to configure Oracle or Db2, you have to have a SPEC process because they have to configure that on Red Hat Linux or Unix side. A few companies don't have special admins for Linux because the footprint is not that big. You might have two or three applications running on that system. When you run into a problem, you need to hire someone who can implement it for you, whereas most of the companies, almost 80%, are Microsoft shops. They already have the talent and resources available. You also have offline help and support. You have a lot of blogs or online help available when it comes to Microsoft, but when you go to other solutions like Oracle, sometimes it is a challenge. You really need the right person there, and not everyone will be able to do it.
The capability of a solution also depends on your needs and configuration. If you configure things wrong, any system will fail. When I'm testing something, I always believe in the functionality because Microsoft and Oracle test their products thoroughly. I never question their functionality, but we also check it according to our plan. You have to customize things based on your needs. If you're not getting the results, you have to consult the tech support and bring them in to configure it. These are the things that you run into when you are in your own data center. If you are not getting the throughput from the storage itself, you need to get the storage admin or storage vendor in there. When you move to the cloud, everything is taken care of.
How was the initial setup?
It is straightforward. There is no complexity. It is all automated, and we do un-attended install. We are not sitting and doing it. We just include it with the server build itself. When the server is built, we provide them the un-attended scripts to run, and everything is configured. They can use the media provided by Microsoft. Everything is done in one step. We just need to do auditing. We need to check at the right place, and we just keep checking it.
What's my experience with pricing, setup cost, and licensing?
Cost is a major derivative for any organization. It has a reasonable cost value, and its cloud support is also better than others. Comparatively, Oracle can do the same things or is even better in certain areas, but it is expensive. The cost along with the support are the plus factors for SQL Server.
What other advice do I have?
You need to know the concepts and the business logic before using this solution. It is not straightforward. You need to know what your application needs are and only then you can work on it. You also need to know about the product and how it works.
I would probably advise others to move to the cloud version, which is a modern database. If you want to use SQL Server, Azure is the best because you get the hybrid benefits. You can bring your own license, and you can save costs. You can save 55% of the cost. With AWS, you have to buy your license, which makes it expensive. If you are using SQL Server and your company is more on the Microsoft side, Azure is easier, and there is no change in it. You can also get more out of it. You don't have to put a lot of complexity in supporting or administrating it because Microsoft does that for you behind the scenes. Therefore, it is good to move to Azure SQL or to manage instances where you have more control. Both of these are PaaS solutions. There is no need to go into IES. It is better to stay on-premise than on IES because it creates more complexity. This is because you still have to build the servers, and you have to still manage them. If your application is compatible to be used with PostgreSQL or MySQL, you can also move there.
It also depends on the kind of talent you have in your company. You have to consider the talent that you have. You can choose other technologies, but you need support from your teams. If they're .NET developers and you have to build the knowledge base, it is smoother to stay with SQL Server because you have to change less on the coding side.
I would rate SQL Server a ten out of ten.
Which deployment model are you using for this solution?
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Which version of this solution are you currently using?