What is our primary use case?
The primary reason we initially got it was to help us to right-size all of our VMs, to make sure that they were the appropriate size for the amount that they were being used. That was the biggest push to get this, and we implemented it.
We have also discovered that Turbonomic can automatically suspend virtual machines that were on a schedule. For example, in the afternoons and the evenings when a VM wasn't going to be used, it could just be shut down, so that we wouldn't be charged eight to 10 hours of compute time, per machine, that wasn't going to be used at all during that time. That's been pretty useful.
We're also using it to help us determine the reserved instances that we need. We haven't purchased the reserved instances yet but we're using Turbonomic's suggested reserved instance purchasing algorithms to assist us in finding the right balance for the number of RIs that we want to purchase.
How has it helped my organization?
It has provided us with a pretty good deal of savings on the front-end, helping us to correctly size VMs that were over-provisioned. We were paying a lot for VMs that really didn't need to be as big as they were. There has been a pretty drastic decrease in compute and cloud spends, due to either making the changes suggested by Turbonomic, or letting Turbonomic make the changes. That, coupled with using the suspend functionality to suspend machines that are not being used, pulled down our cloud spend a good bit.
The solution also provides a proactive approach to avoiding performance degradation. When you check in daily, it does evaluations on where your VMs and your infrastructure stand on that day. As a VM starts becoming more utilized, it will let you know to start planning on upgrading the machine because it's starting to show some extra usage that may grow beyond its capacity.
What is most valuable?
The right-sizing is the most valuable feature. It constantly lets you know if a machine is being over-utilized or under-utilized, so that you can make it the appropriate size for what you need it for.
It also brings up a list of machines and if something is under-provisioned and needs more compute power it will tell you, "This server needs more compute power, and we suggest you raise it up to this level." It will even automatically do it for you. In Azure, you don't have to actually go into the cloud provider to resize. You can just say, "Apply these resizes," and Turbonomic uses some back-end APIs to make the changes for you.
What needs improvement?
The way they evaluate reserved instances could use some polishing. The people that make decisions on what to buy are a bit confused by how it's laid out. I don't know if that's the fault of Turbonomic, or if that's just the complexity of reserved instances that Microsoft has created. It's not really that confusing for me, but for some people it's a little bit confusing. Trying to explain it to them is a bit tricky as well. We get to a point of impasse where we just accept that they don't really fully understand it, and that I can't fully explain it either. It would help if Turbonomic could simplify it or clarify it, and help non-technical people to understand what's going on and how the reserve instances are being calculated and what they apply to.
For how long have I used the solution?
We've been using Turbonomic for about two-and-a-half years.
What do I think about the stability of the solution?
The stability is good. We've never had any issues with the server running and doing what it's supposed to do. It's never crashed. I've never had an issue bringing up the user interface. Nothing has ever caused any issues.
What do I think about the scalability of the solution?
I think it would scale very well. Our size is in the medium range, but based on the way I see it working, I don't think it matters what size your cloud infrastructure would be. I think it would handle it very well.
In our company, Turbonomic is monitoring pretty much all of our machines in the Azure cloud. If they're in AWS, those are not managed. That's a separate side of the house and they don't want to have their stuff managed by Turbonomic. But we use it to manage everything from size to suspending, for all of our Azure-based machines.
As we move forward, we'll be using it more. We're going to look into using the suspension feature to suspend more VM. As we start getting comfortable with reserved instances, we'll probably use it to help us gauge how many reserved instances we need to buy.
How are customer service and technical support?
I had to use their technical support when I set up the suspensions process. They were good. They did a good job. They got back with me fairly quickly and they were able to walk me through the process of how to configure it. They took the time to explain it very well. They even walked me through the process to make sure I understood how it works. As simple as a suspend of a VM might seem to be, initially, when you look at how it works in Turbonomic, it's not super-simple.
Which solution did I use previously and why did I switch?
We didn't have a solution in place at all.
How was the initial setup?
I was working for the company when they implemented Turbonomic but I wasn't part of the project that implemented it. I have since taken over one of the primary roles in utilizing it and we've deployed an updated version of it. I have a co-manager who uses it as well, on the same level as me. We back each other up on it.
That's something where there is room for improvement: upgrades. We have deployed the newer version, version 8 of Turbonomic. The problem is that there is no way to upgrade between major Turbonomic versions. You can upgrade minor versions without a problem, but when you go from version 6 to version 7, or version 7 to version 8, you basically have to deploy it new and let it start gathering data again. That is a problem because all of the data, all of the savings calculations that had been done on the old version, are gone. There's no way to keep track of your lifetime savings across versions.
Maybe there's a way that they can go and retrieve those specific bits of data, but so far I haven't seen how that happens. I would like to see them make major version upgrades work, first of all, because you can't currently upgrade to a major version. You have to deploy it to a new server. But at the very least, if we have to deploy it to a new server, give us a way to pull in that lifetime savings information, and track the information they've built up. We've had the same one for almost two years and it would be nice to keep all that tracking information for future reference.
What's my experience with pricing, setup cost, and licensing?
I'm not involved in any of the billing, but my understanding is that is fairly expensive.
It would be great if the price of the solution would scale with the amount of money that you are saving in the cloud. If the solution itself cost, say, $300,000 over the course of three years, it should be saving you $750,000 in cloud spend. They should make it worth it. At this point, I don't think there's any built-in tool to show you if the price that you're paying for Turbonomic is worth the cost savings that you're getting from it.
Or maybe the licensing and pricing could be done in tiers. If you had 100 virtual machines in the cloud, they would sell you licensing for 100 machines, and then 500, and then 1000. It would help if they did it in tiers so that you're not paying a massive amount of money for Turbonomic as a whole, and not saving as much as you were hoping.
What other advice do I have?
I don't think Turbonomic provides you with a single platform that manages the full application stack. It manages a lot of the infrastructure stuff, Layer 1 through Layer 3 of the OSI model. It's mostly focused on infrastructure and making sure your infrastructure isn't over-provisioned. I wouldn't say it could all the way through the application.
Optimizing application performance on a continuous process is beyond the scope of a human to be able to do on a consistent basis. In other words, if you have 20 virtual machines, it's reasonable that a human could watch the utilization and determine size changes as needed, but if you're getting into hundreds of virtual machines, it becomes a task that's beyond the ability of a person to do by himself. It's a question of scale. As you get into hundreds of VMs, it becomes too tedious to keep track of and it becomes very time-consuming as well. Having said that, we don't use Turbonomic for that. We don't use it to manage any applications. We only use it to manage virtual machines.
We have only just started using containers. We haven't gotten into letting Turbonomic manage those containers. That's the only other thing that we would probably use it for at this point: managing the containerization. We use it right now for just cloud. We're pretty solid on on-prem because we've been doing a lot of migration of our on-prem stuff to the cloud. So we actually have a lot of compute resources available on-prem and we're not really worried about running into any resource issues.
Before Turbonomic, there was no person or group of people managing those aspects of our environment that it manages for us, but if there had been then, obviously, it would have reflected time savings at this point.
Which deployment model are you using for this solution?
Which version of this solution are you currently using?