Welcome to the Episode 362, part of the continuing series called “Behind the Scenes of the NetApp Tech ONTAP Podcast.”
Did you know that over 3 billion people play video games?
That’s nearly 50% of the world’s population!
And if you’ve ever played a video game (which, statistically, you have), you’ve probably played something that was built using Perforce, which is *the* source code versioning software that nearly all the major game developers use.
With the increase of online gaming and global distribution of game studios, the cloud is becoming a critical component in game development and delivery. As a result, cloud service providers are offering “as a service” products for applications like Perforce, Unreal Engine and more.
Ravi Prakash (rcp@netapp.com, LinkedIn) joins us this week to discuss Perforce and how NetApp ONTAP is enhancing the cloud experience for game developers on-prem and in the cloud.
For more information:
- https://www.perforce.com/
- https://aws.amazon.com/blogs/gametech/centralize-your-game-production-assets-on-aws-with-perforce-helix-core/
- https://d1.awsstatic.com/architecture-diagrams/ArchitectureDiagrams/AWS-distributed-perforce-architecture-ra.pdf?did=wp_card&trk=wp_card
- https://www.perforce.com/sites/default/files/pdfs/whitepaper-helix-core-deploy-aws.pdf
- https://developer.microsoft.com/en-us/games/blog/game-creation-cloud-adoption-and-the-azure-game-dev-vm/
- https://www.perforce.com/sites/default/files/pdfs/technical-guide-azure-best-practices.pdf
Finding the Podcast
You can find this week’s episode here:
I’ve also resurrected the YouTube playlist. You can find this week’s episode here:
You can also find the Tech ONTAP Podcast on:
I also recently got asked how to leverage RSS for the podcast. You can do that here:
http://feeds.soundcloud.com/users/soundcloud:users:164421460/sounds.rss
Transcription
The following transcript was generated using Descript’s speech to text service and then further edited. As it is AI generated, YMMV.
Episode 362: Perforce and NetApp in the Cloud
===
Justin Parisi: This week on the Tech ONTAP podcast, if you’ve ever played a game, you’ve probably played a game that someone has developed with Perforce, and we’re gonna talk about that today and how it’s used in the cloud with Ravi Prakash!
Podcast Intro/Outro: [Intro]
Justin Parisi: Hello and welcome to the Tech ONTAP podcast. My name is Justin Parisi. I’m here in the basement of my house and with me today I have a special guest to talk to us all about some things that we’re doing in the cloud with Perforce. So with us today we have Prakash.
So Ravi, what do you do here at NetApp and how do we reach you?
Ravi Prakash: Sure. I’m called a principal technologist within the public cloud services business unit of NetApp. So I’m a storyteller. I evangelize interesting solutions, connect the dots, tell stories that can excite customers to talk more and go to the next step and say, "Hey, this is interesting. Can you come do a proof of concept and show us a little bit more about what you were talking about.?" So that is what I do. I do sales enablement as well as craft technology solutions around ISV partners. Perforce is one example. You can email me if you wish. My email is rcp, as in Robert, Charlie, Peter at NetApp.com, or you can reach me via LinkedIn. If you do a search for Ravi Prakash, LinkedIn, NetApp, you’ll find me there and you’re welcome to connect.
Justin Parisi: All right, and we’ll include links to that in our blog.
So today we’re here to talk about NetApp and specifically NetApp in the cloud and how we can enable applications like Perforce to operate and function. So first, let’s just cover what Perforce is. So you may have heard the name out there, you may be familiar with what it does, but Ravi, just give me the high level overview of what Perforce is and what it’s used for.
Ravi Prakash: Sure Perfoce, they have a whole bunch of products. The one we are talking about is Helix Code. It is used for version control. So it is version controlled software. It has its own replication technology. It can version things like source code, digital assets, large binary files, all within a single repository.
So in the world of version control, there are different options. There is, for example, AWS Code Commit, which is a managed service. Whereas Helix Core is a very popular version controlled software used by gaming companies, and gaming is a big business today with all these multi-billion dollar acquisitions and many billions of people who are gamers worldwide.
At last count, I remember reading somewhere over 3 billion people on this planet are into gaming, which was quite fascinating if you consider the human population around eight billion.
Justin Parisi: Yeah, I’m actually one of those 3 billion, which is why when I saw this like, oh, that’s really interesting. Cause I know of companies that use this in that industry, but what exactly would a gaming company use that for, and why are they looking at the cloud more often?
Ravi Prakash: So the gaming companies, they typically rely on that gaming engines. So one example is Epic is a company that has a product called Unreal Engine. There is another one called Unity. There is yet another option called Amazon Lumber Yard. But all these gaming companies, they rely on these gaming engines.
And the gaming engines work with version control software like Perforce Helix Core. So that is the tie to
Justin Parisi: And these products, they’re more and more becoming online interactive games. Like you’re not always just offline completing quests. Now you’re interacting with people all over the world, whether it’s playing a first person shooter or an MMO.
So the gaming companies are recognizing that and they’re having to get their development more agile and they have to work faster. So I’m guessing that’s why the cloud is becoming more attractive for them. Is that accurate?
Ravi Prakash: Yes, it is. Like all companies, they’re moving workloads to the cloud, not moving everything, but they’re gradually dipping their toes in the cloud and realizing that there are a lot of benefits to being able to scale up and down, avoid having expensive data center floor tile, cooling costs on premises. So as they move things to the cloud, number of these gaming companies, many of whom are born in the cloud, for them it’s an easy adoption. They say to themselves, we’re already using AWS for a bunch of things or Azure for a bunch of services for our gaming, so why not use version control also on those clouds?
And Perforce is an example of a version controlled software that is self hosted. So you have a couple of choices. You can go to Amazon and say, "Do you have something that is a fully managed, source controlled service for me?" And Amazon will tell you, "Yes, indeed we do. It’s called AWS Code Commit." But if you are a customer who likes using self-hosted version controlled software, and you are already using Perforce on-premises, then you may say, "I like the same look and feel, the same expertise that I have developed on premises. I’d like to use that in the cloud." In which case you could easily run self-hosted Perforce on AWS. So the Helix Core product, for example, they refer to it as P4D. It is available on AWS marketplace. So you can buy from marketplace, do a self-hosted version of it on AWS. This is what one of our key gaming customers have done.
So that is what got us interested as to why they were using it, why didn’t they use AWS’s own version controlled software? Why didn’t they use AWS’s own previously available NFS file systems? Why did they choose NetApp’s Amazon FSx for NetApp ONTAP? So those are all the things that came to mind. So those are the things we can share with you today.
Justin Parisi: And I understand that NetApp also either still uses or has used Perforce in the past. So it’s not necessarily just a gaming thing, right? It’s a software development thing. And a lot of it has to do with being able to have multiple versions of code in case something goes wrong, you can revert back to a previous version.
Ravi Prakash: That’s right. You want to do version control. You want to have contributors syncing their data from their existing tools. So your developers could say, I’m comfortable using Photoshop or Visual Studio, or some other IDE and I want to sync my code directly into Perforce Helix Core, which is possible.
And since Helix Core supports all these things like open source, Git. Git, as you know, is open source DevOps tool for source code management. So developers can use their preferred Git tools without scale and performance issues when they use Perforce in the cloud. So that is one of the reasons customers would, and Perforce as a company says, if you are a large customer of Perforce and you want to deploy Perforce commit servers at a central location, we also have an architecture where you have edge servers in remote location – edge Perfoce servers, and you could have a commit server in a central location. So they have this architecture that can scale to enterprises that have geo distributed locations worldwide. And then they have their own database, which they refer to as db.have. It tracks all the files within a certain workspace. It share when the database tables are shared out, partitioned. The commit server doesn’t have to worry about a huge list, but it can have lists that are specific to a geolocation.
You may ask, what does all this have to do with NetApp and storage in the cloud? When Perforce says to customers, you can use block storage or enterprise grid SAN attached storage for the database, but for your file repository, you can use NAS shares.
So typically we have customers who are deploying this on premises. An example of a customer you’ll see on the net from many years ago, it was Nvidia. They were once the GPU leaders. Today, they’re into way more than GPUs, AI/ML. So this is an example of a customer with Perforce Helix Core on premises with NetApp FAS storage on premises. So the idea of using Perforce with ONTAP-based NetApp storage is not a new idea.
People have seen the value many years ago, way before cloud came into the picture. And now that we have the same ONTAP in AWS, sold and supported by Amazon and called Amazon FSx for NetApp ONTAP, the customers are happy to see the same technology they were using on premises, also available in the cloud. And this gaming company that I was talking about, they’re one such example. For confidential reasons we can’t name them, but suffice it to say they’re a company with over a billion dollars in revenue.
They move their build farm to AWS and they use Perforce Helix Core. So the way they do this is they run the Helix Core software on EC2 virtual machines, and they access volumes on NetApp storage OEMed by Amazon sold and supported by Amazon, which is called Amazon FSx for NetApp ONTAP. So they use the NFS protocol about 90% of the time, and for 10% of the use cases, they use the SMB protocol and they found a lot of value.
Because, I was thinking to myself, Amazon has EFS and EFS provides NFS services, so why would somebody come and use NetApp technology versus EFS? And to me the answer started clicking. When I thought about this a little more, I realized that EFS is wonderful if you are looking for NFS shares. But what happens if you want snapshot?
What happens when you want thin provisioning? You want replication, you want the ability to create space efficient writeable, point in time copies of a storage volume. These are all things you cannot do with EFS alone. You have to use something like NetApp technology, which is Amazon FSx for NetApp ONTAP. So the FlexClone capability, the ONTAP replication, because you could have a customer like this gaming company who says, "I need to have replication between a file system and Amazon FSx for NetApp file system in AWS and another location, or I need to replicate from on premises ONTAP clusters running in our data centers and replicate that into Amazon FSx for NetApp ONTAP in AWS. So this type of replication is something that is unique to ONTAP.
And the beauty is now that Amazon FSx for NetApp ONTAP is sold and supported by Amazon, you have a whole bunch of choices. If you say to yourself, I want to set up this replication. I really like this ONTAP replication, which most of you may know as SnapMirror. I like this ONTAP replication and I wanna set up my destination volumes.
You can do this using Amazon Tools, the Amazon FSx console. AWS CLI, the Amazon FSx API, or you can use the NetApp ONTAP CLI, REST API. So you have a whole bunch of choices. So by having this technology sold and supported by Amazon, you are opening yourself to a whole bunch more choices than you would have previously. And this is just one of the reasons. The FlexClone was one reason, the replication was another reason.
The fact that Amazon FSx for NetApp ONTAP allows you to tier data from the primary storage to capacity pools, this was of interest to this gaming company. So with the tiering, you can tier cold snapshots, you can tier cold data to a capacity tier. And on top of that, they liked the fact that NetApp had technology like Cloud Insights.
Cloud Insights is a SaaS version of what used to be OnCommand Insight, but with way more functionality that is targeted towards people running workloads in the cloud. So you can go to AWS marketplace, you can procure this Cloud Insights and using it, this gaming company was able to get a before, during, and after look, when they moved their data around. This was very valuable to them. So this was one of the many reasons they use NetApp technology in database.
Justin Parisi: Yeah. And there’s plenty of other possibilities as well. I mean, you mentioned FlexClones, but there’s also FlexCache, and that’s for those remote offices that maybe are doing development in other parts of the world that need localized access to that data set that might be hosted in the cloud.
So now you can get closer to the data so that your performance is a bit better.
Ravi Prakash: That’s right. Definitely. I was also wanting to make sure that we don’t leave you with the impression that this is something only gaming specific. Gaming is big business.
As I said, out of 8 billion humans on this planet, 3.2 billion are gamers. This is something that we get from sources like Status Start 2023. If you look at the gaming industry, there is a category called AAA Gaming Studios. 19 of the top 20 AAA gaming studios are using Perforce Helix Core, including a lot of big name customers of Perforce, like Activision, EA, Epic Games, Nintendo, Gearbox software, a whole bunch of them.
It is not unique only to gaming. Perforce is also used as we talked about Nvidia in the chip design world. In EDA, Perforce is very popular. If you look at the automotive industry, companies like Honda, Continental, Daimler, Nissan are all using it. So the point is, this integration that we have proven at a customer in the gaming space is something that you can very easily translate into another vertical market like banking or automotive or EDA chip design. So this is not just gaming specific.
Justin Parisi: Ultimately, we talk about Perforce as an application, but in reality it’s Perforce as a workload.
And these workloads have very similar profiles to other things. You know, software build workloads or high metadata, right? So we handle a lot of other high metadata workloads like EDA, financial processing, healthcare. So this is not unique to Perforce. Perforce is just one of the applications that does a workload, and then that workload is handled by NetApp ONTAP, and that’s really as simple as that.
Ravi Prakash: Very true, very true. In fact, we must ensure that when we talk about DevOps, people who are running cloud native applications in AWS, our integration with ISVs like Perforce is not limited to just Perforce.
I integrated just about every major ISV that you see in the DevOps world. If you look Atlassian, Bitbucket Data Center, we work with that. If you look at AWS Cloud Development Kit or CDK, if you look at their AWS Cloud Formation, we work with it. If you look at companies like CloudBees that are in the Jenkins space, we work with CloudBees, with GitLab, with JFrog Artifactory.
So, you name it, any of these DevOps vendors that are prominent in the public cloud, we have a story with them. We add value to them with our technology.
Justin Parisi: And you mentioned FSx as one of the options here. We also have things like Cloud Volumes Services and Azure NetApp Files. Are you seeing companies going more towards these "as a service" models, or are they sticking with that ability to manage the storage themselves?
Ravi Prakash: It seems to be based on what people are comfortable with. I have seen some very large financial services companies that are running Cloud Volumes ONTAP on Azure. And like a lot of people, I ask myself, why are they using Cloud Volumes ONTAP when there is Azure NetApp Files, which is a first party service sold and supported by Azure.
But there are many reasons people like this self-managed model where they have expertise on-premises developed over 20 years of using ONTAP on-premises. As you know, ONTAP is used by something like 35,000 enterprise customers worldwide. So if you are one of those 35,000 customers with people who are on-premises experts gained over 20 years, those people are very comfortable running Cloud Volumes ONTAP in the public cloud on AWS or Azure.
But there are some who say, I like the managed offering. I’d like one purchase point. I’d like to just go to Amazon and buy everything from Amazon. To those customers, we have Amazon FSx for NetApp. If you are an Azure customer and you are happy buying everything from Microsoft, we also have Azure NetApp Files that you can use with in the cloud.
I would say that today I have not yet seen Azure NetApp files used with Perforce on Azure, but technically I don’t see any reason why it shouldn’t, because if they can use FSxN or Amazon FSx for NetApp ONTAP on AWS, then by the same token, Azure NetApp Files would offer many of the same capabilities.
Justin Parisi: As I mentioned, it’s an application, but really what it comes down to is it’s a workload and there are plenty of other workloads running in Azure NetApp Files that fit a similar profile to a software build workload. Right? So ultimately it comes down to what can the backend storage do and how can it handle these certain workloads.
And as far as Perforce goes, I mean, We’re doing things with EDA in Azure NetApp files that Perforce would fit right into. So I don’t see why there would be any sort of issues going from an Amazon to an Azure NetApp Files outside of your preference. So that said, we do have a multi-cloud story.
So what are you seeing in terms of people wanting to go from one cloud to the other? How are they managing that process?
Ravi Prakash: In terms of cloud, we are seeing a lot of adoption on AWS, obviously, because they’re being pretty much giant in the space and also a lot going on in Azure. I’m seeing a lot of gaming customers who are moving to Azure, and you may ask yourself, why would they do this when they get things like Perforce and AWS Code Commit on AWS?
The reason is Microsoft has come up with something called Azure Game Development virtual machine. It is aimed at developers who say, I want test and build my games. So I want a VM that comes preloaded with tools like Perforce, Incredible, Visual Studio, all these different things. I want the VM already preloaded and that is possible with Azure Game Development virtual machines.
Justin Parisi: Okay, so basically Azure has a gaming desktop as a service, essentially.
Ravi Prakash: Almost. Yes, they have virtual machines that come preloaded, aimed at developers who don’t want the headache of sourcing Unreal Engine and Perforce and Incredible and Visual Studio, and then combining it themselves. They want everything packaged and ready to go.
So it’s almost like a home theater in a box model. So Azure is making a big play in the gaming space with this new type of
Justin Parisi: virtual machine.
Yeah, it makes sense. I mean, you have Xbox right? I’m sure Xbox leverages this sort of thing as well. And, Microsoft has its own gaming history, so it does come into play in these situations.
Ravi Prakash: That’s right. And on Azure, they also offer something for game creators, which is called a free enhanced studio pack on Azure. So what they do, they include Perforce Helix Core, the Helix Swarm product, which is used for code review, the Perforce nSolver project management tool. So they include a whole bunch of Perforce tools into this enhanced studio pack on Azure.
And they make it available to gaming gamers, people who are writing games on Azure. So this is one way that Microsoft is trying to become way more relevant in the gaming space and attract many of these gamers to Azure.
Justin Parisi: So do they also have solutions that incorporate more like DevOps functionality such as containerization or Kubernetes deployments with pods? Are they trying to merge those two worlds in with this, like, for example, having a Perforce pod, or is that something that’s not quite on the horizon yet?
Ravi Prakash: I haven’t seen that yet, but that doesn’t mean anything. It could be just that it’s there and I wasn’t aware of it, but I have not seen it yet.
Justin Parisi: Okay. Now as far as NetApp is concerned and ONTAP, you mentioned several of the features like snapshots and SnapMirror and FlexClone and FlexCache.
You also mentioned Cloud Insights as being a bonus for these customers that are going into the cloud. What other NetApp functionality is out there that people are using, or maybe even ONTAP functionality that people are unaware of being there for the Perforce use case?
Ravi Prakash: I would say it’s pretty much all the ones that you mentioned, the snapshot, the FlexClone, the ability to create writeable, point in time copies of volumes, the replication from on-premises to the cloud, between cloud instances of Amazon FSx for NetApp ONTAP, the tiering to save on total cost of ownership, the Cloud Insights for the observability.
So those are all things that they have used traditionally. Having said, If a customer came to us and said, do you have something more in the cloud? We would definitely point them to some of the cool things we are doing with Spot Ocean CD, with Spot Security, all these different tools like Spot Eco, and Ocean, and things that are relevant to Kubernetes deployments in the public cloud.
So we have a lot more than storage. Gone are the days when customers could look at us and say, ah, this is just a 20 year old storage company. We’re not a 20 year old storage company anymore. Most of our new revenue is coming from DevOps. It’s coming from cloud optimization. It is coming from companies that we traditionally did not sell to.
Customers that are now completely cloud native, that don’t even stomach the idea of having an on-premises data center, they come to us today. Many of these new Spot technologies are where we hit the bullseye with these customers.
Justin Parisi: All right, Ravi, sounds like we got a lot to think about with gaming companies and Perforce and ONTAP in the cloud.
If I wanted to find more information about all this, where would I go?
Ravi Prakash: Sure. If you do a Google search on things like best practices for deploying Helix Core on AWS, you will come across a technical guide from AWS that talks about how you would use AWS storage with Perforce Helix Core. There is another interesting guide from AWS called How to Leverage AWS Version Control.
And there is a third document you could look at called Building Perforce Helix Core on AWS. There is a part one of this document, so these are sources of information on where you can learn about, Perforce Helix Core, and how it’ll perform on AWS. If you are looking for information on Amazon FSx for NetApp ONTAP, that too, is available from Amazon.
If you don’t find what you need, give us a shout. We’ll be happy to point you to the relevant pieces of information. And if you are looking for something on Azure, we can definitely point you to some content that is relevant to Azure, too.
Justin Parisi: All right, excellent. We’ll include all those links in our blog. Again, Ravi, if we wanted to reach you, how do we do that?
Ravi Prakash: Sure. Like I said, you can email me rcp@netapp.com. You can reach out on LinkedIn. So any of these methods work, I’m happy to chat and share new insights on what we are seeing with customers as you call.
Justin Parisi: Awesome. Well, I appreciate it, Ravi. Thanks again and anytime you wanna talk about any of your other solutions out there, feel free to let me know.
All right. That music tells me it’s time to go. If you’d like to get in touch with us, send us an email to podcast@netapp.com or send us a tweet at NetApp. As always, if you’d like to subscribe, find us on iTunes, Spotify, GooglePlay, iHeartRadio, SoundCloud, Stitcher, or via techontappodcast.com. If you liked the show today, leave us a review.
On behalf of the entire Tech ONTAP podcast team, I’d like to thank Ravi Prakash for joining us today. As always, thanks for listening.
Podcast Intro/Outro: [Outro]