What is our primary use case?
We were looking for a five-part solution that scales well, is fast, and has the ability to be quickly provisioned in the Azure Kubernetes Service (AKS) environment. Our product requires it to be quick because It is a memory database that also has persistence, which has to be real-time.
We are an enterprise performance management (EPM) company. As an 18-year-old company, we have a lot of legacy systems. Around 2011 to 2012, we decided to move to the cloud. We have pretty ambitious plans to lift and shift all of our customers to the cloud. For the past three years, we've been aggressively pushing our cloud offering. It is a fully managed cloud EPM solution that we are providing to our customers. The whole infrastructure, platform, and product are totally managed by us. We are partnering with Microsoft and running it on Microsoft Azure.
We are in the process of modernizing the whole offering and making it cloud native. We've been modernizing for the past year and a half. One of the problems that you need to solve is also storage. This is where we bumped into NetApp. It's not only about compute. It's also about storage and networking. The storage becomes quite an important role.
How has it helped my organization?
We have seen solutions where you need to provision totally new storage, e.g., two terabytes, then reconfigure, shut down everything, reconfigure, and copy data to bigger storage and restart. This requires a lot of manual work, etc. With NetApp, you don't need that. You just do it via the API, and say, "I require an increase." Four terabytes is the smallest pool size, and I can say, "Give me additional terabytes," and it happens immediately.
If you go to our website, you can trial our products by clicking a button. In the past, you would go to the website, click on that button, and fill in a form, then you would get some notification saying, "Thank you for registering. We will let you know as soon as this is over," or something like that. 20 minutes later you get an email saying, "Your environment is ready. Go ahead and try it out." What we managed to get with AKS, and especially with NetApp, is that this is almost a real-time experience. You fill in the form, click on the button, create, and the process takes around 20 seconds. You still get email in the back, but you end up with the trial environment provisioned on-the-fly in real-time. For this use case, this increases the marketing funnel. We get more inquiries and leads through it as the people trying it out are more engaged and do not get bored by waiting.
For example, if you go to Google and search for a product/offering, you find it. You don't want go to their site only to get the message, "I'll let you know when it's done." You want to try it immediately, as you're hooked on it. If you're already in the product, you want try it as a potential customer. You already know with a high probability that, "Yeah, this is the right product for me," or it's not. But, this saves the customer time.
In the past, we would provision for as much as we need or guarantee to a customer. E.g., if a customer said, "Look, I need two terabytes," or he pays for two terabyte of storage, we provisioned two terabyte of storage. Although, he's consuming only fraction of it, we still provisioned and kept that in use. With NetApp, you can do this on-the-fly.
What is most valuable?
Ease of provisioning: It's very easy to consume the product. We are not doing this manually. We are doing this programmatically, but it's very easy and seamless for us to consume it. It's like any other Azure component. It's very good and well-integrated into the ecosystem of Azure. There is tight integration.
We didn't need to learn anything new. It feels like we know everything already, although under the hood, the product is something totally different. However, it seemed very easy for us.
It's elastic, so it scales with our demands. We can start small, then with the addition of customer loads, we can expand on-the-fly without the need to reprovision something.
The performance is quite good, so it's almost on par with the make of SSD storage. It provides a quick, scalable storage solution.
We were looking for a supported solution. We didn't want to experiment. We didn't want to look for open source, though we did look into open source initially before we bumped into NetApp. We figured out that adding yet another unknown into our system was not going to bring us benefit. It would be another problem that we would need to tackle. So, we said, "Okay, let's look for a supported solution," and NetApp was one of them. Then, we turned to NetApp.
What needs improvement?
I have a hunch that storage could be now the most expensive portion of our monthly bill. So I can imagine that, not this year, but next year we will be talking about looking deeper into ways how we can optimize the cost. However, I'm pretty sure with NetApp we nailed the cost thing by literally provisioning only what we need.
For how long have I used the solution?
We started around February to March 2019. It went general availability (GA) only in the summer when it went live. We needed to raise tickets to get it provisioned, as it wasn't globally available. We were one of the early adopters of the technology, but we have never had any issues with it.
It is an Infrastructure as a Service (IaaS) solution. Therefore, I say, "Give me storage," and NetApp provides me storage in Microsoft Azure.
What do I think about the stability of the solution?
We looked for a solution with good performance, and so far, this has kept being constant. We do increase loads over the time, but we haven't had any hiccups or slowdowns. The performance has scaled with the solution and its usage.
What do I think about the scalability of the solution?
NetApp works technically with something called pools. The smallest pool that you can allocate is four terabytes. Then, you can slice off a chunk of data, which is 100 gigabytes, and that is the smallest chunk of data. In our load, we've been slicing and taking those chunks, then once we reach out near the end we just extend the size past the four terabyte thing. I think we have done this numerous times in the past. It's been almost a year since we used it in production. We kept constantly increasing it, so we never needed to decrease anything. We keep adding more customers to it.
How are customer service and technical support?
We are quite savvy on our own. There has been not much to learn. It was very seamless and easy for us to switch to NetApp. Therefore, we didn't even need support from NetApp. The only support we ever asked for was regarding provisioning and that was due to the fact that we didn't have access to it because it was still not generally available. It was still in preview and we were not able to use it everywhere in Azure, only in selected regions and subscriptions. This is why we engaged support. Other than that, we had a couple of calls regarding alignment, but it was nothing technical. We didn't need support because the system was working and still works without issues. It has been very seamless to consume.
We were doing a migration of one of our workloads from legacy to Azure Kubernetes Service (AKS) to manage the Kubernetes offering. In the process, we evaluated different storage solutions. One that popped up in Azure's store preview was from NetApp. Since we have a pretty good connection to the AKS team in Seattle, they said, "Maybe you're looking for something like this. Have a look at the NetApp Files." We tried it, and it was a perfect match.
It's fully supported and fully integrated into the Azure ecosystem. There is an SLA which provides support if something goes wrong
How was the initial setup?
The initial setup was very straightforward because it was integrated into the ecosystem of Azure. It follows the same principles of a native Azure Storage, meeting or exceeding what the underlying Azure services provide. It doesn't change anything in the flow.
What about the implementation team?
We build the product on top of NetApp and other services in Azure, then we sell that product to a customer. The customer is unaware of the underlying technology.
What was our ROI?
Overall, utilization went down to a real usage level with NetApp. That was part of the optimization. Cost probably were high on average, but because the services are more expensive than what we had in the past, everything was leveled.
I think we are breakeven if we look at the solutions from a storage perspective. We are on the same page where we started in terms of costs.
NetApp is part of the puzzle, so it is part of the transformation. It's part of the change that we introduced in the offering. For the service that has been running on NetApp for the past year (since mid-April), we managed to lower that overall service cost by a factor of nine. E.g., it costs $100 per month, now it's $10 to 15 per month. 10 to 15.
What's my experience with pricing, setup cost, and licensing?
NetApp is a premium offering, so it's not a cheap product, but it is well-priced. It combines a couple of properties which customers like us are willing to pay. Could it be cheaper? Yes, but if you combine fully supported, fully managed, easily provisioned, scalable, and quick all in one product, it's a good selling point. You can ask a lot of money for all these. If you have a use case like we do, it's a perfect match. It's like the Porsche of storage solutions in the cloud. It is totally worth the cost.
We have a Cloud Service Provider (CSP) contract with Microsoft.
We are a reseller. Our offering is a all-inclusive one, so it's paid per user per month with a subscription. We have packaging starting from 10 users, then going up to unlimited. We have customers of many different sizes spanning from a small offices of 10 users up to enterprise customers with thousands of users. So, I couldn't tell. It is incorporated, so we don't charge our customers extra for using NetApp.
Which other solutions did I evaluate?
There is a native support in Microsoft Azure Files. They have block storage along with different kinds of storage. Those are either slow to mount,slow to start using, or slow to use. Prior to Azure NetApp Files, all the solutions that we tried didn't deliver all three things we wanted at the same time. Either:
- It would start, quickly provision, but be slow to use and not scale.
- It would scaling well, provision quickly, but be slow to use.
It was always combination of things like that. Azure NetApp Files has a unique ability to behave like a traditional file share. This means it is always present, but it's extremely quick, so throughput is quite good.
Because we are talking about managing customer data, if we have a data loss, while there are some open source solutions out in the wild, who would support those?
We tried an open source contender which is a fairly new offering in the open source world. It's called Rook.io, and it's a controller for Kubernetes and the underlying technology is SaaS. It's a relatively mature open source Linux technology for storage. Rook does the implementation, yet hides the a bit of the complexity of it. At the end of the day, there is no support for it and it does not solve all the problems that NetApp does. We had a couple of hiccups with it early on in the development. While the product has moved and progressed, we haven't revisited it since there was no support for it. Therefore, it was not an option for us.
The dynamic sizing feature saves us a lot of manual work. We know open source solutions like Lustre file system where you need to go into system and reconfigure it. You can do it via API, but it's really manual work that you say, "Okay, I need more," then you wait until it resizes. With NetApp, it's immediate. I don't know how those guys do it. It is really magic.
What other advice do I have?
I would recommend having a look at NetApp.
We tried it and were ecstatic about it, so we found our solution. When we tried Azure NetApp Files, it was like, "Wow." So, we went for it.
It has literally given me peace of mind. I invested a lot of brain energy last year prior to finding NetApp and identifying the right solution for us. Since then, I've forgot about this topic. I literally don't care about it anymore, as it has been working well and was the perfect fit. I didn't even look around.
I would rate the solution as a nine (out of 10).
Which deployment model are you using for this solution?
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?