What is our primary use case?
We ran testing for Microsoft SQL and MySQL. For Microsoft SQL, the test case was to do multiple database schema deployments on a single host. Then we had single database schemas on multiple hosts, and we also tested high availability clusters for Microsoft SQL on four host nodes.
How has it helped my organization?
The performance and flexibility of non-Nutanix workloads are quite good because from a working perspective or a load perspective, scaling of the system is very straightforward. Since we're running the hosts on the normal Nutanix infrastructure, we were able to scale the loads according to what we need and it's really easy to scale up or down as needed.
The big advantage that we found was because we run development processes as well, we can actually generate development, testing, and production databases on the fly without us influencing production. This is one of the big time-saves because, in the past, you would normally have to take a backup of production, sanitize the data, then put it on a test machine. This is something that Nutanix Era makes very simple to do.
This solution has helped to save us on Tier 1 storage, which is important to us because we do a lot of systems in-house. Storage clusters are quite heavily used and they have a large footprint. Being able to save storage space for non-production tasks is significant because, for testing, we have a group of five testers working there. On dev, we have two or three developers that would work there constantly. Saving on that storage means that we can grow our production environments more effectively because we don't have to pay for test and dev storage separately. This means that the cost of ownership is a lot less, which saves us on having to purchase more storage as the system starts crowding.
If you think about it, if we run dev, test, and production all with production data, because that's what they need to do the development and testing on, we would need three times the data every time we deploy it. If the system then grows to two terabytes, that's six terabytes that we have to pay for. With Nutanix, we basically save four terabytes, which is a lot of money.
We have been able to simplify database deployment across multiple database engines. We tested with MySQL and Microsoft SQL. With MySQL, you can also use the APIs to automate that type of deployment. We have not tested the Oracle or the PostgreSQL deployment engines since we don't have those. However, with respect to the two that we tested, it simplifies them both to a large extent.
Using this solution has made the task of cloning databases much simpler and much faster. Previously, it would take us two to two and a half hours to do a clone or a snapshot. Now it's five, six minutes. It's a lot of time that we save.
We have tested the backup and in-place restore of databases but we haven't finally signed off. Once we complete the pilot, we hope to sign off on those. What we did see is that the way Nutanix Era works with the Microsoft backup system is much easier, and it appears to be more stable. This is mainly because on the Microsoft backup side, if you have a load issue, your backups will normally fail. With Nutanix Era, the backup system sits separately from the performance of the database. This means that even if you have a load issue on the data database system, the backups will still go through. Specifically, this is because Era backs up from the storage device and not from the Microsoft database. It is very technical, but as I understand it, the backup will still go through, even if the database is under strain.
We expect that once this system is in production, it will reduce downtime. One of the main selling points for us was that it will reduce update and patching downtime because it manages those updates and patches internally. Even if you deploy Microsoft SQL patches, you can manage and maintain them from the Prism interface, which should reduce downtime. They save the users downtime, and we haven't actually seen that yet, but we expect the pilot will show us that.
We tested the ability to make multiple backups per day and assess the impact that it would have on our workloads. In fact, we were able to make differential backups continuously without affecting the performance of the database engine. We were also able to schedule the backups at different times to make full backups and we couldn't see any impact or load on the database performance while we were doing this.
This will definitely help to limit data loss because we can use a continuous differential backup. We should not see any data loss as long as there's no data corruption. But if there's data corruption, and we can pinpoint the point in time, we should be able to go back to that point.
The ability to do this is very important for us. We have a series of data profiles that we have databases for. We are a university and our systems include everything from financial systems right through to medical systems that they use for the academic hospitals and the veterinary hospital.
When it comes to data management, I can see how Era will help to reduce the time spent on operational database workloads. Since we haven't used it in production for an extended period, I can't really say how much time we've actually saved. During the PoC, we only played around with it and we set up the scheduled tasks that we normally do manually.
Since we can automate a lot of things, we can skip it and schedule it. This should replace a lot of our off-hours work such as patching, upgrades, and similar tasks that can be scheduled so that the reboots can happen automatically. We don't have to sit there and babysit the whole time.
This product has helped us to reduce our database footprint because it gives us the ability to deploy Microsoft SQL instances as MySQL instances on the same host, without actually having to reconfigure or do anything. This means that we can consolidate our database service.
We can also scale them the way we need them and we can, if we really want to, move away from the one database per server type of instances that we have now into a more economical database model where we have multiple database instances on a single host, which does reduce our footprint quite a lot.
At this time, when we provision a database, we do so for a specific server. We assign the memory, CPU, and storage for that specific machine. For about 50% of the lifetime of that database, those resources are never actually utilized, whereas with Era, we can provision those as instances on the same host, and we can scale the host to cater to all of those. This gives us the opportunity to better manage how many resources are sitting idle because we can ramp them up and scale them back as needed, which will save in the long run.
More generally, using this solution will definitely improve the service delivery for our department within the organization. It's going to make it possible for us to cater to more user-centric services and needs. Because of the time-saving and the resource-saving, we'll be able to provide our users with a bigger variety of database services that they might require.
What is most valuable?
One feature that is very good is the backup and validation process that's built into Era. It saves a lot of time and gives you some kind of assurance that when you actually pull a backup, it is done correctly and you will be able to restore it. In other backup systems, because they are not database-aware, that validation process is not as easy because you have to actually restore the backup to see that it worked. With Era, it actually validates on the fly so you know you'll be able to restore.
The deployment process is a lot easier, due to the fact that with Era you can actually script a deployment. If you have a lot of deployments of the same type, say for instance you have a user request coming in to say they need a basic database schema, you can just run that as a deploy script and it automatically sets up everything. It takes about five minutes and the users have access to their database. In the past, we had to go through a whole setup and deployment process, which for us, took about half a day. That's a lot of time that we save.
Setting up a development test and production environment is quite easy and it saves a lot of storage because the dev and test databases are non-data clones of production, where only the changes are saved. For example, if you have a two-terabyte production database then it saves a lot of space because you don't have to have a two-terabyte test database as well.
What needs improvement?
If there were data integration services included with the platform then it would be interesting, and it would help us a lot.
For how long have I used the solution?
We completed a short PoC using Nutanix Era last year to see if we want to do a pilot. We haven't actually implemented it yet, and we're in the process of organizing the pilot program. In total, we used it for about three months.
What do I think about the stability of the solution?
The stability of our PoC system was very good, but as we were only four people working on it and benchmarking it, there were not a lot of connection issues. I think the first thing we would want to do during the pilot is to simulate application connections and see how well it takes it. When you get that scenario of an application having database runaway connections, kind of simulate that and see how it handles it. But for the PoC, no stability issues whatsoever.
What do I think about the scalability of the solution?
At the moment, we're waiting for approval so nobody is using the solution. However, if we go for the final implementation, the plan is to have two permanent Microsoft SQL DBAs, and then have an automation system that does most of the provisioning.
The DBAs will be there for monitoring and optimization purposes, but we intend to have the provisioning system fully automated so that users can request short-term or long-term data storage as they require. That will be provisioned automatically from our ticketing system.
I think the only limiting factor on scalability is licensing. Licensing costs will be the main scalability problem. If you have a large environment already licensed, scaling the resource allocation according to your performance needs is very easy.
How are customer service and technical support?
We didn't make a lot of use of the technical support after the initial setup, so I can't offer too much about our experience. However, what I can say is the solutions architect was very good, very well informed, and able to return answers to our queries within a few minutes.
Which solution did I use previously and why did I switch?
Prior to using Nutanix Era, we used VMware to create a service, and then we used to deploy by installing a SQL server.
How was the initial setup?
Our PoC was deployed on the Nutanix hosting cluster.
If you have experience as a DBA, the setup is very straightforward. If you haven't had any database administration experience before, this is definitely going to be easier than doing it from scratch on your own, thanks to all of the guidelines that they add for you. My database set up in Era is mid-tier. It's not as complex as doing it from scratch on your own, and for a DBA, it makes it a lot easier.
Our initial setup for the different scenarios took us about two days, and that was rolling out 14 databases on nine servers. The implementation strategy for the PoC was basically to first set up all the server hosts that we would need with the different resources, and then deploy using the Era tools for each one of the different scenarios.
I think the only reason that we took two and a half days to do it was so that we could get used to how Era does it. In the final part of the PoC, we were able to remove and redeploy database engines in 15 minutes at the most, and that was for the availability group. There were a few niggles that you have to overcome with availability groups, which Nutanix makes easier, but doesn't completely take away.
What about the implementation team?
We had our Microsoft team involved, which was four Microsoft DBAs. However, if Era is fully up and running for our environment, one person should be enough because most of the time, it's just going to be someone to approve. We're not going to need an entire team. This means it will be one person to maintain, without a lot of overhead.
Initially, we had help from one of the Era solution architects, just to help us get to know the Era system. After the third day, once we understood how the process flow works, we didn't need any third-party intervention at all.
What was our ROI?
We do expect a return on investment, mainly on the number of people we would need and the number of man-hours that we currently spend, on which we're going to save. Because we are an educational institution we're nonprofit. We are able to provide services but we don't actually ask our users for any money. This means that the return on investment calculations will probably include things like support for research outputs and support for dynamic user requests. But from a costing perspective, it is going to be a little bit difficult to do that.
Currently, we're supposed to have eight people with the number of databases we're running. I think that our team of four people will be able to handle this, plus their other duties. Ultimately, we will not need to utilize the remaining four FTE. It's pretty substantial when you add it up if you look at what a SQL DBA costs these days.
What's my experience with pricing, setup cost, and licensing?
We have yet to implement our pilot program and we're waiting for Nutanix to come back with the pilot quotation for costing.
Licensing costs will be the main scalability problem. If we need to start adding resources in terms of hardware then it's easy but adding software licenses normally causes a problem for us, so it is not as straightforward.
I don't expect that there will be any costs in addition to this because most of our hosting for the Nutanix system is done on-site. Furthermore, we're not going to use a hybridized Nutanix Era implementation. Other than for per-CPU licenses, I don't see any additional costs.
Which other solutions did I evaluate?
We did not evaluate any competing products. We had done an evaluation of Nutanix for our hyper-converged infrastructure and this suggestion for Era came from them.
The one thing that drew us to Era is the constant improvement cycle that they have with the different database vendors, where they do implement best practices as the database vendors change requirements and change their architectures. Since we started with the POC, we started with Microsoft SQL 2016. We also moved over to Microsoft SQL 2019 during the POC and for both of those cases, they were able to actually help us with implementing best practices according to Microsoft for both of those engines, which do differ quite a lot. The 2016 version has certain prerequisites and storage requirements that 2019 changed to an extent.
For example, in 2016, Microsoft requires that you have a TempDB storage drive dedicated to the TempDB space. In 2019, they changed the requirement to say you should not have more than four TempDB files per drive to ensure that you have enough IOP. It is helpful that both of those scenarios were catered to by Era internally already.
What other advice do I have?
During our PoC, we did the technical side of testing Nutanix, and we did some benchmarking on the performance, but we didn't really get into the performance optimization monitoring and tuning of the databases. Assessing and optimizing database performance is one of the reasons that we plan to do the pilot project.
The delay was that we couldn't put our actual production systems online during the PoC because it's a bit difficult to intermix PoC with production. The plan is that when we go into the pilot, we will select better production databases that fit the different use cases, and then we will do the performance tuning and see how those tools help us.
The one thing that I'm uncertain about that might be important would be the monitoring and performance tuning capabilities. Since we do have a lot of other tools and experience with that, we might find that Era doesn't quite cater the same way, or we might find it actually does better. I'm not sure at this point.
The biggest lesson that we've learned is that being able to automate almost 90% of the provisioning process is something that we never thought would be possible, mainly because there are so many different nuanced things that you have to do when you provision the database server. We tried to do manual scripting with PowerShell, which didn't always go as planned. But with the provisioning scripting that Era gives us, we finally have an option for a tool that will automate a lot of the stuff that we do, which means that in turn, we can focus on the important things.
The one piece of advice I would give for anybody who is considering this product is to look at your data storage profile, and see how many different database vendors and database engines you use. If it's anything more than one then definitely, go for Era. It makes life for managing these different types of database engines a lot simpler.
Because I haven't been using Era for at least a year, I don't really know if there are any issues that we haven't seen that might pop up. So far, everything looks good, but over time, little niggles may appear. Considering this, I cannot say that it's a perfect solution at this point.
I would rate this solution an eight 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?