Developer Portals vs CDEs with Coder’s Ben Potter at KubeCon Paris 2024
Developer Portals vs CDEs: Self-serve portals such as Backstage are fantastic for centralizing services, but do not include automation or opinions around “inner loop” development environments. At KubeCon Paris 2024, Mitch Ashley and Ben Potter talk about how CDEs can be integrated into developer portals for a full software development lifecycle.
Transcript
This is Textron tv. Hey everybody. Welcome back here.
We're still at Kon on, uh, I guess, what day is this? I think it's Tuesday. I think it's Wednesday.
I think it's Friday. No, it's one of those days. We're here Coupa first day.
It's Wednesday. Uh, and I'm be very pleased to be joined by someone who's been on Textron TV before. A great guest is, uh, Ben Potter, who is head of, uh, product with Coder.
Welcome Ben. Hey, thanks. I'm excited to be here.
Good to catch up with you again. Thanks for sponsoring the breakfast that we had Tuesday morning. Oh, it was great.
That Was a lot of fun. Yeah. A lot of good people, a lot of good conversations.
Yeah. Um, very good grapefruit juice too. It was good.
The food was good. The venue, you know, kind of a nice start to before we got, you know, the insanity started happening. Right, right.
Yeah. That is, uh, cloud, that is a cloud native con, cube con. Well, for folks that don't know, uh, coder, tell us a little bit about Coder.
Yeah, so coder's a platform for cloud developer environments, so we make it very easy for a developer to click a button, get a cloud instance running, um, on a Kubernetes cluster with all of their tools, um, languages and independencies pre-installed. So a developer doesn't have to go through the process of setting up their laptop. Um, they could even do it all through the, through the web browser, um, and yet still use the editors that they, they like to use to get their work done.
Mm-Hmm, Very good. Well, may, maybe we can contrast with, uh, sort of developer portal. That's one of the popular aspects of, uh, of platform engineering.
Now you can probably imagine a lot of different definitions of what that means. Backstage is a pretty popular one. There are other things, of course, too, in a way I have always kind of envisioned a sort of the shelf of all the tools and templates or guidelines or whatever.
Uh, you might need to kind of build your environment and start becoming a productive, be be productive. But that's still work too, going from there. Even if you've got patterns to work from and code libraries and you still gotta have an environment to put it all together.
I imagine that's part of what you're talking about with a cloud developer environment. Yeah, absolutely. So I, um, yesterday I went to Backstage Con and, um, it was very cool to see how different organizations are creating this kind of one stop shop, um, for developers to get their tools.
And I, I saw it framed in a few different ways. Um, one that really resonated with me was the, the security angle where, um, they essentially said things that developers create and use in Backstage has security included. Developers don't necessarily have to, to think about it.
If you wanna do something outside of Backstage, that's fine, but then you have to think about a lot of these security, um, aspects that um, may, may not necessarily be, be your forte or, or your interests, where Backstage kind of provides security as a, as a platform. Um, yeah, so that's, that's internal developer portals is essentially being able to kind of provide these tools out of the box for you. Um, how that, how A IDP compares to A-A-C-D-E-A-A cloud developer environment, um, is an IDP for the most part, helps with a lot of stuff after developers kind of done writing and committing their code.
Um, maybe it helps with day day zero in terms of getting like a, a scaffolded project set up. Um, but then when a developer actually needs to get into their environment, the tools that they're using are entirely different from the tools that Backstage offers. They're, for example, Python, Docker, Java, and these are all things that developers need to set up.
Um, and those things need to be secured as well. So that's where a, um, CDE comes in, is you can essentially create a, a secure by default developer experience for, for day two onward. Um, so yeah, we essentially, that's how I see those two things kind of playing, playing together.
Cool. Then so, so for a CDE, is it like kinda like having an image of an operating system that you start with? Or is it an automation that builds things with whatever the latest process security tools, configurations?
Is it more dynamic or is it more here's an image you can work with if, I dunno if that's the right term to use. Yeah, yeah. We, we actually have a combination of both.
So when we started, we were only the image, um, which is a, uh, maybe a central platform team, um, kind of secures these images, um, with the tools on it and, and then offers them to developers to use for their, for their workspaces. Um, we still support that and a lot of people are, are doing that. Um, what we're seeing people do on top of this is, um, using the dev container spec on top of secured images for developers to then be able to bring their own tools while still being from a secured source such as an, an artifact manager like, like Artifactory.
Sure, yeah. So that kind of creates this nice hybrid of there's a secured base image by the platform team, but then developer teams can then go in and, and bring their own tools as well. Of course, still coming from a secured source, but where these tools actually belong, we Hope, we hope that Yes.
Yeah. Yeah. Is it also kind of a walled garden, kinda like a sandbox?
So things can't escape or things can't come in that you don't want to? Or is it that tightly buttoned down, or do you have that, that option? Yeah, a a lot of our users do a, um, a, a walled garden approach where artifacts can only be downloaded from Artifactory, for example, um, and not, not the public internet.
Um, and I think the, the benefit to that is you are, you're able to identify problems and security issues while you're developing as opposed to later on in a, in a pipeline. Hmm. Okay.
What, what is, you know, developers are pretty independent folks. Yeah. Like, we like the tools we like, and there's some fun in creating our environments.
Right. So maybe you're, I dunno if giving up is the right word, but what, what's the thing that folks usually have to get used to the most about working in A CDE versus let's say a kind of a DYI approach? Yeah.
And, and it is a trade off. Um, it, it's not a trade off in terms of the editors people are using and their themes and extensions. We, we support all of that, but it isn't kind of a, a, the way you work.
Um, for example, these workspaces are designed to be like ephemeral, um, which is, which is maybe good from a, from a security and a, and a workflow perspective, but it means that the tools that you installed yesterday manually won't be there the next day because the only way to really get these tools in and long term is through, through automation and, and through building these, these images and, and dev containers. So, yeah, a a question we commonly get is, I installed Java in my workspace, and then the next day it wasn't there and it's like, oh, well, let's, let's do this, the, the, the coder way, essentially. Interesting.
One of the things that really resonated when you and I talked previously was we don't work on just one thing. We may work on three applications, but eight environments for each one of 'em, but depending on what's running and what combination of what cloud and Yeah. Stack and all of that kind of thing.
And it can be nearly impossible to keep that up to date, more or less, do a bunch of work and then realize I'm not in the right environment here. That seems to be a big time savings right there. Yeah.
I, I like it because I can, um, I, I don't do development every day, but I can go into, uh, the coder project if I wanted to make a change, and I know that I have all the latest tools in there, and I can context switch from that to maybe doing, doing docs work, maybe to doing like an infrastructure project, all of which I know is using the latest and greatest tools. Um, and, and it just works. I don't have to to worry about old dependencies and, and old installs.
So yeah, for me, the, the kind of project switching has been, has been huge using coder. I, I don't know if we've talked about this yet. How does the, um, you know, we haven't mentioned AI yet, I think that's a record to go this long Yeah.
Without talking about ai and now we're, we're doing much more development not only with a I ml, but with large language models and vector databases and, you know, training models and things like that. How does that change or influence kind of CDE and how you think about it? Is that something we're just starting to kind of explore and figure out, or have you made some progress on that yet?
Yeah, what's cool here is we have users already using coder for AI use cases. So it's not just a buzzword or something that we'd like to see happen, but something that's, that's actually happening. And it was something too that was kind of informed by how our users are using it.
So the, the main one that I think has been extremely like, kind of kind of obvious, but it, it's giving developers access to cloud GPUs. Um, so for people who need to do training, whether it's like a local model, um, or, or with a remote one, you still need GPUs to be able to, to do these things at, at scale, right? And cloud GPUs are very hard to get and the, the, the ML engineers might not want to be the person also fiddling in the cloud and getting the tuning and, and picking the GPUs and getting them to start and to operate.
So being able to use code as a platform to give those developers GPUs directly for that kind of loop development is, is really important. Um, the other one we've seen, again, where customers are actually doing this, um, is just pre-install AI tools in workspaces, whether it's a local model or, um, something like co-pilot, that's an IDE extension, um, but then kind of adds magic in. So the same magic that, oh, I already met automatically have the like right version of Python.
I also have co-pilot, and this is like the default dev experience Mm-Hmm. Essentially, I'm curious, and this may not be part of what Coder does, maybe it is, how, how are PE people thinking about putting the guardrails around co the variations of copilot, uh, copilot for, for doing development with? 'cause now you have kind of an unknown source.
Well, it's, you know, where the source is, but you don't know where all of its sources are coming from necessarily Yeah. To add to your code enhancement, code co-creation. Yeah.
This is something I'm also really interested in as well. Um, a lot of, a lot of the organization we've talked to have actually just rolled out co-pilot and, and use the, the guardrails that maybe Microsoft has in place for that, or, or Azure has in in place for that. But I have a feeling as more and more kind of workloads get on it's, that's not gonna cut it and they're gonna want more auditing and more security controls around it.
Um, the way our products helps with that is we do in, in a small way, and I think as, as we, we learn more from, from our users, we can do more, um, we, it can essentially control and, and create like governance around what, what users can use copilot and, and what can't. Um, both from like a network layer as well as just like a role-based access layer. So, um, you could create like a, a sensitive network that, that only uses local Mile, uh, only uses local models and then copilot ones for more public open source activities.
So that's essentially, again, baking in the best practices from the beginning. Um, maybe more sensitive, use a local model, um, less sensitive use, use copilot. Um, but again, I'm, I'm super interested here 'cause I think we're still very, very early and that's, Yeah.
It seems like we're all kinda learning different parts of that whole ecosystem and how to, how to work with it, how to manage it, how to, where do we need controls, where don't we, Yeah. I mean, I think my answer for you, even a week ago or two weeks ago, it would've been totally different. I I, yeah.
Probably if I would've asked you last time we talked Yeah. Oh, well now here's what we're thinking about. Yeah.
Yeah. Um, so how, how about any announcements? Did you announce some things at the Show?
Yeah, so we recently, um, released our backstage plugin. Um, so I think this is a great way for people who are already using Backstage. It's an ad that zero friction set up for the dev environment.
And it also lets you start kind of introducing and thinking about the tools that developers use on a daily basis when they're writing code, not just when they're deploying code. Again, I think Backstage is a great job with the deploying and, and test and preview aspect of it, but, um, I think integrating a CDE, whether it's coder or whether it's even just a local dev container, which we also made a plugin for really thinking about the tools that developers use every day is, is kind of the next step in, in platform engineering. Very nice.
I'm, I'm curious, you've been at the booth most of the day, I'm guessing, right? Yeah. Like to a lot of people.
What are you hearing from people at, uh, Kup Con? What's kind of, is there some themes of topics or questions that are coming up a A lot about security and a lot about Backstage actually, um, we had, we would demo the backstage plugin and more people would come and be like, oh, is is that backstage? And they're like, maybe we should also just put this up on the monitor so people can kind of see that, that we have this put in a Loop up there so they can see it.
Definitely. At least some of it working. Yeah.
So if you go over the coder booth now, you'll, you'll see that actually up and these guys here Behind the camera do that kind of thing, so it can help you out. I'll bet. Cool.
So security, what do they want to know about security? Yeah, I, I I think there's like two topics. I think supply chain security's still kind of top of mind as well as, um, more and more, and, and this is probably just because we're, we're talking about editors, but more and more about getting source code off of developer laptops.
Um, whether that's moving to something like, like virtual desktop or, um, ideally something that's a little bit snappier and, and faster, like, like a CDE. So those are the kind of two topics I've seen. But again, I think that's because we're in the, in the IDE space, so I'm, I'm sure there's a lot of other security conversations going on.
Well, and it'll be a different set of questions and new AI questions at the next Cube Con or whatever conference. Um, so talk to us about if someone wants to go give coder a try being Cloud-based. I'm sure it's gotta be pretty easy to get into.
com/coder. com. Um, and yeah, if, if you wanted to try the, the backstage plugin as well, um, it's, it's, the first thing on our blog right now is the, the backstage plugin, and it's also in our, in our GitHub.
Okay. Very good. com.
Check out the blog about the backstage announcement. Good. Well hang in there.
Got a few more days to go. Yeah. And We'll, day day two, I guess.
Yeah. You know, It's, it's uh, it's not a sprint, it's a marathon here at these events, I guess, if that applies, but yeah, it's, you know, it, at lunchtime, this place was insane. They started making announcements over the speakers.
I felt like we were in the airport terminal and you know, you, you're like, hold on a second, I can't talk. They're announcements. You know, it, it is just insane.
You're not here. It's crazy. But, um, it's a lot of fun too, and it's great to see people, great to see you in person and Yeah, likewise.
Spend Some more time together. So. Great.
Well, thanks for joining us coming by. Be sure to check out the Backstage Backstage plugin. More importantly, just spend some time with code or get a feel for, you know, cloud development environments and really think about, you know, well, what if I wasn't doing these things?
I'm using this kind of a technology. What's that? How's that gonna help me?
If you're one of those folks that gets to support 25 variations of five different apps, uh, you know, my heart bleeds for you, but this sounds like a good way to, to help you out with that problem too. So thanks, Ben. Yeah.
Good chatting with You. Thank you.