 Hello and welcome to this CUBE's presentation of the AWS Industry Technology Partners Showcase. This is season one, episode two, to kick off the series covering the partners from AWS Ecosystem. We're talking about enabling global collaboration in game development. Obviously gaming's huge. We see a lot of activity. Obviously you've got to be coding those games as well. Timelines, CICD Pipelining, all part of the cloud native. I'm John Furrier, your host. And we're joined here by Yigur Navamov, head of TeamCity Growth and Marketing at JetBrains. A lot of developers using that software. Yigur, thanks for coming on the Tech Partner Showcase. Hi John, thanks for having me. Happy to be here. So I want to talk about improving game development velocity through optimizing CICD Pipelines and developer productivity. That's the topic. Obviously game development, similar process. You got to code, you got to write code. Things are changing radically. There's a lot more velocity in terms of expectations. It's hard, like any software. You're dealing with large files. You got a lot of things going on. Take us through the high level points of what's going on in game development right now. The folks out there who are in the trenches, the folks who are trying to figure out the best tooling, best platforms, best use cases, as it's got global teams all around the world working on these things. Take us through the high level points. Yeah, happy to do that. So we at JetBrains are generally focused on providing the best experience for software developers and software development teams. And we see game development as an industry as a very important part of that. For obvious reasons, it's a huge industry, but also it's, as you said, it's in a lot of our hearts that we love gaming ourselves and we love to be helpful to those who develop the games. And as much as it's special, it's the first point is that game developers are software developers. But there are certain specifics to think about. You already mentioned large files. That's one part of that. And this actually stems from the fact that the game development teams, as opposed to some other more classic development teams, they have to work closely with, tightly with teams of artists and game designers and other professionals that are not so commonly seen in some other industries. And that leads to obviously, yeah, artwork being a large part of the pipelines. And that leads to large sizes of repositories, files, projects, which brings additional challenges that I think we'll touch on in our conversation today. There's obviously also a higher reliance on vendor-controlled core software, such as game engines. And now we're in the era of game, of game commercial game engines, such as Unity, Unreal Engine, Godot and some other ones, as opposed to maybe 15 years ago when everyone was building their own game engines. And this brings additional benefits to the game developers, but also obviously some challenges and limitations in the scope of work that they're doing and how they're potentially even limited sometimes by that. And the third point here is, I would mention here that a lot of the release process, and I'd like to talk about the release process because I'm on the team city team and we make it happen for the teams. It is often also dictated and sometimes restricted by third parties, such as publishers, such as hardware and console manufacturers. And this even game development is one of the fewer industries out there that has this real-life physical component of releasing their software on DVD CDs and distributing them through regular stores. Not a lot of industries that still do that, but game development is certainly one of them. And obviously, but the rise of online gaming, massive RPGs, this is not the case, but we still have huge AAA titles that do run on consoles and that do need to deploy that way. So all those challenges and specifics are important to highlight when we talk about game development, but I'm going back to my first point, game development is still software development. That's awesome, absolutely. And a lot of stakeholders, as you pointed out, we're going to unpack that before we get into it, just quickly introduce what team cities is, how that product is, what you're overseeing. That's the key to this, bringing everyone together. What is team cities, team city product? Right, so team city is a continuous integration, continuous delivery platform that allows for building, build, test and release pipelines and automating and orchestrating the whole process of what happens after a developer makes a code change and commits it to a repository. This, depending on what the company is doing, depending on what the team is doing, depending on what we're trying to achieve and the process is in place, team city can be a lot of different things, but generally it's a platform that allows, we're talking about productivity and team velocity today and I like to think of it as a platform that allows to, through improving team productivity, it allows to increase the velocity of the release cycles for the teams. And yeah, we are only talking within the scope of team city, but generally JetBrains provides like everything that JetBrains does, it kind of boils down to improving the productivity and efficiency of a single individual developer and team city brings that to the team level, helping teams deliver value quicker. You brought up earlier about the stakeholders, your art, you know, you brought up, there's a lot of storage probably involved, you have different stakeholders, you got different platforms, a lot of things, a lot of moving parts in the process. Take us through the developer productivity elements here and how that affects the velocity in the game overall and highlight kind of what team city does, because I think this is the key here. It's, I mean, it's self-redevelopment, but imagine the dimensions of stakeholders, almost like 3D chess going on here. It's like a lot of things happening. Take us through those aspects of the moving parts and how that impacts productivity. Yeah, exactly. And I think it's good to start unpacking this from generally what developer productivity is why it's so important. I think the business aspect of it is that it is so important because software development costs as part of the whole budget of a project is estimated to be over 60%, depending on the project size and the project specifics might differ, but generally it's a huge chunk on the whole budget. So improving developer productivity helps either to cut down these costs or to improve efficiency and the amount of value delivered within this budget. And it's not only about business and at JetBrains specifically, we love to think about developer productivity as a way to increase developer happiness. And it's hard to put a specific number on developer happiness, but there's some researchers that state that on a good day, a developer could be up to 49% more productive and produce more value. So I see our mission is to increase the number of those good days in the developer and team lifetime. And generally we go from developer productivity to team productivity, but it's important to know that, understand that tooling is quite important to improving that efficiency. And this is where we come in. We see within the team city scope, we see that the CI city process is sometimes crucial to not only team productivity, but also individual developer efficiency, simply because whenever a developer, even if they're being extremely productive, produce a unit of work and then commit their code change into the repository, then the CI city process kicks in and does the automatic build, it does the automated testing, it does the deployment to a production or staging environment. But ultimately the whole idea of the CI city process to provide feedback to this developer on the change that they have produced. And if this feedback is being provided in not any timely manner, this breaks the whole developer workflow. It makes them switch context and context switching is extremely, extremely damaging to the focus to the developer flow. And thus it leads to a lot of overhead if this context is being broken. So what we focus on is to be able to provide to kind of fix this problem of long feedback times by paralyzing, by providing the value as fast as possible to the developer. And this is by the way, where the whole cloud story comes in because cloud is one of the enablers of how we can improve the speed of this feedback cycle and providing the result of the changes back to the developers in the most efficient manner. And there's a number of approaches here, but. Yeah, let's unpack a little quick. I love the two aspects here. The individual developer productivity in context to the team, by the way, because most, a lot of virtual coding opportunities as well. Again, stakeholders. So you got the developer in context of the team and the group and then the tooling and the platforms. Question for you real quick, if you don't mind me asking since you're here, is there a balance between that where this optimization focus on either side? How do you see that? How do you talk to that piece? Because this context switching point is huge because you have different personalities, maybe different categories of China developers. We got art, you mentioned art people, art folks, different stakeholders. Talk about this context switching dilemma because if that happens, you can see that things slow down, people aren't as productive. Talk about the balance between tooling, optimization. What do you optimize for the most? How's that balance? Take us through the mindset of there. Yeah, I don't think there's any dilemma here. The less context switching, there is the more productive PR as a team and we are as individual developers. And yeah, don't get me wrong. There will always be context switches. This is just a question of how to minimize those. So I think the important factor when we talk about tooling, like continuous integration tooling is to make sure we can reuse large portions of those build pipelines and make sure we don't do unnecessary work. And this is something we focus a lot within the team city scope. We love to reuse what we call build chains, but they're actually like build pipelines. And if something can be, if some components don't need to be rebuilt, re-run and the results of the previous runs could be implemented to fit the existing launch of the pipeline, then we will do that. Another aspect is parallelization. And again, I mentioned that this is where the cloud technologies and the ability to spin up as many compute units as possible comes in because if you're running a set of one hour long, several hundred or thousand tests for whatever build you're running, you can wait for one hour or you can split that in chunks of 10 or six and wait for 10 minutes instead of one hour. And again, the ability to have this almost virtually unlimited compute power to do that is what enables increases the speed of this delivery. I was gonna ask you. Very additional mechanism. Yeah, go ahead. I was gonna ask you what the cloud was as an enabler for game development, team velocity. Is that one, is that the main one? Paralization, is there any other enableence that comes from the cloud? Yeah, so, parallelization is certainly the most visible piece by the end developer, but generally there's also the aspect of having less administration by the IT team, having the more democratized approach to getting access to additional resources. We mentioned artifacts and large files being transferred for game development. And this is also that could be handled with a cloud based artifact storage and storage management solutions. It's not only about storage, it's also about transfer and back in the day, but even still in some of the industries you need to transfer large blocks of data sometimes through physical means, through shipping them with FedEx or DHL, but now there's solutions that obviously help to avoid that. And in addition to that cloud allows us to build more resilient solutions to transfer data and there are options to minimize costs and everything comes down to either additional costs or additional value. And I think sometimes we would like to minimize the cost factor. And actually one thing we do in Team City as an example of this is this is especially relevant and very much appreciated by the remote game development teams that have software development teams in different locations geographically is to minimize costs of transfer of data between different regions, between different AWS regions. We actually implemented a clever mechanism that if there is a request for this artifact or a large file from a different region, we would source it not correctly through S3, but through a cloud from CDN that reduces the cost to the team significantly, keeping the velocity of the products in the same level. That's awesome. The build times aren't compromised, costs are reduced instead of moving all that big data around the regions. Good hack there. Love that, I won't say hack, but good addition. I got to ask you about the platform engineering conversation. That's the hottest conversation we've had in the cloud native community right now. The future of DevOps is a lot of platform engineering. You got to roll the data, you mentioned that. What is the future of DevOps in game development? How do you see the connection? I'll see more and more scale. You got build times, version control, testing simulation, more and more metaverse coming, more and more game engines being embedded into the future user experience and expectations. I mean, I just see this kind of mean center of kind of UI and UX for our future. Exactly, that's a great question. Love to talk about the future of DevOps within the game development scope. And I think there's some more obvious things that are going to happen or already happen, happening such as the continuous integration for games and then if previously game patches and updates were kind of released in larger chunks, now it's a more fluid process and developers can make and deliver changes to production almost in real time. Same goes for infrastructure as code approaches that has also made its way and I don't think it's already the future, it's probably something that's already happened for the most part. I love the idea of thinking of live ops, so something that could be getting more increasingly crucial role within the game development scope. This has to do with post launch updates, improvements and expansions based on player feedback, analytics and some other metrics in essentially real time. And I would also highlight something that might be left out when we talk about DevOps and CI CD, but something that is becoming more and more crucial and just mind blowing to me and that is player driven development. So with platforms like Roblox, it's already happening and the boundary between a developer and a player can sometimes become blurry and I think we'll see more of that and I would love to explore how DevOps practices can actually facilitate this co-creation sort of speak process that allows player generated content to be seamlessly integrated into the same build test release pipelines for the games. The future of speed of thought. I mean, soon we'll be thinking about generative AI. I mean, that's why I want to get to this next question is because I think you beautifully teed that up. The role of generative AI is not just from an observability and optimization standpoint from the platform engineering side, there's an in-game development aspect that could be featured where in real time generating experiences is going to be something that's going to be, it looks pretty obvious to me at least from a gaming standpoint, natural progression. That's going to be really, really hard. How do you see the role of generative AI in the in-game development? So in-game and in-game development. So you've got to develop the game and also in-game development. I can see that being compelling. Yeah, absolutely. I think generative AI has been top of mind for many of us in 2023. And yeah, I was thinking about it in terms of game production and game development. And I think, and we already start seeing first steps, first concepts and first games that are being actually created if not by gen AI, but then with a lot of help from gen AI. And I think this is what we're going to see more and more is that generative AI will augment and extend both the artist side of the team and the engineering side of the team. I don't really believe in it's going to replace any of the team members. It would rather increase that velocity that it would have been speaking about and kind of blur the lines again between the different departments. Like similar to how the availability of cloud technologies and the ability to, you know, spin up resources somewhere remotely at one API call has blurred the line between dev and ops teams. I think we'll see similar effects of the gen AI within the artist developer kind of communication and production. And this will obviously, or not obviously, I think this doesn't necessarily mean that this would lead in terms of production that this would lead to reduction in cost of production because we might not fully understand it yet, but operational costs of AI and generative AI are quite high. So we'll need to take that into account when we incorporate AI powered or AI agents within the game development teams. Yeah. You got chat bots, you got co-pilots, you got predictive, that's the hot areas right now. I can see that's translating over with more features. I got to ask you about this more nerdy stuff around cloud native because when I think about like data and I think about state of data, I think about versions of data, what's real time versus, you know, past real time. So how do you see like the game logic and state play in here? Because now you've got game state, you've got logic, you're going to be in the cloud, you've got microservices, you've got a services model in the cloud. That must give you guys a little bit more visibility into how to use the data better, how to manage the state. What's your, how do you look at those two areas? Yeah, I think that you said it exactly right, there's going to be much more data produced and there's going to be much more data to not just look at, I don't think it will be possible to look at with the human eye, we will actually have to imply a lot of the machine learning algorithms and opportunities to extract insights, extract value out of that data. And I think it has to do, it ties back into the development lifecycle quite nicely and it goes back to that live ops discussion of, can we take live game data or player data or player behavior data and transform that into a product and build that into the build test release and the CI CD pipeline, deliver the value almost instantaneously or at least in a continuous manner. So I think data will play an increasingly important role here from the standpoint of the development lifecycle and this goes into, of course this will also empower the developer by giving them a lot of insight into how their code, how the work value that they're producing is affecting the player. Yeah, I think AI gaming, two hot areas if developers are out there watching, if you're not into it, if I was in my 20s, I'd definitely be doing it, for sure, two hot areas. Igor, I love the conversation. Talk about Team City, JetBrains, what's on the outlook for the product side? You're seeing some growth, you're seeing some traction, a whole nother next generation developers are coming in, you hit on some of the trends around how games are changing inherently, which is awesome. A lot of lines blurring, a lot of stakeholders, a whole nother generation coming, what's the outlook? Oh yeah, it's a very exciting time, I think for all of us, but also from inside the JetBrains, it looks quite exciting. There are a lot of the new products that are being either brought to the market right now or being worked on as we speak. I think one of the harder ones is our AI assistant that is currently available and there's a limited access product within our integrated development environments. You could get access to that. There's also a whole growth of products and solutions that has been developed for the remote development solutions and giving the ability to the developers to connect to a remote environment and get bigger resources above your machine and things like that. There's also a scope of enterprise solutions that we're currently bringing to market that will improve the efficiency of managing your development tooling on the org level. And as for TeamCity, we're currently working on a platform that has a code name of TeamCity Pipelines that will streamline the build test release pipelines for the developers, for the game developers by bringing in built-in intelligence and that would target the, that would have the efficiency and saving costs in the process as the core aspect of the product. So we, yeah, we're looking forward to all new products and improvements that are going to come out really soon. And the game developers are one of our, one of our favorite types of customers simply because they love to push the envelope to the limit and they love to use the most out of there out of our tools and out of all the technologies. So I personally love the game development market before that. Yeah, it's super cool. I wish I was a good gamer. Like I was in the old days. I'm not as fast on my reflexes. Plus I'm a keyboard, but the keyboard's back. But anyway, great to have you on. Final questions to end the segment. You know, with cloud and this next gen, one of the things people always want to know about is what's the heavy lifting that gets abstracted away so that people can focus their creative energy on doing what they love, which is building. What would you say when people ask you what is the big thing that's happening in your world around taking that undifferentiated heavy lifting and making that kind of go away with cloud technologies and the new tech? Yeah, I would say compute. I would say that unlimited parallelization and the lack of necessity to manage so many agents and think about all the compute hardware and that you need to spin up for your workflows. And I think this gives the development teams the almost unparallel ability to run as many build pipelines they'd like and to increase the velocity of their software development almost instantaneously and almost unlimited. So I would say that's the big point from my perspective from within the CI-CD scope of things. So yeah, I love it. Eager, thanks for coming on. Eager Nebemah, head of Team City, Growth and Marketing at JetBrains here on the AWS Technology Partners Showcase. Season one, episode two. Eager, thanks for coming on. I really appreciate your time and for the folks, thanks for watching. See you next time.