1
00:00:00,000 --> 00:00:04,660
Hey, everyone. This week, we've got another in the series of, I don't know, platform engineering

2
00:00:04,660 --> 00:00:08,900
talks. This one is with a couple of people from the front side who have been doing a lot of work

3
00:00:08,900 --> 00:00:13,640
around Backstage, helping large organizations customize it and integrate it with what they're

4
00:00:13,640 --> 00:00:18,480
doing. Now, before we get to it, I didn't fiddle around with my stuff enough, and I recorded off

5
00:00:18,480 --> 00:00:23,020
the microphone on my laptop. So that's why it sounds like I'm in some sort of different environment.

6
00:00:23,520 --> 00:00:27,760
But whatever, it's fine. I don't think I do too much talking in this as much as I usually do.

7
00:00:27,960 --> 00:00:32,840
So maybe it's not that big of a deal. Now, I've been collecting together a lot of stuff relevant

8
00:00:32,840 --> 00:00:38,560
to platform engineering and other things on my website. If you go to cote.io slash platform,

9
00:00:39,020 --> 00:00:42,600
you can find talks that I've done there, papers that I'm always referencing, some other things

10
00:00:42,600 --> 00:00:46,900
like that. If you find anything relevant, you should send it to me, and I'll try to put it up

11
00:00:46,900 --> 00:00:51,300
there. But that's a good place to go to check out more. And of course, you can always go to

12
00:00:51,300 --> 00:00:56,320
tanzutalk.com to find the show notes for this episode, videos that we do, all sorts of things,

13
00:00:56,320 --> 00:01:00,200
and be sure to subscribe to it. Now with that, let's get right into the interview.

14
00:01:00,200 --> 00:01:07,220
All right. Well, today, I have one of my oldest friends here, and one of his co-workers who

15
00:01:07,220 --> 00:01:13,020
recently talked at BackstageCon. Now, do you camel case that? Do you uppercase the B,

16
00:01:13,740 --> 00:01:17,080
the S, obviously the C, or do you lowercase the S?

17
00:01:18,080 --> 00:01:21,240
Lowercase the S. Yeah, lowercase the S. It's all one word.

18
00:01:21,960 --> 00:01:25,360
Like, isn't that impossible to resist, uppercasing the S?

19
00:01:26,580 --> 00:01:31,340
I think it's a matter of intonation. Like, if you're talking about, you know, you're at,

20
00:01:31,460 --> 00:01:35,060
I don't know, Pick Your Poison, you're at a Pink Floyd concert, and you're like,

21
00:01:35,120 --> 00:01:36,060
we're going to go backstage!

22
00:01:38,000 --> 00:01:38,320
Yes.

23
00:01:39,000 --> 00:01:43,460
With that one, you would capitalize the S. But if you're, you know, you're saying there's

24
00:01:43,460 --> 00:01:50,180
a lot going on backstage, then you would do that. So it's, you know, just depends on how

25
00:01:50,180 --> 00:01:55,480
you are excited you are in the moment. I suppose backstage, the software can get pretty exciting

26
00:01:55,480 --> 00:01:59,640
at times. And in that case, you'd want to camel case it.

27
00:02:01,120 --> 00:02:05,540
Our bigger issue is that we are called Frontside, our company is called Frontside, and when people

28
00:02:05,540 --> 00:02:12,860
talk about Frontside and backstage, they end up saying backside and frontstage. So there's

29
00:02:12,860 --> 00:02:14,240
that whole thing that happens.

30
00:02:15,280 --> 00:02:22,460
I have often reflected that it's sort of a delightfully ironic name for the company,

31
00:02:22,760 --> 00:02:25,180
given that you work on the backstage stuff now.

32
00:02:25,480 --> 00:02:32,580
But anyways, so why don't y'all introduce yourself? Let's go in alphabetical order.

33
00:02:34,460 --> 00:02:35,800
I guess that would be me.

34
00:02:36,220 --> 00:02:37,360
That's right. Good job.

35
00:02:38,300 --> 00:02:41,860
So, well, I think so. It depends on if we're going first name or last name.

36
00:02:43,400 --> 00:02:49,960
But, okay, my name is Charles Lowell. I'm the CTO of Frontside. Frontside actually refers

37
00:02:49,960 --> 00:02:56,440
to the experience of any particular given software. So, you experience everything from what you

38
00:02:56,440 --> 00:03:01,320
can see right in front of you. And so whether we're doing user experience or whether we're

39
00:03:01,320 --> 00:03:06,060
working on back-end systems, the way that we're going to approach it is from the front side.

40
00:03:06,060 --> 00:03:24,940
So there's the etymology of the company. And so even from that sense, it does accord with backstage and the things that we're trying to do in backstage, which is focus on the user experience, not only working with it, but what it's like to use it.

41
00:03:28,380 --> 00:03:45,300
Hi, I'm Taras Minkowski. I'm the CEO of Frontside. And Frontside, so Charles is the founder, sets the spiritual and the inspirational lighthouse for us.

42
00:03:45,820 --> 00:03:55,900
And so, but Frontside as a company, what we do is provide backstage support and we're a professional, backstage professional services partner.

43
00:03:56,800 --> 00:04:16,320
So we help companies adapt backstage. And a lot of our approaches are very much inspired by Charles's view and it's very developer experience centric and we bring a lot of that developer experience focus to the conversations around supporting backstage and growing developer portals.

44
00:04:16,320 --> 00:04:24,120
And then, and then, so, so how did, how did y'all, I mean, what, so, so walk us through, and by us, I guess, I mean, me like through like, how did, how did you end up doing this?

45
00:04:24,120 --> 00:04:29,360
Cause you know, uh, I've known Charles a long time and the front side has done all sorts of things over the years.

46
00:04:29,360 --> 00:04:35,580
So at some point y'all must've been like, we're going to do this backstage stuff. Like how, how did, how did that come about?

47
00:04:36,660 --> 00:04:49,500
Yeah. It's, we had a client who, we still have a client, we actually, we work with them that, uh, that needed to develop a developer portal and, uh, we've always been, uh, developer experience centric.

48
00:04:49,980 --> 00:05:00,020
Um, and then when we started talking to them about creating develop, uh, develop, uh, create, creating a developer portal, we were talking about a lot of things that backstage had, but I didn't even know that backstage existed.

49
00:05:00,020 --> 00:05:06,440
So someone actually within the, within the organization mentioned backstage and we looked at backstage.

50
00:05:06,440 --> 00:05:13,540
We're like, yes, we should do this because, uh, one of the biggest problems with a lot of portals is that they never get enough attention.

51
00:05:13,940 --> 00:05:23,780
Every portal is, is just enough, um, was invested, invested into it to make it work, but not enough to make it good.

52
00:05:24,480 --> 00:05:27,140
And that's the underlying problem with a lot of develop portals.

53
00:05:27,140 --> 00:05:40,140
So having essentially a framework that is available and is iterated independently, so you can then just use it to create a developer experience you want was very appealing and it's paid off.

54
00:05:42,020 --> 00:05:56,820
And, and then, so, so like, okay, I mean, you, you, you, you, you've, uh, you've hit on it there a little bit, but what, what is like with the, with the, that initial, you know, client and the ones that you have now, like what, what are they doing with backstage?

55
00:05:56,980 --> 00:06:04,660
Like what are the needs they have for, I don't know, an internal development portal beyond like a wiki page or, or whatever.

56
00:06:04,660 --> 00:06:18,420
Like, and, and, and because that, like, it's, there's a lot more going on than just like a static set of pages that one might call in the old days, knowledge management and, and like, you know, project status, things like that.

57
00:06:18,420 --> 00:06:24,420
And so like, there's something, there's something that what hasn't been satisfied that backstage is kind of filling in there.

58
00:06:24,580 --> 00:06:29,620
That's always hard for me to, as I'm doing here, talk about concisely or describe.

59
00:06:30,220 --> 00:06:44,660
Yeah, I think there is some, um, um, so if we look at the history of, of, of backstage to Spotify, like it originally emerged as a tool to help streamline certain processes and it's grown from there.

60
00:06:44,660 --> 00:06:56,780
And I think a lot of, uh, because, because, because of Spotify kind of engineering organization in their organization, it was very natural for developers to own their, like developer experience.

61
00:06:56,940 --> 00:07:14,640
So, so backstage internally, um, is a combination, I think they have something like 40 different teams contributing to backstage where each team, um, is using a kind of like putty, you know, they all add their little bits to make their, to, to add the pieces that they need.

62
00:07:14,660 --> 00:07:23,540
They need to improve their, you know, so they, they, people within Spotify, they all go to backstage to, to, uh, basically do anything.

63
00:07:23,540 --> 00:07:32,080
Like you essentially can't do, you can't get work done without going to Spotify, without going to backstage at Spotify, because everything that you need to, to be productive is there.

64
00:07:32,860 --> 00:07:36,880
Um, and, and over time from that, like there's emerged kind of patterns.

65
00:07:36,880 --> 00:07:41,240
So like the software catalog is, is a pattern that is, is now represented by plugin.

66
00:07:41,580 --> 00:07:53,440
So it's a, it's a tool that organizations can use to, um, allow developers to control metadata for, uh, different, uh, assets within their organization.

67
00:07:53,780 --> 00:08:05,260
So, and for those assets, you know, typically are like, you know, you might have a service or you might have, um, libraries or, uh, or components that are, that are, that you share across the organization.

68
00:08:05,580 --> 00:08:11,100
So develop, so the catalog gives developers control over metadata about those things.

69
00:08:11,360 --> 00:08:17,480
And from, from that metadata, you then create the actual user experience that you see in the, in the backstage portal.

70
00:08:18,240 --> 00:08:25,840
Yeah, I think it's, it's an, it's an important way to strike the proper trade-off between distribution and centralization.

71
00:08:25,840 --> 00:08:46,340
You know, I think, you know, the, the pendulum always swings in between those two poles where you have a very centralized system where, uh, of, of software development, um, and deployment, where you kind of hand things off to, to, uh, you know, your deployment team or whatever.

72
00:08:46,340 --> 00:08:48,240
That was kind of the old school way of doing it.

73
00:08:48,840 --> 00:09:02,940
And then, you know, the, the, the revolution that's been happening for a while now is giving agency to the individual developers to, to manage their own deployments and manage their own services and break things apart.

74
00:09:02,940 --> 00:09:09,480
And, and, but the problem is it can be difficult to share knowledge, uh, between those, those different things.

75
00:09:09,480 --> 00:09:20,820
So if I, if I'm an organization and I've got a hundred different services and I've got each one of those services is deployed in five different environments, you've got this fractal complexity that could emerge.

76
00:09:21,180 --> 00:09:27,080
Um, and so it's a way of kind of, as I see it, reining that in and almost inverting control.

77
00:09:27,760 --> 00:09:42,980
Uh, so what's interesting is that rather than being a portal that you maintain, the individual process, uh, the individual projects can give information about themselves and then backstage can, can pull that in.

78
00:09:42,980 --> 00:10:01,080
And so if you're familiar with the CI CD model, it would be kind of the difference between old school Jenkins and a system like circle CI or Travis, where, um, you know, in, in, uh, the, the old school CI, you kind of had a central management, uh, of, of the CI processes.

79
00:10:01,080 --> 00:10:12,120
Whereas kind of the key innovation of those distributed CI models was you provided the general infrastructure, but each product could just kind of plug in and say, this is how you build me.

80
00:10:12,380 --> 00:10:13,680
This is how you distribute me.

81
00:10:13,800 --> 00:10:17,400
And then it, it, uh, it carries away.

82
00:10:17,500 --> 00:10:20,060
So I think the inversion of control is an important aspect of it.

83
00:10:20,920 --> 00:10:30,040
So, so I, I mean, I mean, to, to, to, to crudify it, so to speak, basically like we need one UI for all the development we're doing in this organization.

84
00:10:30,280 --> 00:10:37,060
And, and, and you could call it a console, hence, hence one of my favorite words ever portal, uh, you know, the, the, the place that we go to do that.

85
00:10:37,060 --> 00:10:57,780
And the opposite of having one UI would be, uh, worst case scenario, like every single team, however, whatever a team is defined, whether it's like component or product or geography, every team basically just has like their own way of like writing up and adding the metadata about their projects.

86
00:10:58,480 --> 00:11:02,980
And, and you just have to figure that out team by team.

87
00:11:02,980 --> 00:11:03,280
Right.

88
00:11:03,560 --> 00:11:23,360
And then, and then, but then the part that, that, that, that y'all, y'all are talking about that's in there as well is, and then in addition to that, the way that, uh, each, the developers on each team, like are interacting with the whole, I don't, for lack of a better phrase, like just the software delivery process.

89
00:11:23,820 --> 00:11:27,320
There's basically a standardization of that as well, right?

90
00:11:27,320 --> 00:11:27,840
Right.

91
00:11:27,840 --> 00:11:38,020
Like in, in this kind of the same way that if you do like an inverted, like CICD pipeline, there, there is like a, there's a specification of how you're going to be doing builds.

92
00:11:38,020 --> 00:11:41,020
Now, like everyone can't just come up with their own way of doing it.

93
00:11:41,020 --> 00:11:53,020
So you really like, you're getting, you're standardizing how software is done, not, not at the, the coding level, but how you package it up and move it along towards production essentially.

94
00:11:53,020 --> 00:12:11,020
And, and everything else that's involved that yeah, it's a combination of giving developers, um, what they need to be productive at the stage that they're at, because for some, for some developers in the organization, being productive means give me a really good starting point.

95
00:12:11,020 --> 00:12:14,020
Because I don't know what are all the pieces that I need to use, right?

96
00:12:14,020 --> 00:12:21,020
So, so having a place to start, so like, um, having all of your resources aggregated in a single place.

97
00:12:21,020 --> 00:12:33,020
So when I go and look, I could find everything, but then also being able to use a, an existing template to create like a new react app or create a new service that automatically deploys, uh, using best practices on our platform.

98
00:12:33,020 --> 00:12:42,020
So for, for someone who is not familiar with the ecosystem within the organization, having a starting point is really helpful.

99
00:12:42,020 --> 00:12:54,020
But for someone who is, has a lot of experience, the flip side of that is being able to be able to adjust that, uh, uh, that experience to match their understanding.

100
00:12:54,020 --> 00:13:05,020
Like if they need something new and they want to be able to like, they already know everything that's available, but they realize that it could be better having the ability to change it will be able to contribute upstream.

101
00:13:05,020 --> 00:13:14,020
So that's the, that's the other, that's the other aspect of the developer experience using a portal that's now happening as a result of, of backstage being adopted.

102
00:13:14,020 --> 00:13:21,020
There's this inner source practice that's being cultivated where it's being built, uh, starting with a developer portal.

103
00:13:21,020 --> 00:13:22,020
Yeah.

104
00:13:22,020 --> 00:13:45,020
I mean, I mean, you're that, that, that, that, that part's interesting in, in the, the way of, uh, I don't even know what the phrases for this are, but you know, usually, uh, in, in like a large organization, you get all your enterprise architects and governance people together and they define what the, the software delivery factory or process is like, you know, we've got all these stages and these documents you have to fill out.

105
00:13:45,020 --> 00:13:57,020
So, and to some extent, like if you were to take the maximum idea of whatever it is we're talking about here, you could kind of like start to program that more than it have a, be a bunch of like word documents or Google documents or whatever.

106
00:13:57,020 --> 00:14:12,020
And, and like, so the role of whoever's specifying how software is done in an organization is more to say, uh, it's going back to your thing Charles, like here, here's like the, the execution pipeline that's going to happen.

107
00:14:12,020 --> 00:14:18,020
And here's like the little plugins that you have to add in that describe your product every year, your software.

108
00:14:18,020 --> 00:14:19,020
And then you can do whatever else.

109
00:14:19,020 --> 00:14:30,020
And then also like, because it's all actually code instead of like, you know, turning on suggest changes in some documents somewhere or going to some terrible meeting to discuss like some policy change.

110
00:14:30,020 --> 00:14:37,020
You could actually like, just like suggest some way we're going to change this and like submit a PR or whatever.

111
00:14:37,020 --> 00:14:45,020
And, and we'll get it, we'll get these people together and see if we want to just like accept that, uh, which seems better, hopefully.

112
00:14:45,020 --> 00:14:52,020
Yeah, I think it applies for every aspect of the development.

113
00:14:52,020 --> 00:15:00,020
So, you know, we were talking, um, a little bit in the green room phase about why not just use a wiki, uh, for example.

114
00:15:00,020 --> 00:15:13,020
And, you know, the, the problem is wikis have this, this issue where they end up going dead, uh, at some point because nobody's maintaining them or someone has migrated to some other technology.

115
00:15:13,020 --> 00:15:26,020
And so, you know, kind of the, the inverted, say backstage ways, let a project have control over its own documentation and then communicate whatever, whatever your organization's documentation platform is.

116
00:15:26,020 --> 00:15:36,020
Let, uh, let the project say, Hey, I'm using, you know, I'm using this markdown or I'm using TS doc, or I'm using this, this documentation tool.

117
00:15:36,020 --> 00:15:43,020
And if that changes, well, the, the project can, you know, uh, essentially update the pointer, so to speak.

118
00:15:43,020 --> 00:15:49,020
Um, and, and your portal doesn't go stale, um, because you know, you've now evolved.

119
00:15:49,020 --> 00:15:52,020
So you're not locked in to one particular technology.

120
00:15:52,020 --> 00:15:53,020
All right.

121
00:15:53,020 --> 00:15:54,020
All right.

122
00:15:54,020 --> 00:16:00,020
So now, now we had a, or at least I do have a little bit of the dream, so to speak, like, like what the point is and what happens.

123
00:16:00,020 --> 00:16:10,020
But like, so like, what is the actual, uh, if, if, if I go down to comp USA and I buy the, uh, I buy the backstage, uh, kit, like what, what am I going to get?

124
00:16:10,020 --> 00:16:13,020
Like what, what are the actual components and like the, the parts of it?

125
00:16:13,020 --> 00:16:17,020
Like, I'm pretty sure Kubernetes is involved somewhere, whether I want it to be or not.

126
00:16:17,020 --> 00:16:21,020
And then I, you know, like, what, what do I, what do I like, what do I do?

127
00:16:21,020 --> 00:16:23,020
Like, what, what's the architecture of it basically?

128
00:16:23,020 --> 00:16:25,020
What are all the parts?

129
00:16:25,020 --> 00:16:31,020
Um, so there, there are five core components that are four plugins.

130
00:16:31,020 --> 00:16:32,020
Let's call them plugins.

131
00:16:32,020 --> 00:16:37,020
There are five core plugins that are included with backstage, um, which are built on a framework.

132
00:16:37,020 --> 00:16:41,020
That is a fairly standard, like client server architecture.

133
00:16:41,020 --> 00:16:45,020
So there's a, um, there's a react application on the front end.

134
00:16:45,020 --> 00:16:52,020
And then there is, uh, node processes running in the backend, which provide the server that the client connects to.

135
00:16:52,020 --> 00:16:55,020
Um, that's the kind of the general architecture.

136
00:16:55,020 --> 00:17:03,020
Um, but with the, the five plugins that come out of the box are the catalogs as a software catalog, the scaffolder.

137
00:17:03,020 --> 00:17:12,020
So it's a, uh, a way to create templates that generate, um, generate code that is pushed into repositories.

138
00:17:12,020 --> 00:17:21,020
And then those, so that code is registered as a component in the catalog, the research, which makes it possible to find things within your ecosystem.

139
00:17:21,020 --> 00:17:33,020
Um, there is the Kubernetes plugin, which allows you to hook up your, um, if your components in the catalog represent services, those services are probably deployed to Kubernetes.

140
00:17:33,020 --> 00:17:38,020
So the Kubernetes plugin allows you to show information about the services in the catalog.

141
00:17:38,020 --> 00:17:47,020
Um, and there is, uh, I think that's four and there is, uh, what else is there?

142
00:17:47,020 --> 00:17:50,020
And then there's like, uh, Oh yeah.

143
00:17:50,020 --> 00:17:51,020
And tech docs.

144
00:17:51,020 --> 00:17:51,020
Yeah.

145
00:17:51,020 --> 00:18:00,020
So the tech docs is documentation as code where the markdown files are stored in the repository and then they're auto-generated and made visible in backstage.

146
00:18:00,020 --> 00:18:01,020
Right.

147
00:18:01,020 --> 00:18:02,020
Right.

148
00:18:02,020 --> 00:18:03,020
Right.

149
00:18:03,020 --> 00:18:04,020
Right.

150
00:18:04,020 --> 00:18:05,020
Okay.

151
00:18:05,020 --> 00:18:11,020
And, and then, so you're, you're saying like there's components and a component, does that represent like the software that a team's working on?

152
00:18:11,020 --> 00:18:13,020
Like, like, like what is a component?

153
00:18:13,020 --> 00:18:17,020
A component is, yes, there's different types of components.

154
00:18:17,020 --> 00:18:23,020
So, uh, a service, a website, a library, and then you can create your own types of components.

155
00:18:23,020 --> 00:18:24,020
Okay.

156
00:18:24,020 --> 00:18:25,020
All right.

157
00:18:25,020 --> 00:18:26,020
Yeah.

158
00:18:26,020 --> 00:18:29,020
The object model is kind of deliberately loose.

159
00:18:29,020 --> 00:18:34,020
Uh, so I think component is more, one of the, uh, better understood.

160
00:18:34,020 --> 00:18:52,020
But the other thing that's neat about it is essentially the catalog, which really underpins so much of, uh, backstage is it's, it's just a graph of things that your organization, uh, and you can kind of draw arbitrary connections between them.

161
00:18:52,020 --> 00:19:01,020
So you've got these components, but you also can have references to where these repositories house these components.

162
00:19:01,020 --> 00:19:07,020
You have, you can draw connections of which people are the contributors to these components.

163
00:19:07,020 --> 00:19:19,020
So if you have a question, uh, about a particular service, you can actually look up and you can say, ah, this person is, is, um, is associated with this.

164
00:19:19,020 --> 00:19:24,020
Now, I don't know if you actually get that out of the box, but those are the kinds of inferences that you can, you can draw.

165
00:19:24,020 --> 00:19:25,020
Um, right, right.

166
00:19:25,020 --> 00:19:26,020
Yeah.

167
00:19:26,020 --> 00:19:33,020
And, and so that, I mean, that's the other thing I was interested since, since I'll work with, with several people on this is hearing is like, it seems like.

168
00:19:33,020 --> 00:19:48,020
With my crude understanding, the, the, the, one of the original problems that the backstage was looking to solve is like, especially in the Spotify since it's like, I forget the number of some of, you know, we got like 10,000 microservices running around here.

169
00:19:48,020 --> 00:19:50,020
And what the hell is going on?

170
00:19:50,020 --> 00:19:51,020
Yeah.

171
00:19:51,020 --> 00:19:52,020
And, and, and, and yeah.

172
00:19:52,020 --> 00:19:57,020
And, and not, not only, not only what are they, how do they work, but like, who can I talk to about them?

173
00:19:57,020 --> 00:19:58,020
Like who owns this?

174
00:19:58,020 --> 00:19:59,020
Right.

175
00:19:59,020 --> 00:20:02,020
And, and then I remember like, like there was an intriguing.

176
00:20:02,020 --> 00:20:03,020
Which ones are on Kubernetes?

177
00:20:03,020 --> 00:20:04,020
Which ones are on AWS?

178
00:20:04,020 --> 00:20:05,020
Right.

179
00:20:05,020 --> 00:20:06,020
How much are they costing me?

180
00:20:06,020 --> 00:20:07,020
Yeah.

181
00:20:07,020 --> 00:20:07,020
Right.

182
00:20:07,020 --> 00:20:15,020
And so, so you have that catalog, like one, and it's more, it's, it's still kind of like just this more or less static catalog of like, here's all these different services.

183
00:20:15,020 --> 00:20:18,020
And now you at least know what they are.

184
00:20:18,020 --> 00:20:19,020
There's documentation for them.

185
00:20:19,020 --> 00:20:28,020
As you were saying, you can check in and here is a, here's, here's at least some person or an email address that owns it.

186
00:20:28,020 --> 00:20:30,020
Or like that you could talk to about it.

187
00:20:30,020 --> 00:20:31,020
I'm being a little facetious here.

188
00:20:31,020 --> 00:20:32,020
Who's here's who owns it.

189
00:20:32,020 --> 00:20:33,020
Right.

190
00:20:33,020 --> 00:20:40,020
And then I don't, I don't know what the, what the object model, as you say, is for this stuff, but then you can also add in, like, I remember one case they had that was interesting.

191
00:20:40,020 --> 00:20:44,020
That was like, well, we want to, we want to convert everyone over to Python.

192
00:20:44,020 --> 00:20:52,020
So we stuck this thing in here that basically said you need to convert to Python or you've already converted to Python or like you need to upgrade your Python version.

193
00:20:52,020 --> 00:21:06,020
And so it's almost like, I don't know which direction this injection goes, but it sounds like once you set up that, that catalog or whatever it is, you could actually start going in there and adding in like all these other little embellishments and layers of governance.

194
00:21:06,020 --> 00:21:20,020
That's probably not a word people like to use, but just to say that like, you know, this project needs to upgrade its version of Python or this one doesn't have the right kind of observability stuff built into it.

195
00:21:20,020 --> 00:21:21,020
Or, or it does.

196
00:21:21,020 --> 00:21:29,020
I, I mean, it's like, like what's that notion called where you're like, you're moving way past just like a static wiki.

197
00:21:29,020 --> 00:21:30,020
It seems like.

198
00:21:30,020 --> 00:21:35,020
Yeah, I don't, I don't know what, what it would be called.

199
00:21:35,020 --> 00:21:49,020
Um, I know there is, um, the way, the way I look at it is it's giving developers control over the shortcuts that they use to access information.

200
00:21:49,020 --> 00:22:00,020
So like when you go to the backstage catalog, um, when you find a specific component, like when you find your component on that page, you can, you can add metadata that points to external services.

201
00:22:00,020 --> 00:22:08,020
So you could say, so for example, my logs are at this URL in the Kubernetes, in, in, in Kavana.

202
00:22:08,020 --> 00:22:13,020
So when you click on the link, it will take you directly to the logs for, for that component.

203
00:22:13,020 --> 00:22:23,020
So, so, so, and then you can use that link to essentially, um, extract information for external services and then show that information on the catalog page.

204
00:22:23,020 --> 00:22:36,020
So you could say, um, now, instead of showing the, now, instead of going to Kavana, I can actually like programmatically pull information from Kavana and show those latest logs in the UI.

205
00:22:36,020 --> 00:22:52,020
So it gives you the kind of control over, um, what you're seeing on a component per component basis, because it's not unusual for two, for multiple pieces of software to, or technologies to play the same role.

206
00:22:52,020 --> 00:23:05,020
You know, so you could have like, um, you could, there might be different ways of getting, uh, different systems for viewing logs, but they could also be different, like infrastructure providers being used within the same company for hosting the same thing.

207
00:23:05,020 --> 00:23:19,020
So, like if you needed to go access, uh, for example, secrets for one component versus another, uh, it is not uncommon to see like, you know, AWS secret manager and HashiCorp bulk being used within the same company.

208
00:23:19,020 --> 00:23:26,020
So from different, depending on which component, depending on your particular component, where you access those secrets might be different.

209
00:23:26,020 --> 00:23:39,020
Um, so being able to use the catalog pages to, as a jumping point to where, what, where it is specifically for that component is really helpful for developers.

210
00:23:39,020 --> 00:23:42,020
They don't have to, so they can find what they're looking for faster.

211
00:23:42,020 --> 00:23:43,020
Yeah.

212
00:23:43,020 --> 00:23:47,020
And then, and then I suppose you could also like standardize on what's on each of those pages, right?

213
00:23:47,020 --> 00:23:58,020
Like to your point, you could say like, every time you have a, uh, a project or a component or whatever you need, you need to, it would be fantastic if you pointed to where the logs are for the current version you're running.

214
00:23:58,020 --> 00:24:03,020
And it would be great if you pointed towards wherever your issue tracker is or whatever.

215
00:24:03,020 --> 00:24:08,020
And that way you, you more standardized where all that stuff is instead of emailing around things.

216
00:24:08,020 --> 00:24:09,020
Yeah.

217
00:24:09,020 --> 00:24:16,020
And even, I think maybe the, the, the, the, the word that you're looking for, and I don't know if you mentioned it is just annotation.

218
00:24:16,020 --> 00:24:20,020
Like annotation is both a mechanic within backstage.

219
00:24:20,020 --> 00:24:24,020
Like they have this concept that you can annotate any entity in the catalog.

220
00:24:24,020 --> 00:24:35,020
Uh, but it's also kind of a abstract process of, uh, deriving metadata that's available to the rest of the system downstream from the actual components.

221
00:24:35,020 --> 00:24:50,020
So just the fact that a component is registered in the catalog and you know where it lives, you know, now your portal can actually follow that location and say, okay, you registered this component.

222
00:24:50,020 --> 00:24:56,020
I can go visit it and I can see, oh, this is, this is a Python project because it's got a PI project file.

223
00:24:56,020 --> 00:25:03,020
And I can look at it and I can see its dependencies and I can see which version of Python I think was the, the thing, the example you used.

224
00:25:03,020 --> 00:25:14,020
I could see, Hey, it's got these security vulnerabilities and these are kind of enhancements and enrichments that you can do downstream of the actual project.

225
00:25:14,020 --> 00:25:19,020
But all they had to do was kind of, uh, register themselves, uh, or be discovered.

226
00:25:19,020 --> 00:25:31,020
Um, so, so maybe I, I, it's both a mechanic and the process, this process of annotation, um, or, or the derivation of knowledge based on just the mere fact of a component existing.

227
00:25:31,020 --> 00:25:35,020
That's a mouthful that you should write that down.

228
00:25:35,020 --> 00:25:37,020
That'd be a good, uh, a good blog.

229
00:25:37,020 --> 00:25:39,020
Uh, yeah.

230
00:25:39,020 --> 00:25:47,020
So, so like, like, you know, like, like we mentioned several times, like y'all have been doing a lot of work with, with clients kind of like building up their backstage stuff and customizing it.

231
00:25:47,020 --> 00:25:55,020
And so like, you know, amalgamating that, like, if you were like, like when you do, or when you think about like sitting down with someone like, all right, we have nothing.

232
00:25:55,020 --> 00:26:03,020
Like, like, like what, uh, like what's the, like, what's like the six, 12 months sort of like thing that they do?

233
00:26:03,020 --> 00:26:05,020
Like, what's the first thing that they build out?

234
00:26:05,020 --> 00:26:13,020
What's like now it's, you know, usually it's like after three months, we proven that we should keep doing this and actually pay the front side.

235
00:26:13,020 --> 00:26:20,020
And then, and then like after that, you want to add, you want to expand to like some more teams and then maybe they want to like customize it and add some stuff.

236
00:26:20,020 --> 00:26:20,020
I don't know.

237
00:26:20,020 --> 00:26:33,020
I'm just making stuff up based on software, but like, what's kind of like, not generic in a bad way, but what's like the generic path that people go down as far as building up their, their, their backstage stuff.

238
00:26:33,020 --> 00:26:49,020
I think that the, the best starting point and hopefully companies do this, but this is not always that this is not always, um, the case, but hopefully the first step is asking their developers what it's like to be a developer at their company.

239
00:26:49,020 --> 00:26:52,020
Ask them like, what is your actual workflow?

240
00:26:52,020 --> 00:26:54,020
Like, how do you go about doing your work?

241
00:26:54,020 --> 00:27:05,020
And then what happens if you do ask what, what often happens is, um, the kind of feedback that you will get is, oh, um, it's really difficult to find stuff.

242
00:27:05,020 --> 00:27:22,020
Like, I don't know where, um, like when, when we, when we've done this for our clients, what you will hear developers say something like, I have a list of 170 links that I've maintained that I share with my friends, my colleagues at the company, because if you don't have the links, you might actually not be able to get your work done.

243
00:27:22,020 --> 00:27:29,020
Cause you don't know how, where, where the, where the, the, uh, really complicated URL is for a specific service.

244
00:27:29,020 --> 00:27:36,020
So, um, when they get feedback like that, then they can map that to something, you know, to a feature of, of, of backstage.

245
00:27:36,020 --> 00:27:43,020
And then they have, now they're starting to form their roadmap and they develop, like developers will tell you exactly what their problems are.

246
00:27:43,020 --> 00:27:52,020
It's just, I think what we're not used to is thinking about develop, like thinking about the platform as a product, thinking about it, like thinking about your internal develop platform.

247
00:27:52,020 --> 00:27:57,020
The product and thinking about like the actual, um, what, what is it like to experience the platform.

248
00:27:57,020 --> 00:28:13,020
But when you ask the question, it's actually pretty easy to map those things to features because these things that Spotify open source, the plugins of Spotify open source, those plugins, um, are solutions to very common developer problems.

249
00:28:13,020 --> 00:28:14,020
Yeah.

250
00:28:14,020 --> 00:28:15,020
Yeah.

251
00:28:15,020 --> 00:28:16,020
Yeah.

252
00:28:16,020 --> 00:28:25,020
And then, and then also like, as, as I don't know, I almost feel like as it's frequently overlooked about stuff like this, because it comes from a third party, no one gets the chance to argue it into doing nothing.

253
00:28:25,020 --> 00:28:26,020
Right.

254
00:28:26,020 --> 00:28:35,020
Like, like, like if you were coming up with your own way to build something like this in any large organization, you'd probably spend a lot of time talking about how you should do things.

255
00:28:35,020 --> 00:28:37,020
And one person would have this standard of doing it.

256
00:28:37,020 --> 00:28:39,020
Another person would have this way of doing it.

257
00:28:39,020 --> 00:28:41,020
And then maybe you would just like, forget about it.

258
00:28:41,020 --> 00:28:43,020
Cause now it's time to have vacation.

259
00:28:43,020 --> 00:28:48,020
Whereas like, if you've got a third party thing, like there's no debate about what you do.

260
00:28:48,020 --> 00:28:53,020
You just, you just start using the tool, which seems useful.

261
00:28:53,020 --> 00:29:02,020
I think the challenge with that is that I, I, what, what I'm observing in working with, with, with our clients is that there's definitely a path.

262
00:29:02,020 --> 00:29:12,020
Um, but I think what's generally missing is this concept that, that we need to be actively solving developer experience problems.

263
00:29:12,020 --> 00:29:30,020
Like there is friction and there is, um, latency in the, in the developer, in the engineering organizations, but we don't have either the tools or the, uh, we don't have the tools to observe it or to optimize it.

264
00:29:30,020 --> 00:29:50,020
So the best case in the best, um, example of this is, uh, you know, in the past we didn't have a good way to like releasing software was very, um, you know, we, we all knew that it would take months to do, but now, you know, as a result of DevOps, we have, you know, different stages for releasing software.

265
00:29:50,020 --> 00:29:56,020
So we could say, for example, our CI time is now, you know, it was taking an hour to run.

266
00:29:56,020 --> 00:29:59,020
Now we, you know, brought that down to, to seven minutes.

267
00:29:59,020 --> 00:30:09,020
So we had both the mean, by having tools that give us the way to observe, um, how long it takes, we were able to reduce that latency.

268
00:30:09,020 --> 00:30:16,020
Similar, um, doesn't get exists for developer experience, um, in other aspects.

269
00:30:16,020 --> 00:30:29,020
So, um, I think, and that's one of the challenges for a lot of companies is that it's, it's a figuring out what to improve on their platform, given where they are right now is something that people learning to do now.

270
00:30:29,020 --> 00:30:37,020
Now, now that backstage exists, it's kind of like laying out this foundation where people start thinking about how they can improve their developer experience.

271
00:30:38,020 --> 00:30:54,020
Yeah. Yeah. No, like, like again, it's something I think of in this area a lot, which is, uh, well, to put it one way, it's, it's always shocking when you discover the need for something that you thought existed already in, in, in the sense of, I mean, to use the, the old tired analogy, right?

272
00:30:54,020 --> 00:31:15,020
Like the, the cobbler's kids wear enough shoes. Right. And in this case, it's sort of like you have software developers who are by definition, writing a bunch of software and in general, collectively, they don't spend a lot of time writing software that helps the process of what they're doing.

273
00:31:15,020 --> 00:31:20,020
There's all sorts of people who write frameworks and like, I mean, that's, you almost have to stop developers from doing that.

274
00:31:20,020 --> 00:31:33,020
So they actually work on the software that runs your business, but like, but, but as far as like, what, what if we like wrote software that like makes the way that we collaborate and run better.

275
00:31:33,020 --> 00:31:58,020
And, and like we have, we have plenty of stuff that's like, you know, from the old application lifecycle management and software delivery lifecycle, like we have all sorts of tools for that, but none of it, like, I obviously can't describe it very well either, but none of it sort of is like, well, here's, well, let me, as, as you were saying in your talk at BackstageCon, it's like, yeah, but when can I have Heroku?

276
00:31:58,020 --> 00:32:13,020
Right? Like, like, like when can I have, when can I have that set of web pages that I go to that has all the same interface for finding stuff explains to me how to use it, and allows me to just work on the process, for lack of a better phrase, just collaborating with people.

277
00:32:13,020 --> 00:32:20,020
And, uh, I mean, I guess it's sort of like astonishing to think this, but like, I guess no one's done that before.

278
00:32:20,020 --> 00:32:24,020
Right? Like that, that hasn't existed.

279
00:32:24,020 --> 00:32:35,020
Yeah. I mean, I think people have tried a lot, uh, to do it individually and for themselves, but they're just certain, it's like you said, how much of your effort?

280
00:32:35,020 --> 00:32:54,020
Is it just from a business sense feasible to extend on that? Is it 10% is it 20% is it 70% and there's definitely a threshold there where you can't have a business, uh, if you're spending all of your time working on your internal developer platform.

281
00:32:54,020 --> 00:33:04,020
Uh, and so where, you know, shared solutions have to emerge in order to make it feasible for, uh, everybody to do it.

282
00:33:04,020 --> 00:33:17,020
Um, because you know, one thing is for sure, you can't there, you know, like your developer experience, it exists, whether you're observing it and where you're visible of it, not like you can't not have a developer experience.

283
00:33:17,020 --> 00:33:23,020
Um, and so if it's, you know, if you, if you can't invest in it, it's just, it's going to be bad.

284
00:33:23,020 --> 00:33:37,020
Um, and so I just, I think that, um, I think it just takes enough people acknowledging that, that it is something that needs to be solved and trying to sit down to do the work to solve it collectively.

285
00:33:37,020 --> 00:33:42,020
I just, it's one of those things where it's very difficult for it to be emergent in a single place.

286
00:33:44,020 --> 00:33:52,020
I think it also couldn't have been emergent because, um, it was almost impractical to have it emergent previously because there's nothing you can do about it.

287
00:33:52,020 --> 00:34:11,020
Like before, before cloud native, before companies start to build internal developed platforms, when you're relying on, on third-party software that you do not control, when you're relying on monoliths that you cannot easily change, you can't really do much about like, even if you wanted to change, you don't have any means to do it.

288
00:34:11,020 --> 00:34:21,020
And then I think what's happened with cloud native is that by giving you the, the granular pieces that you can use to assemble your internal developed platform, you now have control over the individual pieces.

289
00:34:21,020 --> 00:34:24,020
So now you can, you actually have something that you can manipulate.

290
00:34:24,020 --> 00:34:31,020
And then what's happened as a result is now people realize, okay, well, I have an internal developed platform that consists of a whole bunch of tools.

291
00:34:31,020 --> 00:34:35,020
But what's, what we're finding is that it's actually really difficult for developers to be productive.

292
00:34:35,020 --> 00:34:48,020
And so now there is a, um, you can attach a monetary value to not having solved this problem, like not having, not, not thinking about a developer experience actually has a cost.

293
00:34:48,020 --> 00:35:00,020
And this is what we're seeing now, I think what's changed in the last like five years is that companies are actually realizing that it's really expensive for them to not think about the developer experience on the internal developed platforms.

294
00:35:00,020 --> 00:35:06,020
And so now they're thinking, now they're standing up teams that are dedicated to, um, to use, to improve that.

295
00:35:06,020 --> 00:35:18,020
And I think what's happening with backstage is it's emerged as a, as a, at the right time, you know, we went from, you know, a few years ago, it had 50 adopters a year ago, it had 125 now has 400 adopters.

296
00:35:18,020 --> 00:35:32,020
Um, and it's being adopted really quickly because it is a well, like well understood, the, the need is well understood, but the solution might not be, you know, but that's something that we're collectively learning.

297
00:35:32,020 --> 00:35:34,020
But the problem is now known.

298
00:35:35,020 --> 00:35:47,020
So, so then how about like, like two, two more things to go before we close out one is, uh, so, so I, I, I got all excited and drove us off the track of like the, uh, the kind of like, you know,

299
00:35:47,020 --> 00:35:49,020
the build out that people have, right.

300
00:35:49,020 --> 00:35:53,020
And we stopped around, uh, uh, just discoverability, right?

301
00:35:53,020 --> 00:36:00,020
Like, like having, having that your, your, your, your, your magic cheat sheet of like all the funny URLs you need to go to, to find the work to do.

302
00:36:00,020 --> 00:36:07,020
Like what, so once you establish like the, the catalog, if you will, you can discover things and find them.

303
00:36:07,020 --> 00:36:09,020
Like what are the next things that people start working on?

304
00:36:09,020 --> 00:36:16,020
Like what are the more kind of advanced stuff that people build in that I imagine, you know, y'all get hired to help out with a little bit.

305
00:36:16,020 --> 00:36:32,020
Um, I mean, you do, uh, I would say the, you know, you, it really depends on where, what, what aspect of that network of information is the most valuable to you.

306
00:36:32,020 --> 00:36:46,020
Um, so, you know, at the, at, at its core, what you're constructing is a graph of the internal software ecosystem and all constituents.

307
00:36:46,020 --> 00:36:55,020
And so, you know, what aspect of that graph is you want to surface, I think is where people focus on next.

308
00:36:55,020 --> 00:36:56,020
Now that's the abstract answer.

309
00:36:56,020 --> 00:37:01,020
I would say, uh, surfacing the people associated with software.

310
00:37:01,020 --> 00:37:05,020
Um, we've seen be something that's an extremely high value target.

311
00:37:05,020 --> 00:37:08,020
Um, I don't know if you wanted to add something to that.

312
00:37:08,020 --> 00:37:20,020
Yeah, it's, it's very much, it very much differs for each company because each company is going to have a different, like their, their platform is going to be more complete in other areas.

313
00:37:20,020 --> 00:37:30,020
And we can, uh, in, uh, in some, so the most standard thing that we see happening is, uh, creating templates that you can use to scaffold new components.

314
00:37:30,020 --> 00:37:33,020
So starting to standardize and make it easier for developers to create things.

315
00:37:33,020 --> 00:37:41,020
Um, but depending, so that, that, that, that, that's a pretty common one as a kind of a next step.

316
00:37:41,020 --> 00:37:51,020
Um, but what specific, what, what information you surface in the catalog very much depends on your, your biggest needs.

317
00:37:51,020 --> 00:37:52,020
Like what are the biggest problems?

318
00:37:52,020 --> 00:37:57,020
Cause at some companies, they might have, um, a service built out.

319
00:37:57,020 --> 00:38:04,020
Like it's not uncommon for us to see like some clients have an entity service that provides information about all the different things.

320
00:38:04,020 --> 00:38:06,020
So like they might already have a catalog.

321
00:38:06,020 --> 00:38:16,020
So for them to pull the information from the existing catalog and to surface it in backstage, it's just a matter of like integrating with their, with their service, uh, with the existing service catalog.

322
00:38:16,020 --> 00:38:26,020
Um, or another company might have a system for, uh, querying relationships between services.

323
00:38:26,020 --> 00:38:29,020
So for them, it might be, okay, make that information available in backstage.

324
00:38:29,020 --> 00:38:31,020
So you can represent the structure.

325
00:38:31,020 --> 00:38:35,020
So you could, so there's in a, in backstage, there's a concept of systems and domains.

326
00:38:35,020 --> 00:38:38,020
It's kind of organization of, of different information.

327
00:38:38,020 --> 00:38:46,020
So you might use, um, you might use backstage to represent the relationships between different systems within, within your organization.

328
00:38:46,020 --> 00:38:47,020
Right.

329
00:38:47,020 --> 00:38:52,020
And then going one level deeper, it'd be like, okay, showing how those things depend on each other.

330
00:38:52,020 --> 00:39:01,020
So like, you know, if a service uses another service and depending on what you have, depending on what you already have, like your approach to that problem or what your needs are going to be different.

331
00:39:01,020 --> 00:39:05,020
And so you kind of have to prioritize based on where your biggest pain points are.

332
00:39:05,020 --> 00:39:06,020
Right.

333
00:39:06,020 --> 00:39:16,020
So you could generate the, uh, that old infamous, like Netflix death star Mondrian thing, you know, they used to have, that was like, here's, here's, uh, how all of our microservices connect together.

334
00:39:16,020 --> 00:39:17,020
And, uh, isn't that great.

335
00:39:17,020 --> 00:39:22,020
But I mean, you know, that, that would be useful to see the, uh, the graph of all your stuff.

336
00:39:22,020 --> 00:39:28,020
And, you know, if you have like thousands and thousands of applications and services that that's hard to track down.

337
00:39:28,020 --> 00:39:44,020
So, so then like kind of connected to that, like, so where, at, at, at, at, at what point does like the, the intentions of what backstage want to do, like kind of crossover scope creep.

338
00:39:44,020 --> 00:39:54,020
Like if I were to say, so let's take like your, your, your monitoring stuff and we're just going to move that all into backstage rather than being in your monitoring tool.

339
00:39:54,020 --> 00:39:56,020
Like that doesn't seem.

340
00:39:57,020 --> 00:39:58,020
Right.

341
00:39:58,020 --> 00:40:01,020
Like against the philosophy of.

342
00:40:01,020 --> 00:40:02,020
Right.

343
00:40:02,020 --> 00:40:03,020
No, no.

344
00:40:03,020 --> 00:40:04,020
Exactly.

345
00:40:04,020 --> 00:40:10,020
And so like, where, where's that edge of like, here's something we could do that, that we need done.

346
00:40:10,020 --> 00:40:13,020
And like, it doesn't belong over here in backstage land.

347
00:40:13,020 --> 00:40:16,020
That's not like in, I mean, it's just programming.

348
00:40:16,020 --> 00:40:18,020
So we could put whatever you want on a screen.

349
00:40:18,020 --> 00:40:21,020
And like, when you click a button, it could do whatever you want.

350
00:40:21,020 --> 00:40:24,020
But like, that doesn't make sense to have it here.

351
00:40:24,020 --> 00:40:25,020
It's not part of it.

352
00:40:25,020 --> 00:40:36,020
Like, uh, well, here's another one is like, so would you use backstage to like, to all of the human part of lease management?

353
00:40:36,020 --> 00:40:45,020
Or would you not like, like, like, is that the UI you would use to release your software all the way to production?

354
00:40:45,020 --> 00:40:48,020
Or would that be scope creep and you wouldn't do that?

355
00:40:48,020 --> 00:40:53,020
It could be if you're, if you're, if that process touches multiple systems.

356
00:40:53,020 --> 00:41:03,020
Some place you need to touch multiple systems, like from developer experience perspective, like you need to, I think this is where backstage shines is showing information from multiple systems.

357
00:41:03,020 --> 00:41:16,020
If you want to go, if you need to get deeper into that, into like, you don't want to hide the system that you're integrating with because it might have really useful information that you need at a specific time.

358
00:41:16,020 --> 00:41:20,020
So developers need to go to jump to that system and find what they're looking for.

359
00:41:20,020 --> 00:41:25,020
So, uh, so you don't want to, I don't think it's appropriate to bring everything into backstage.

360
00:41:25,020 --> 00:41:33,020
Um, but in the way that the systems overlap backstage might be the only place where this is actually possible.

361
00:41:33,020 --> 00:41:34,020
Right, right.

362
00:41:34,020 --> 00:41:44,020
That's, that's a good guideline that if, if you're trying to integrate together multiple systems to do something integrates the wrong word.

363
00:41:44,020 --> 00:41:51,020
But if you have to use multiple systems to accomplish some task, it's at least good to consider doing something.

364
00:41:51,020 --> 00:41:52,020
Right.

365
00:41:52,020 --> 00:41:59,020
I mean, I think that backstage is definitely not designed to unwind the progress of distributing stuff in microservices.

366
00:41:59,020 --> 00:42:01,020
It's to make it more powerful.

367
00:42:01,020 --> 00:42:12,020
So it doesn't do, I mean, it does a lot, but it's, it's not, uh, it's, it's not designed to do, uh, particular tasks so much as aggregate information.

368
00:42:12,020 --> 00:42:14,020
About what is being done.

369
00:42:14,020 --> 00:42:15,020
Right.

370
00:42:15,020 --> 00:42:16,020
To be a portal.

371
00:42:16,020 --> 00:42:17,020
Which, which I guess.

372
00:42:17,020 --> 00:42:22,020
Did we have avoided that word the entire, uh, the entire time?

373
00:42:22,020 --> 00:42:30,020
No, I mean, you know, uh, I, I was, I was, uh, I was raised in the late nineties and early two thousands when portal first came about.

374
00:42:30,020 --> 00:42:33,020
So I have, I have weird feelings about the word portal.

375
00:42:33,020 --> 00:42:34,020
You even had a site called portal potty.

376
00:42:34,020 --> 00:42:35,020
Yes.

377
00:42:35,020 --> 00:42:37,020
Like, I don't know if you still hold onto that domain.

378
00:42:37,020 --> 00:42:38,020
Like, I, I don't know.

379
00:42:38,020 --> 00:42:40,020
I mean, I, I don't, do people use the word portlet?

380
00:42:40,020 --> 00:42:41,020
That, that would be great.

381
00:42:41,020 --> 00:42:43,020
If that, if that reemerged.

382
00:42:43,020 --> 00:42:47,020
I never knew they emerged in the first place.

383
00:42:47,020 --> 00:42:48,020
Yeah.

384
00:42:48,020 --> 00:42:49,020
Portlet is scope.

385
00:42:49,020 --> 00:42:55,020
It's just like the same way that you always have a sitcom that's about 20 years in the past.

386
00:42:55,020 --> 00:43:04,020
So, you know, at any, uh, at any given moment, there's going to be a sitcom that takes place 20 years ago.

387
00:43:04,020 --> 00:43:06,020
Same thing with the vocabulary and tech.

388
00:43:06,020 --> 00:43:07,020
Yeah.

389
00:43:07,020 --> 00:43:08,020
There's some law.

390
00:43:08,020 --> 00:43:09,020
Yeah.

391
00:43:09,020 --> 00:43:10,020
Well, great.

392
00:43:10,020 --> 00:43:11,020
Well, that's been good.

393
00:43:11,020 --> 00:43:15,020
See, I always just use these to educate myself and ask the questions I'm confused about.

394
00:43:15,020 --> 00:43:17,020
And I think I'm a little more cleared up and smarter.

395
00:43:17,020 --> 00:43:18,020
I don't know.

396
00:43:18,020 --> 00:43:19,020
We'll see.

397
00:43:19,020 --> 00:43:24,020
But is there, is there anything, uh, is there anything you're thinking of that maybe we've left out to kind of defining,

398
00:43:24,020 --> 00:43:31,020
like, like, like, you know, what I want to do here is like define, like what backstage is beyond like, you know, a portal.

399
00:43:31,020 --> 00:43:37,020
And then like how people like, like the immediate gain that you would get.

400
00:43:37,020 --> 00:43:38,020
Right.

401
00:43:38,020 --> 00:43:39,020
Which, which, which y'all went over.

402
00:43:39,020 --> 00:43:46,020
Well, it's like, well, it's really hard to just find stuff, which sounds like a trivial problem, but it's very important.

403
00:43:47,020 --> 00:43:53,020
And, and then, and then, you know, there, there's basically the, the kind of like what the stack looks like from a very high level.

404
00:43:53,020 --> 00:43:58,020
But, uh, I don't know what, what, what, what do you think is going to be happening over the next year or so in this area?

405
00:43:58,020 --> 00:44:00,020
Like what, uh, what is the community talking about?

406
00:44:00,020 --> 00:44:02,020
As far as like, here's what we need to do now.

407
00:44:02,020 --> 00:44:05,020
Like, this is the next thing we need to work on.

408
00:44:06,020 --> 00:44:25,020
I think the biggest, the, the, the most important thing that's going to happen now is going to be, um, making it easier for, to engage, for people to get engaged with backstage or for the users of backstage to be engaged with backstage in a way that is, that is easy for them.

409
00:44:25,020 --> 00:44:37,020
So, because right now it's the, the process of building a port, the portal is, is a little bit, um, like it follows a typical, like, you know, you, you, you have a source code, you build it, you build a Docker image and you push it.

410
00:44:37,020 --> 00:44:51,020
So, so it has that entire, it has that, um, process built into the, into develop development, which means that if, if someone, you know, if someone is using backstage and they want to add, let's say like, oh, I want for our project.

411
00:44:51,020 --> 00:45:03,020
We use, um, uh, like a, it's a SAS for doing, for doing logging or forgetting, uh, getting error logging from like a client application.

412
00:45:03,020 --> 00:45:04,020
Like I would like to integrate that.

413
00:45:04,020 --> 00:45:14,020
So what they would need to do is they need to clone the repo at the, at that integration as like a, as a react component or, you know, as an, or node process.

414
00:45:14,020 --> 00:45:19,020
And then create a pull request, it's going to get merged and it's going to get redeployed and it's going to be running.

415
00:45:19,020 --> 00:45:22,020
So that whole process takes a lot of, a lot of work.

416
00:45:22,020 --> 00:45:34,020
So I think what's going to happen over the next, over this year is try to find, increase the number of things that people, that teams can do without having to go through that whole cycle.

417
00:45:34,020 --> 00:45:35,020
Right.

418
00:45:35,020 --> 00:45:36,020
Right.

419
00:45:36,020 --> 00:45:37,020
Yeah.

420
00:45:37,020 --> 00:45:42,020
That makes, I mean, basically just making it more usable for developers to add things.

421
00:45:42,020 --> 00:45:43,020
Exactly.

422
00:45:43,020 --> 00:45:44,020
Yeah.

423
00:45:44,020 --> 00:45:45,020
Of their experiences.

424
00:45:45,020 --> 00:45:47,020
So they don't have to use react or TypeScript.

425
00:45:47,020 --> 00:45:59,020
They could just use, they could just use the UI to add the things that they need and be able to amend the, like modify their experience based, modify their like backstage experience based on.

426
00:45:59,020 --> 00:46:03,020
Uh, their needs without having to, without having to go through a build cycle.

427
00:46:03,020 --> 00:46:04,020
Yeah.

428
00:46:04,020 --> 00:46:15,020
Well, hopefully it won't reduce on the typical, I mean, it seems like the cycle, whatever the format is, is you do the, uh, the current configuration format squared where the first phase is to write another layer.

429
00:46:15,020 --> 00:46:20,520
days in our contemporary era let's simplify the yaml on top of the yaml and uh just just make that

430
00:46:20,520 --> 00:46:26,000
easier to configure stuff which always seems i don't know maybe maybe i'm i'm too snarky but

431
00:46:26,000 --> 00:46:29,520
that seems a little silly that you're going to simplify something by adding more of the thing on

432
00:46:29,520 --> 00:46:34,620
it instead of just simplifying the original thing but i don't know i just make slides i don't know

433
00:46:34,620 --> 00:46:40,640
anything anymore yeah and then also i mean you entered like you brought it up several times it

434
00:46:40,640 --> 00:46:46,220
i forget what you call this kind of thing but it seems like like one way of figuring out where to

435
00:46:46,220 --> 00:46:51,280
get started in addition to asking developers as you're saying is like it's sort of like a little

436
00:46:51,280 --> 00:46:58,880
illustrative uh thing to say like all right tell me how you find the logs it's always logs like to

437
00:46:58,880 --> 00:47:03,640
kind of make a point about how to organize stuff it's just like like how long does it take you just

438
00:47:03,640 --> 00:47:08,760
to find the most recent logs and then like you know that's that's a good use case to go out and solve

439
00:47:08,760 --> 00:47:13,420
really quickly and then how do you find the logs for all the applications like how long would it

440
00:47:13,420 --> 00:47:18,100
take you to actually get those logs so you can start looking at them never mind the thrill of

441
00:47:18,100 --> 00:47:23,180
right through a bunch of logs just finding right always seems like a uh something to test out as

442
00:47:23,180 --> 00:47:30,800
far as how your internal portaling for developers is working out well great well thanks but so if

443
00:47:30,800 --> 00:47:36,640
people are interested in more of y'all what would you point in that give us a call to action call to

444
00:47:36,640 --> 00:47:43,980
action we can go to frontside.com slash backstage and we also have uh we we offer enterprise

445
00:47:43,980 --> 00:47:47,800
backstage support i don't know if you want to talk a little bit about that for us but i know we have

446
00:47:47,800 --> 00:47:55,240
uh plans that are built to accommodate people wherever they are in their backstage journey uh whether

447
00:47:55,240 --> 00:48:00,920
yeah what what does that business look like like i mean y'all are also like some of the early

448
00:48:00,920 --> 00:48:07,380
people figuring out what the the market in this area looks like like what what do uh what have you

449
00:48:07,380 --> 00:48:13,700
discovered you can get paid for so far yeah i think one of the so right now what that support looks like

450
00:48:13,700 --> 00:48:20,220
is um helping teams that are adopting backstage uh be productive which is essentially giving them the

451
00:48:20,260 --> 00:48:27,640
information they need when they need it um and um and we have because there are teams that are being

452
00:48:27,640 --> 00:48:32,920
stood up specifically for building this but learning all the tools that are necessary to be to to be able

453
00:48:32,920 --> 00:48:38,460
to create a backstage portal is not easy so we make it easier for them and then uh another part of that

454
00:48:38,460 --> 00:48:43,680
is uh when backstage doesn't do exactly what they need we as part of the service we actually go and work

455
00:48:43,680 --> 00:48:49,440
upstream to make those changes for them on behalf of the team so they can then just upgrade um and get

456
00:48:49,440 --> 00:48:54,000
the latest version without having to fork their instance of backstage so they can keep staying like

457
00:48:54,000 --> 00:49:01,000
current and be able to upgrade at any time um and uh i think the third thing is uh also navigating

458
00:49:01,000 --> 00:49:05,440
like how do you actually accomplish something from product management perspective because if you have

459
00:49:05,440 --> 00:49:10,380
uh you you know you have a problem there are a variety of different ways of solving it

460
00:49:10,380 --> 00:49:15,380
and so knowing which solution to apply i mean this is one of the benefits that we have in our particular

461
00:49:15,380 --> 00:49:21,200
positioning because we work with with adopters and we and we look like we see their roadmaps we see

462
00:49:21,200 --> 00:49:28,540
how they solve problems we help them design solutions we have right now um we support development of

463
00:49:28,540 --> 00:49:35,960
portals with over a hundred thousand users combined um so we have a quite a varied perspective on who

464
00:49:35,960 --> 00:49:42,460
on how these portals are implemented so uh we we make that information like we make them

465
00:49:42,460 --> 00:49:49,120
the information the product managers need to design their roadmaps roadmaps for developer experience

466
00:49:49,120 --> 00:49:53,220
kind of available to them what they need it so that's kind of like without what would that kind of how

467
00:49:53,220 --> 00:49:58,860
that work you you can you can i mean when you have when you have well not not even that scale when

468
00:49:58,860 --> 00:50:02,800
you have like just even a small scale of different organizations doing something like this

469
00:50:02,800 --> 00:50:09,240
you can uh you can speed up people's product management thinking right because they you know

470
00:50:09,240 --> 00:50:15,620
because that way they're not the first they don't what it's rarely the case that someone is the first

471
00:50:15,620 --> 00:50:20,400
person who's encountered this problem and there's usually other people who solve it and they don't

472
00:50:20,400 --> 00:50:25,380
have to like reinvent the solution over and over again it's the old like you know on on the uh

473
00:50:25,380 --> 00:50:30,400
especially in the enterprise software space uh us us on the sell side are always joking like yeah

474
00:50:30,400 --> 00:50:35,160
everyone thinks they have special problems and i just talked to three people this morning who had

475
00:50:35,160 --> 00:50:40,880
that same exact special problem and like you have to you can help people out understand that health

476
00:50:40,880 --> 00:50:47,540
is available and their problems are not uh detrimentally unique and special for them which is one thing

477
00:50:47,540 --> 00:50:52,040
yeah one thing that's really common to a lot of our company a lot of our customers is that

478
00:50:52,040 --> 00:50:59,660
um they look to spotify for for inspiration but spotify is a very advanced engineer organization

479
00:50:59,660 --> 00:51:04,420
like they created backstage because they're very advanced engineering organization so the practices

480
00:51:04,420 --> 00:51:09,460
that spot spotify has they're kind of like the end goal where everybody wants to end up

481
00:51:09,460 --> 00:51:16,860
but it's really difficult to implement the end goal when you're like if you're like here on the left side

482
00:51:16,860 --> 00:51:22,940
trying to move up to the right side where you where you want to be acting like you are already arrived

483
00:51:22,940 --> 00:51:27,380
there it doesn't really work you know so because if you're you you don't you're not not in the same

484
00:51:27,380 --> 00:51:34,540
place like spotify has 40 teams already contributing to backstage if you have no teams contribute to

485
00:51:34,540 --> 00:51:38,360
backstage the way you're going to solve problems is going to be different and this is what this is

486
00:51:38,360 --> 00:51:43,540
what a lot of our work is helping them uh like think about how to solve problems at their particular

487
00:51:43,540 --> 00:51:49,080
place as opposed to how spotify would solve it because it's just a different way of like you you

488
00:51:49,080 --> 00:51:55,820
act differently depending on where you are in your journey yeah yeah for sure it's uh it'd be a bad

489
00:51:55,820 --> 00:51:58,640
idea to learn how to drive stick in like a formula one race

490
00:51:58,640 --> 00:52:06,860
that's exactly what it is yeah all right well great well thanks for being on and uh you know

491
00:52:06,860 --> 00:52:10,360
see everyone next time bye all right thank you
