1
00:00:07,440 --> 00:00:09,570
Tariq Islam: With an interest
first, right? Yes.

2
00:00:12,450 --> 00:00:15,030
Jamie Duncan: Thanks for joining
us joining us today on episode

3
00:00:15,030 --> 00:00:18,180
10 of the K files. My name is
Jamie Duncan. I'm a customer

4
00:00:18,180 --> 00:00:22,830
engineer at Google, with me as
always, is john Osborne. I run

5
00:00:22,830 --> 00:00:25,080
this as john Osborne, chief
architect for Red Hat, public

6
00:00:25,080 --> 00:00:30,240
sector. And tark Islam.
Everyone, this is Tarik Islam,

7
00:00:30,330 --> 00:00:34,380
sales engineering manager at
Google. Um, we've been having a

8
00:00:34,380 --> 00:00:36,690
discussion for about 10 minutes.
Now before we click the Record

9
00:00:36,690 --> 00:00:40,560
button. We know what we want to
talk about, but we're not 100%

10
00:00:40,560 --> 00:00:41,910
sure what to call it.

11
00:00:43,020 --> 00:00:45,450
We've called it get ops and it's
not quite get Ops, we've called

12
00:00:45,450 --> 00:00:49,830
it ci CD. And it's not quite
that. JOHN, you said the CN CF

13
00:00:49,830 --> 00:00:52,950
has a name on application
development and delivery,

14
00:00:52,950 --> 00:00:53,880
something like that.

15
00:00:54,270 --> 00:00:57,060
John Osborne: Yeah, so Helm is a
is a CNC f project that

16
00:00:57,060 --> 00:01:01,710
graduated this year. And they
have it filed under application

17
00:01:01,710 --> 00:01:05,760
definition. And deployment, I
think, okay,

18
00:01:05,940 --> 00:01:08,790
Jamie Duncan: but that's your
target quote was immediately

19
00:01:08,790 --> 00:01:11,730
hated it. Yes. Like

20
00:01:12,450 --> 00:01:13,980
Tariq Islam: that right under
thanks. I hated

21
00:01:14,430 --> 00:01:16,050
John Osborne: definition and
development. That's what they

22
00:01:16,050 --> 00:01:18,960
have it. Mission development,
probably

23
00:01:18,960 --> 00:01:21,270
Jamie Duncan: the most accurate
definition tark throughout was

24
00:01:21,270 --> 00:01:27,570
called up CD. So Ops, continuous
delivery. Really, what we're

25
00:01:27,570 --> 00:01:29,640
going to spend about we're gonna
spend a little time talking

26
00:01:29,640 --> 00:01:35,460
about is how you once your
cluster is deployed, but not

27
00:01:35,460 --> 00:01:39,270
doing the actual development of
the application. What happens in

28
00:01:39,270 --> 00:01:43,230
the middle, what tools are there
out there to configure your

29
00:01:43,230 --> 00:01:46,380
cluster to set up all those
security setup all the policies

30
00:01:46,380 --> 00:01:50,370
to set up all the configurations
and the bits and the bytes, and

31
00:01:50,370 --> 00:01:53,100
get your cluster ready for
applications and then deploy and

32
00:01:53,100 --> 00:01:54,870
manage those application life
cycles?

33
00:01:55,680 --> 00:01:57,060
Tariq Islam: So it's
interesting, you mentioned it

34
00:01:57,060 --> 00:02:03,210
that way, Jamie? Because it just
kind of occurred to me that this

35
00:02:03,210 --> 00:02:09,270
is actually how we see a lot of
organizations adopt things

36
00:02:09,300 --> 00:02:12,600
across the timeline. They Oh, it
always starts with Okay, I'm

37
00:02:12,600 --> 00:02:15,690
gonna get my cluster stood up.
But then how do I actually like

38
00:02:15,690 --> 00:02:20,310
manage this thing, day to ops is
maybe synonymous with this

39
00:02:20,310 --> 00:02:24,360
topic, a little bit, right?
cluster configuration,

40
00:02:24,360 --> 00:02:28,080
environment configuration, what
does all that look like? And

41
00:02:28,080 --> 00:02:31,440
then they start worrying about
creating a harness for for

42
00:02:31,440 --> 00:02:32,610
application delivery.

43
00:02:32,700 --> 00:02:34,710
John Osborne: And and maybe that
that'll be the segue for us and

44
00:02:34,710 --> 00:02:38,730
to see ICD? It's been probably,
to me, like the most fragmented

45
00:02:38,730 --> 00:02:42,570
space, right? I mean, we're like
six years into Kubernetes. And

46
00:02:42,600 --> 00:02:45,780
there's been a ton of these
projects that have just kind of

47
00:02:46,620 --> 00:02:49,410
been hot for like a year, and
then he never really heard it

48
00:02:49,410 --> 00:02:50,220
from them again, right?

49
00:02:50,550 --> 00:02:52,470
Jamie Duncan: I mean, he was
what, two and a half years ago,

50
00:02:52,470 --> 00:02:56,970
we we went over to tartes office
in Northern Virginia, and looked

51
00:02:56,970 --> 00:02:58,710
at what case on it and

52
00:02:58,740 --> 00:02:59,670
John Osborne: chase on it.

53
00:03:00,269 --> 00:03:02,459
Jamie Duncan: json at ham
sandwich sauna. I mean, there

54
00:03:02,459 --> 00:03:04,679
were a ton of them that we
looked at, and I haven't heard

55
00:03:04,679 --> 00:03:08,789
of most of them. Since that day,
when we stole free lunch from

56
00:03:08,789 --> 00:03:09,119
Google.

57
00:03:09,750 --> 00:03:11,940
Tariq Islam: I actually forgot
it existed.

58
00:03:12,420 --> 00:03:13,050
Unknown: Exactly.

59
00:03:15,000 --> 00:03:17,550
Tariq Islam: Wow, man, it's been
a while. I mean, this ecosystem

60
00:03:17,550 --> 00:03:20,340
is full like it's kind of
defined as in the beginning

61
00:03:20,340 --> 00:03:24,990
there was Helm in Helm was
pretty okay. Well, it fill the

62
00:03:24,990 --> 00:03:30,780
gap. It I mean, it it filled it
filled a, an implicit need for

63
00:03:30,780 --> 00:03:33,840
any sis ops team, any sis ops
team worth, it's worth its

64
00:03:33,840 --> 00:03:37,920
weight, right? If I'm gonna
adopt Kubernetes, I really I

65
00:03:37,920 --> 00:03:42,420
need to be able to define define
the gates, I need to define the

66
00:03:42,420 --> 00:03:48,990
guardrails and Helm did does a
great job at that, of that, at

67
00:03:48,990 --> 00:03:52,770
least at some scale, but perhaps
not at scale. And maybe we can

68
00:03:52,770 --> 00:03:57,030
talk about that today. But it
definitely filled a need. I

69
00:03:57,030 --> 00:04:01,230
forgot how wild Kubernetes was
in the early days until I went

70
00:04:01,230 --> 00:04:04,350
back to this episode and started
looking at Helm to and like all

71
00:04:04,350 --> 00:04:07,710
this stuff came back like what
Helm was first released, there

72
00:04:07,710 --> 00:04:11,760
was no our back in Kubernetes at
all, and like and then how

73
00:04:11,760 --> 00:04:15,600
maintains like, this whole
state, in its its own outside of

74
00:04:15,600 --> 00:04:18,090
Kubernetes, because there was no
CR DS or anything like that.

75
00:04:18,090 --> 00:04:22,140
And, and everything used to run
his route. And, you know, all

76
00:04:22,140 --> 00:04:25,770
the Docker images would mount to
the home and the battles that

77
00:04:25,770 --> 00:04:30,840
were fought. Yeah, you know, so.
So let's do this. Let's, let's,

78
00:04:30,840 --> 00:04:34,380
uh, let's define Helm real
quick. For the folks listening,

79
00:04:34,410 --> 00:04:39,180
just, you know, for good podcast
hygiene here. I'll take, I'll

80
00:04:39,180 --> 00:04:41,820
take a crack at it, it's
probably gonna be half half

81
00:04:41,820 --> 00:04:43,410
wrong. What's gonna be half
right?

82
00:04:44,430 --> 00:04:48,390
It'll be half right. I've always
seen Helm as as, as a

83
00:04:48,390 --> 00:04:53,370
templating. approach to to. I
almost have to say Git ops.

84
00:04:53,370 --> 00:04:54,960
Again, I don't want to overload
that term.

85
00:04:55,020 --> 00:04:56,400
John Osborne: package
management, maybe?

86
00:04:56,430 --> 00:04:59,400
Tariq Islam: Yes, exactly. It's
application package, not

87
00:04:59,400 --> 00:05:01,020
application pack. Because
remember treating your

88
00:05:01,020 --> 00:05:04,710
applications in a packaged way.
But it's, it's it's a, it's a

89
00:05:04,710 --> 00:05:09,120
templating. It's a templating
tool effectively. I mean, it's

90
00:05:09,120 --> 00:05:14,130
almost like a DSL. And it's very
specific. And it is important to

91
00:05:14,130 --> 00:05:19,290
note by the way that that Helm
is. It's It's different from

92
00:05:19,290 --> 00:05:22,200
customize. I'm introducing that
term early on, because as soon

93
00:05:22,200 --> 00:05:27,570
as you Google Helm or customize,
in your, in the Google quick

94
00:05:27,570 --> 00:05:30,750
results, you actually see, like
one of the first results is Helm

95
00:05:30,750 --> 00:05:34,770
versus customize. So we'll talk
about customize as well. But

96
00:05:34,770 --> 00:05:38,610
there seems to be a bit of a not
a battle going on. But folks are

97
00:05:38,610 --> 00:05:42,750
wondering which one to use when
and why hounding the first one

98
00:05:42,900 --> 00:05:47,310
to Market. But templating is how
I would have I would describe

99
00:05:47,310 --> 00:05:47,550
it,

100
00:05:47,580 --> 00:05:50,220
John Osborne: that's how I think
of it as I mean, to me, like my

101
00:05:50,220 --> 00:05:54,180
mental map, our model is I still
kind of think of it like Jinja

102
00:05:54,180 --> 00:05:57,660
templates in Python, but that's
probably shortchanging some of

103
00:05:57,780 --> 00:06:00,600
some of this. Yep. Similar
capabilities. But

104
00:06:01,440 --> 00:06:04,170
Jamie Duncan: it really it feels
a lot like To me it feels like

105
00:06:04,170 --> 00:06:05,310
Ansible for Kubernetes.

106
00:06:08,100 --> 00:06:12,690
Tariq Islam: Is it though, I'm
channeling my, my Thor right

107
00:06:12,690 --> 00:06:12,900
now.

108
00:06:17,640 --> 00:06:21,240
Jamie Duncan: That's what. And
as I was saying that I five

109
00:06:21,240 --> 00:06:23,850
seconds previously, because I,
you know, in my brain out my

110
00:06:23,850 --> 00:06:27,750
mouth, I wonder if I feel that
way, because that's when I

111
00:06:27,750 --> 00:06:30,720
really learned both of those
tools. I learned them sort of

112
00:06:30,720 --> 00:06:34,950
beside one another. Or if
there's a relationships there, I

113
00:06:34,950 --> 00:06:36,810
think there's at least some
relationships there. Because

114
00:06:36,810 --> 00:06:39,600
john, you know, explicitly
called out Jinja templates,

115
00:06:39,600 --> 00:06:41,490
which is how you do templates in
Ansible.

116
00:06:41,880 --> 00:06:42,330
Unknown: Mm hmm.

117
00:06:42,510 --> 00:06:44,070
Jamie Duncan: there on the
surface, there are at least some

118
00:06:44,070 --> 00:06:48,630
similarities. But what Ansible
is, at the end of the day is

119
00:06:48,630 --> 00:06:52,170
largely a templating engine. So
they have

120
00:06:52,200 --> 00:06:54,180
Tariq Islam: maybe a right that
actually, if you're going by

121
00:06:54,180 --> 00:06:57,810
that description, because that's
how I mean, that's how that's

122
00:06:57,810 --> 00:07:04,080
how we see helm. Now. I mean,
that being said, though, I think

123
00:07:04,080 --> 00:07:06,690
there's there's a discussion
happening right now around

124
00:07:06,690 --> 00:07:11,910
whether whether a, an ops team
that's managing this Kubernetes

125
00:07:11,910 --> 00:07:16,890
platform should use Helm or
customize is the room to use

126
00:07:16,890 --> 00:07:21,600
both. Maybe I'll nip that last
one in the bud right now and say

127
00:07:21,600 --> 00:07:24,870
using both is just going to add
way too much complexity. But I

128
00:07:24,870 --> 00:07:27,420
think it's a good discussion.
Because if you if you look at

129
00:07:27,420 --> 00:07:30,810
the the structure of helm, I
mean, it's come a long way in

130
00:07:30,810 --> 00:07:32,910
terms of its architecture as
well. They look at security

131
00:07:32,910 --> 00:07:37,020
concerns, initially, you had
client side, server side

132
00:07:37,050 --> 00:07:40,800
components, and now you don't,
they've done a great job of

133
00:07:40,800 --> 00:07:43,560
locking certain things down and
addressing the security concerns

134
00:07:43,560 --> 00:07:44,160
that were

135
00:07:44,310 --> 00:07:46,770
John Osborne: that were there
early on. If you were in the in

136
00:07:46,770 --> 00:07:49,410
the early days, you know, they
have these in the old version of

137
00:07:49,410 --> 00:07:52,230
Helm a this thing called tiller,
which basically, yeah, it's

138
00:07:52,230 --> 00:07:54,330
mashed up all the template was
basically was the templating

139
00:07:54,330 --> 00:07:57,990
engine and would just apply
everything to the Kubernetes

140
00:07:57,990 --> 00:08:00,180
API, there was no security
because it didn't exist in

141
00:08:00,180 --> 00:08:02,850
Kubernetes. But do you actually
remember the beginning? And I

142
00:08:02,850 --> 00:08:05,220
forgot about this until I
started going back and look at

143
00:08:05,220 --> 00:08:08,820
some wild stuff, but it would
actually just deploy everything

144
00:08:08,820 --> 00:08:10,950
in the coop system namespace.

145
00:08:12,300 --> 00:08:13,290
Jamie Duncan: That's all it
would do.

146
00:08:14,160 --> 00:08:15,810
John Osborne: Well, that was
like the default namespace it

147
00:08:15,810 --> 00:08:19,590
would deploy to. So yeah, so he
was not iterating. And all of a

148
00:08:19,590 --> 00:08:22,530
sudden, you're just not really,
yeah. Which is a really good way

149
00:08:22,530 --> 00:08:29,550
to like FUBAR your cluster, but
I do like I do like helm. It did

150
00:08:29,550 --> 00:08:32,250
fill a gap in the beginning. But
if you also look at a lot of the

151
00:08:32,250 --> 00:08:35,820
tools that have been around,
it's the only one, like,

152
00:08:35,820 --> 00:08:38,610
customize as much as someone new
right, like out of the first

153
00:08:38,610 --> 00:08:41,550
generation of tools. It's the
only way to hell yeah, still

154
00:08:41,550 --> 00:08:42,180
here.

155
00:08:43,379 --> 00:08:46,349
Tariq Islam: So john, and your
and so if I were to ask you the

156
00:08:46,349 --> 00:08:49,049
question, I don't think we've
addressed this for for the, for

157
00:08:49,049 --> 00:08:53,099
the folks listening, what what
do I use Helm for?

158
00:08:55,140 --> 00:08:59,670
John Osborne: I always, so two
parts that I always felt like,

159
00:09:00,330 --> 00:09:03,060
especially in the early days of
Kubernetes, but still probably

160
00:09:03,060 --> 00:09:05,790
to this day, one of the big
things about it was actually the

161
00:09:05,790 --> 00:09:09,030
content around it. So there's
like a Helm chart that exists

162
00:09:09,030 --> 00:09:11,550
for almost anything. So if you
want to go install MySQL on

163
00:09:11,550 --> 00:09:13,860
Kubernetes, or, or,

164
00:09:14,939 --> 00:09:19,679
you know, some Apache project
or, or WordPress, because every

165
00:09:19,679 --> 00:09:22,709
example is WordPress, right? You
can just go you can just type

166
00:09:22,709 --> 00:09:26,399
Helm install, and it'll pull in
a chart that has that for you.

167
00:09:27,179 --> 00:09:30,299
Now, there's of course, like,
you know, there's security

168
00:09:30,299 --> 00:09:32,909
concerns around that. There's,
there's ways to do that more

169
00:09:32,909 --> 00:09:35,669
securely, but to get up and
running the content around it,

170
00:09:35,699 --> 00:09:38,639
almost like Docker, right? Like
if you think about when Docker

171
00:09:38,639 --> 00:09:41,579
was really big. In the
beginning, it was more. There's

172
00:09:41,579 --> 00:09:44,009
all these based, yes, they did
everything with API, all that

173
00:09:44,009 --> 00:09:46,349
stuff. But I think a big reason
was they have the ecosystem,

174
00:09:46,349 --> 00:09:50,789
right, and Cal has the
ecosystem. But I don't think it

175
00:09:50,789 --> 00:09:56,339
works that well for individual
use cases. But it does work well

176
00:09:56,339 --> 00:09:59,849
for teams that are going to
gate. At least that's where I

177
00:09:59,849 --> 00:10:01,979
start. See it. And that's where
I see people using it as more

178
00:10:01,979 --> 00:10:05,429
like, you know, ops teams or
some, some team that's going to

179
00:10:05,429 --> 00:10:07,649
gate resources to a developer,
but they're going to give them

180
00:10:07,649 --> 00:10:11,159
access to certain variables,
then you can, they can give them

181
00:10:11,159 --> 00:10:14,189
Helm charts that they can
override certain things, but not

182
00:10:14,189 --> 00:10:19,019
certain other things. I also see
kind of, sometimes in the

183
00:10:19,019 --> 00:10:23,129
enterprise teams will have like,
they'll allow, say, like five

184
00:10:23,129 --> 00:10:25,859
variations on let's use like
Tomcat as a simple example. But

185
00:10:26,729 --> 00:10:29,999
they're going to allow you five,
five variations of Tomcat rate

186
00:10:29,999 --> 00:10:33,749
and Helm is a kind of a good way
to lock down Tomcat, but just

187
00:10:33,749 --> 00:10:35,939
give you the five variations,
and you can kind of pick and

188
00:10:35,939 --> 00:10:37,559
choose with the templating.

189
00:10:39,899 --> 00:10:41,519
Tariq Islam: Yeah, and so
that's, that's where I feel like

190
00:10:41,519 --> 00:10:45,089
Helm starts to come apart a bit,
because of all the possible

191
00:10:45,089 --> 00:10:49,109
variations that you start
running into as an organization.

192
00:10:49,199 --> 00:10:52,169
You know, if I've got five
variations, you know, in a

193
00:10:52,169 --> 00:10:54,059
couple years, I might end up
becoming 15 different

194
00:10:54,059 --> 00:10:58,169
variations. And I think that's
where the discussion with

195
00:10:58,199 --> 00:11:01,649
between Helm and customize comes
into play. Do I want to do like

196
00:11:01,649 --> 00:11:04,589
templating till till I die? Or
do I want to actually start

197
00:11:04,829 --> 00:11:08,369
leveraging an overlay based
system? Like the one customize

198
00:11:08,369 --> 00:11:12,629
represents? I mean, we haven't
we haven't even defined

199
00:11:12,629 --> 00:11:14,819
customize. Yep. But I think
that's that's the question.

200
00:11:14,879 --> 00:11:16,349
John Osborne: Do you want to
define customers?

201
00:11:16,590 --> 00:11:20,130
Tariq Islam: Yeah, so so
customize. It's not it's not

202
00:11:20,130 --> 00:11:24,090
templating? It's primarily it's,
it isn't work, for lack of a

203
00:11:24,090 --> 00:11:28,080
better term, an overlay engine,
right. And the unique thing

204
00:11:28,080 --> 00:11:31,440
about customize is that it's
actually baked into the cube

205
00:11:31,440 --> 00:11:35,790
CTL. See, ally. So you can use
the dash k flag to use it. from

206
00:11:35,790 --> 00:11:38,790
an engineering standpoint, it's
it's maintained by, you know,

207
00:11:38,790 --> 00:11:43,410
core Kubernetes, whereas Helm
is, is maintained by by a third

208
00:11:43,410 --> 00:11:45,600
party, said, distributors, what

209
00:11:45,600 --> 00:11:48,330
John Osborne: is the third? I
mean, it seems mostly IBM and

210
00:11:48,420 --> 00:11:50,190
Microsoft, from what I've seen,
but

211
00:11:50,970 --> 00:11:52,950
Tariq Islam: yeah, that's what
I've seen as well. That's what I

212
00:11:52,950 --> 00:11:55,260
mean by third party. I'm not
saying that it's outside the

213
00:11:55,260 --> 00:11:59,520
community. But the fact that
customize is part of you know,

214
00:11:59,520 --> 00:12:06,060
the coop CTL. See, Li like the
that actual flow, just kind of

215
00:12:06,060 --> 00:12:09,300
intrinsically brings it closer
to the Kubernetes platform. And

216
00:12:09,300 --> 00:12:12,990
I'm, I've always been a bit of a
purist slash, minimalist slash,

217
00:12:12,990 --> 00:12:15,870
whatever, just, I like that type
of thing, right? Just bring me

218
00:12:15,870 --> 00:12:18,150
up, keep me as close to
Kubernetes as you as you

219
00:12:18,150 --> 00:12:19,470
possibly can. And I'm happy.

220
00:12:20,070 --> 00:12:22,650
John Osborne: Tell me if my
mental map is just horrible, but

221
00:12:22,680 --> 00:12:26,850
in my mind, I kind of think of
customizes. Like, if I was

222
00:12:26,850 --> 00:12:30,000
working locally, and sort of
scripting things out with sed

223
00:12:30,000 --> 00:12:33,660
and a bunch of other Linux
command line tools, eventually,

224
00:12:34,230 --> 00:12:36,720
when I that mature it, I get
something like customize.

225
00:12:37,259 --> 00:12:38,159
Tariq Islam: That's about right,
man.

226
00:12:38,429 --> 00:12:41,309
Jamie Duncan: Yeah, that's,
yeah, you're certainly in the

227
00:12:41,309 --> 00:12:45,059
right neighborhood, if not at
the right front door. It can

228
00:12:45,059 --> 00:12:45,389
turn on

229
00:12:45,450 --> 00:12:46,110
John Osborne: their eyes.

230
00:12:49,110 --> 00:12:53,640
Jamie Duncan: Right, like Tarik
said there, you can overlay. So

231
00:12:53,670 --> 00:12:59,670
you can you have a directory
called base. And inside base are

232
00:12:59,670 --> 00:13:02,730
all of the objects that you want
to have created when you run

233
00:13:02,730 --> 00:13:04,890
this customize script. So if you
want to create a namespace,

234
00:13:05,670 --> 00:13:08,640
deployment objects, Ingress
objects, whatever, and you can

235
00:13:08,640 --> 00:13:12,990
parameterize those. So in that
regard, it's not drastically

236
00:13:12,990 --> 00:13:17,730
different than helm. And they
even look a little alike. So you

237
00:13:17,730 --> 00:13:22,230
have this base directory, and
then everything you run, pull

238
00:13:22,230 --> 00:13:25,680
starts at that base directory.
But then you can overlay

239
00:13:25,680 --> 00:13:28,080
different things on top of that.
So you can also have a directory

240
00:13:28,080 --> 00:13:31,470
called production or a directory
called development. And you can

241
00:13:31,470 --> 00:13:35,490
populate those parameters with
directory with dev values, or

242
00:13:35,490 --> 00:13:38,910
prod values or your own custom
values. And then you can also

243
00:13:38,910 --> 00:13:41,790
have parameters files, where
you're just filling things in,

244
00:13:41,940 --> 00:13:46,080
or where you override a specific
thing. It gets to the same

245
00:13:46,080 --> 00:13:50,460
place, my biggest, the reason I
use customize more than I use

246
00:13:50,460 --> 00:13:57,000
Helm is that I keep everything
in the repository. The biggest

247
00:13:57,150 --> 00:14:02,250
problem I have with Helm is that
I have to pull in, I have to do

248
00:14:02,250 --> 00:14:07,350
Helm repo add, and then go add
the repository for WordPress

249
00:14:07,860 --> 00:14:10,980
that contains the helm charts,
or for whatever I'm installing.

250
00:14:11,460 --> 00:14:14,160
And then I have to turn around
and tell it to go update those

251
00:14:14,160 --> 00:14:19,770
like, like a package manager,
like using Yum, or apt. And then

252
00:14:19,770 --> 00:14:22,320
they're stored off in some
library folder. And they're not

253
00:14:22,350 --> 00:14:27,000
a part of my repository, where
is customize inside the

254
00:14:27,000 --> 00:14:29,910
Customize library itself. It
just understands what a

255
00:14:29,910 --> 00:14:33,810
namespace, what that yamo looks
like. It understands all these

256
00:14:33,810 --> 00:14:36,750
different things. And I can do
other cool things like for

257
00:14:36,750 --> 00:14:39,600
secrets, I can actually just
have it I can feed it two or

258
00:14:39,600 --> 00:14:42,270
three pieces of information and
have it generate a secret for

259
00:14:42,270 --> 00:14:45,180
me. You do a lot of really cool
little shortcut, things like

260
00:14:45,180 --> 00:14:50,280
that inside customize. And it's
all inside my repo. I don't have

261
00:14:50,280 --> 00:14:53,550
to pull another another chunk of
code down and put like, like

262
00:14:53,550 --> 00:14:55,020
subscribing to a repository.

263
00:14:55,740 --> 00:14:57,840
Tariq Islam: And I think that's
part of the power right for an

264
00:14:57,840 --> 00:15:02,760
organization to be able to start
adopting a thing like, like get

265
00:15:02,760 --> 00:15:04,890
ups, right? I mean, if you're
keeping everything in

266
00:15:04,890 --> 00:15:08,220
repository, it kind of lends
itself towards that. So

267
00:15:08,220 --> 00:15:10,890
immediately, I think it becomes
a lot more scalable. Now, for

268
00:15:10,890 --> 00:15:15,060
me, I still am a fan of helm.
Because it I mean, if you've

269
00:15:15,060 --> 00:15:17,550
installed this do in the last
year, you probably use the helm

270
00:15:17,550 --> 00:15:21,090
install or the helm chart for
it. I love that right? I love

271
00:15:21,090 --> 00:15:22,800
being able to just go to Helm
chart and install something,

272
00:15:22,800 --> 00:15:25,440
it's pre configured pre package
ready to rock. That's been

273
00:15:25,440 --> 00:15:29,250
great. But But to your point,
Jamie, it's I lean more towards

274
00:15:29,280 --> 00:15:32,880
towards customize for for things
that I want to break apart and

275
00:15:32,880 --> 00:15:34,710
put back together for my own
purposes,

276
00:15:34,830 --> 00:15:41,340
John Osborne: it does seem like
in terms of ci CD usage, that I

277
00:15:41,340 --> 00:15:45,240
see more customized now, in
terms of, you know, someone's

278
00:15:45,240 --> 00:15:48,060
going to write some code or it's
going to iterate I know in the

279
00:15:48,060 --> 00:15:51,270
Git ops model, like the default
projects like Argo and flux,

280
00:15:51,270 --> 00:15:56,280
like most of their examples, use
customized as well. I still see

281
00:15:56,280 --> 00:16:00,330
how I'm filling a need. In terms
of the the teams and the people

282
00:16:00,330 --> 00:16:03,690
in that handoff, do you see
customize being used for those

283
00:16:03,690 --> 00:16:04,980
cases as well? or?

284
00:16:05,879 --> 00:16:06,449
Unknown: Yeah,

285
00:16:06,480 --> 00:16:11,610
Jamie Duncan: Yeah, I do. And
because of that overlay idea

286
00:16:11,610 --> 00:16:15,990
that I can, I have a folder that
contains all of the uniqueness

287
00:16:15,990 --> 00:16:19,020
that represents my production
environment. And it's just

288
00:16:19,020 --> 00:16:22,230
labeled production, or a dev a
dev environment or, and I can

289
00:16:22,230 --> 00:16:25,800
split it and slice it and dice
it however I want. And it's

290
00:16:25,800 --> 00:16:30,090
going to take those objects in,
in my base folder, my base

291
00:16:30,090 --> 00:16:34,200
directory, and it's going to add
or subtract from them, as per

292
00:16:34,200 --> 00:16:38,700
the instructions in those in the
customized folders. So I can, I

293
00:16:38,700 --> 00:16:43,680
can get to that same place. And
I can do all of the things that

294
00:16:43,680 --> 00:16:47,520
you're supposed to do inside
there. And it's all and kind of

295
00:16:47,520 --> 00:16:50,940
interesting, when you're talking
about where it's the default for

296
00:16:50,940 --> 00:16:56,220
ci CD. And I think it's just
because it's easier is because

297
00:16:56,220 --> 00:17:00,330
it's part of coop CTL when I
install coop CTL I install

298
00:17:00,330 --> 00:17:04,740
customize all of your container
images that do all of those

299
00:17:04,740 --> 00:17:09,210
builds have coop CTL in them
because they have to, as so and

300
00:17:09,240 --> 00:17:12,360
so I just get all of that
functionality out of the box.

301
00:17:12,390 --> 00:17:15,450
Whereas if I'm using helm, every
time I run that build my

302
00:17:15,450 --> 00:17:18,630
container image has to grab the
repo and pull the repo down and

303
00:17:18,630 --> 00:17:23,100
do all of the things you have to
do to make him work. And that's

304
00:17:23,130 --> 00:17:26,730
time consuming at scale when I'm
doing lots of build today.

305
00:17:27,329 --> 00:17:29,399
John Osborne: So how am I think
one of the reasons why Helm is

306
00:17:29,399 --> 00:17:32,819
so popular just has this massive
ecosystem of existing charts,

307
00:17:32,819 --> 00:17:35,519
right? I mean, is there ways to
plug those charts in to

308
00:17:35,519 --> 00:17:39,659
customize or kind of leverage
that ecosystem? Or or do you

309
00:17:39,689 --> 00:17:42,209
have to use Helm if you want to
leverage all that?

310
00:17:43,050 --> 00:17:45,840
Tariq Islam: You'd have to you'd
have to pull apart the the helm

311
00:17:45,840 --> 00:17:51,240
chart a little bit. Because it's
in its its its own non k

312
00:17:51,240 --> 00:17:54,900
standard format. It's still
YAML. But it's still its own.

313
00:17:54,930 --> 00:17:57,810
That's what I call it. That's
why I mentioned it kind of being

314
00:17:57,840 --> 00:18:01,800
its own DSL earlier. Because you
really it if you're on Helm

315
00:18:01,800 --> 00:18:03,840
today, you've been on Helm for
years and you want to go over to

316
00:18:03,840 --> 00:18:07,710
customize, it's going to be a
migration. That's what you're

317
00:18:07,740 --> 00:18:10,950
effectively looking at. Right?
It's some form of a migration.

318
00:18:12,030 --> 00:18:14,820
John Osborne: I do like how I
customize, it doesn't change the

319
00:18:14,820 --> 00:18:19,110
original YAML that you had.
Makes it Yeah, just makes it

320
00:18:19,110 --> 00:18:22,110
easier. What about in
production? Right? Like, is it?

321
00:18:23,010 --> 00:18:26,040
Do you think there's benefits to
one versus the other? if, you

322
00:18:26,040 --> 00:18:29,970
know, some say some YAML goes
astray, right? Like, what's the

323
00:18:30,150 --> 00:18:33,000
Is there a way you can tell
inside the annotations or inside

324
00:18:33,000 --> 00:18:37,680
the metadata? How that yamo was
constructed in the first place?

325
00:18:38,430 --> 00:18:40,950
Tariq Islam: I don't think that
there's any auditing, how do you

326
00:18:40,950 --> 00:18:41,970
unpack that? I know and

327
00:18:42,690 --> 00:18:45,090
Jamie Duncan: I know, customize
has like a dry run option. In

328
00:18:45,090 --> 00:18:50,070
fact, the default, yeah, just
output YAML. So the way you

329
00:18:50,070 --> 00:18:52,590
actually use customize, you
know, the customized command

330
00:18:53,160 --> 00:18:57,210
reads a dot customize file that
then you tell it you feed it

331
00:18:57,210 --> 00:19:00,510
those parameters, but by
default, it just spits out YAML

332
00:19:01,290 --> 00:19:04,860
and then you actually pipe that
into if you're not using coop

333
00:19:04,860 --> 00:19:09,690
CTL dash k. a bad habit that I
formed early on and still do is

334
00:19:09,690 --> 00:19:13,230
to run the customized command
and then pipe that into coop

335
00:19:13,230 --> 00:19:13,830
CTL.

336
00:19:14,460 --> 00:19:16,290
Tariq Islam: You don't even do
the dry run, you just fly by the

337
00:19:16,290 --> 00:19:16,470
seat.

338
00:19:17,280 --> 00:19:20,250
Jamie Duncan: Exactly like you
get pipe

339
00:19:22,140 --> 00:19:23,550
John Osborne: live production,

340
00:19:24,780 --> 00:19:26,610
Unknown: exact reference or for
the week.

341
00:19:28,290 --> 00:19:30,000
Jamie Duncan: Dry runs for
people with SLA.

342
00:19:33,150 --> 00:19:35,430
John Osborne: Well, yeah, and
Kubernetes does have some of

343
00:19:35,430 --> 00:19:39,900
that built in with the the last
apply configuration annotation

344
00:19:39,900 --> 00:19:42,120
that's in there. Now if you look
in I think it's 118. They added

345
00:19:42,120 --> 00:19:47,160
that where you can go see what
the previous yamo was before it

346
00:19:47,160 --> 00:19:48,720
got applied.

347
00:19:49,440 --> 00:19:51,300
Jamie Duncan: I don't know
there's any way The first time I

348
00:19:51,300 --> 00:19:51,840
saw it.

349
00:19:52,650 --> 00:19:55,080
John Osborne: I don't care for I
don't care for it. I saw in the

350
00:19:55,080 --> 00:19:58,380
Git repo that they people
complained and they said that

351
00:19:58,380 --> 00:20:00,450
people like it because it
provides info but I just feel

352
00:20:00,450 --> 00:20:03,630
like it takes so much space.
That to diverge too much, but

353
00:20:05,160 --> 00:20:07,320
Tariq Islam: religious c li best
practices.

354
00:20:07,349 --> 00:20:12,089
John Osborne: Yeah. But I didn't
know if there's any way to I'm

355
00:20:12,089 --> 00:20:15,959
not it. I'm not expert enough in
either of them even though I've

356
00:20:15,959 --> 00:20:20,729
used both them a decent amount,
but to actually unpack the how

357
00:20:20,819 --> 00:20:24,299
they were created. So you could
see where things went awry.

358
00:20:24,750 --> 00:20:27,450
Jamie Duncan: Yeah, I don't
think there is like it unless

359
00:20:27,450 --> 00:20:31,560
you tell it to. So I have
significantly like, I'm very

360
00:20:31,560 --> 00:20:36,090
much a pure consumer of helm,
where I do exactly what you

361
00:20:36,090 --> 00:20:39,000
said, john, I, you know, I'm
reading the instructions on how

362
00:20:39,000 --> 00:20:41,160
to deploy something that I
haven't deployed before. And it

363
00:20:41,160 --> 00:20:44,220
says, Go grab the helm chart and
run Helm and set these set these

364
00:20:44,220 --> 00:20:48,420
variables. I do exactly. That's,
that's pretty much my experience

365
00:20:48,420 --> 00:20:52,770
with helm. Customize, I've gone
a fair bit deeper, I'm certainly

366
00:20:52,770 --> 00:20:55,590
not an expert by any stretch,
but have, you know, sort of

367
00:20:55,590 --> 00:20:58,680
written some customized schemas
and done some work to deploy to

368
00:20:58,680 --> 00:21:03,360
different environments. So I can
say pretty confidently, like, in

369
00:21:03,360 --> 00:21:06,420
customized, there's not an
inbuilt function to let you do

370
00:21:06,420 --> 00:21:11,250
that. But if, but that idea of
everything's a parameter,

371
00:21:11,250 --> 00:21:15,210
anything I want is a parameter.
I could add, you know,

372
00:21:15,270 --> 00:21:17,760
annotations and labels and all
the things that I would want to

373
00:21:17,760 --> 00:21:23,310
add. to to see any of that
information. I don't know that I

374
00:21:23,310 --> 00:21:26,970
like the idea of debugging that
way. But that's kind of Yeah, I

375
00:21:26,970 --> 00:21:28,290
know what you're getting to
maybe,

376
00:21:28,470 --> 00:21:31,680
John Osborne: yeah, just you
know, any other information, you

377
00:21:31,680 --> 00:21:35,160
know, it's, uh, I'm always, I'm
always looking for how I can

378
00:21:35,160 --> 00:21:38,070
unpack things, you know, how
things gotten to the state, they

379
00:21:38,070 --> 00:21:40,140
got into any any information,
there's good.

380
00:21:40,649 --> 00:21:43,529
Tariq Islam: So Helm was great
initially, because it filled

381
00:21:43,529 --> 00:21:47,069
that gap, right, it filled that
need for, you know, establishing

382
00:21:47,069 --> 00:21:52,259
those guardrails, but I also
felt like it violated, you know,

383
00:21:52,259 --> 00:21:58,769
certain principles around DevOps
and actually brought, it brought

384
00:21:58,769 --> 00:22:01,379
certain things too far over to
the right, I guess. So, you

385
00:22:01,379 --> 00:22:05,459
know, I, I interacted with
organizations that had adopted

386
00:22:05,459 --> 00:22:09,719
Helm and suddenly had developers
using Helm charts and kind of

387
00:22:09,719 --> 00:22:13,529
overreaching into the
infrastructure deployment

388
00:22:13,529 --> 00:22:17,909
process, application deployment
process, and it muddied the

389
00:22:17,909 --> 00:22:22,229
waters quite a bit. And it, it
actually prevented operations

390
00:22:22,229 --> 00:22:27,779
teams from being able to make
certain decisions without, you

391
00:22:27,779 --> 00:22:31,709
know, significantly impacting
everybody else around them,

392
00:22:31,859 --> 00:22:34,529
which is kind of the antithesis
of why they were trying to do

393
00:22:34,529 --> 00:22:38,939
all of this to begin with. And I
found that that customized

394
00:22:38,939 --> 00:22:43,049
somewhat addresses that because
it's not customized is just not

395
00:22:43,049 --> 00:22:49,589
something that a developer
really can worry about, I guess,

396
00:22:49,589 --> 00:22:54,119
given where customize lives, in
the process of creating these

397
00:22:54,119 --> 00:22:58,469
overlays and applying them at a
given moment in time,

398
00:22:59,250 --> 00:23:02,100
Jamie Duncan: right, they could
do it in on their laptop, they

399
00:23:02,100 --> 00:23:04,950
could you know, the, the
customized files are in the

400
00:23:04,950 --> 00:23:08,670
repository. But they couldn't do
it in an environment that

401
00:23:08,670 --> 00:23:13,140
mattered because our back
because of all that stuff that

402
00:23:13,140 --> 00:23:18,240
didn't exist back in the day, to
take care of it. Customize is

403
00:23:18,240 --> 00:23:22,110
able to take advantage of it, I
think, as I look at and we kind

404
00:23:22,110 --> 00:23:27,030
of dogged, not dogged him, but
we certainly, at least I gave it

405
00:23:27,480 --> 00:23:31,230
a poor connotation when we were
talking about all the service

406
00:23:31,230 --> 00:23:35,040
meshes and how hashey corpse
console deploys with the helm

407
00:23:35,040 --> 00:23:38,610
chart. And I said it felt kind
of like 2005

408
00:23:39,390 --> 00:23:40,320
Tariq Islam: I remember that.

409
00:23:42,000 --> 00:23:46,020
Jamie Duncan: Like that is like
that's with a slightly more

410
00:23:46,020 --> 00:23:50,310
intelligent thought on it. I
hope customize is taking the

411
00:23:50,310 --> 00:23:56,640
lessons learned from helm. And
building. prob, for the reasons

412
00:23:56,640 --> 00:23:59,970
you just said tarak, as well as
the the stuff I was talking

413
00:23:59,970 --> 00:24:05,820
about, like where it's, it's
easier for it to live in a

414
00:24:05,820 --> 00:24:09,930
repository without any external
dependencies. It's taking the

415
00:24:09,930 --> 00:24:13,140
lessons learned from Helm and
making it a more cloud native

416
00:24:13,140 --> 00:24:16,020
DevOps friendly get ops
friendly, buzzword friendly

417
00:24:16,170 --> 00:24:16,680
tool.

418
00:24:17,130 --> 00:24:20,760
Tariq Islam: Yeah, I just think
and this is not to say that Helm

419
00:24:20,760 --> 00:24:24,690
had poor design principles that
they certainly don't, they never

420
00:24:24,690 --> 00:24:28,380
did, but I think they fell
victim to having to do things

421
00:24:28,380 --> 00:24:32,970
that I think at this point, you
know, five years later, we know

422
00:24:32,970 --> 00:24:36,780
that we probably want to leave
to some other tool or to some

423
00:24:36,780 --> 00:24:40,620
other thing and doing it some
other way. And I think

424
00:24:40,620 --> 00:24:44,610
customises has benefited from
the things that Helm had to just

425
00:24:44,610 --> 00:24:48,420
deal with. Right, so Helm is
kind of like, you know, back in

426
00:24:48,420 --> 00:24:52,650
my day, right, we had to walk to
school and shoes and six foot

427
00:24:52,650 --> 00:24:56,670
snow and work without shoes.
It's that type of thing. I just

428
00:24:56,670 --> 00:24:59,520
feel like customized has taken
has been able to take advantage

429
00:24:59,520 --> 00:25:05,850
of of just being that next
iteration, I guess. I mean,

430
00:25:05,850 --> 00:25:10,260
maybe that's the conclusion that
we're kind of alluding to here

431
00:25:10,920 --> 00:25:13,590
between the two. But that's not
also not to say that you

432
00:25:13,590 --> 00:25:18,210
shouldn't use helm. Can we? Can
I Can any of us say that, that

433
00:25:18,210 --> 00:25:21,840
there isn't a use case today?
Where I

434
00:25:21,839 --> 00:25:23,789
John Osborne: think I think
that's where I'm struggling to,

435
00:25:23,789 --> 00:25:27,569
because Helm still has a Mac,
ball. And also kudos to the home

436
00:25:27,569 --> 00:25:31,409
team for what they did with with
three, they did. A lot of that

437
00:25:31,409 --> 00:25:34,649
complexity, they ripped out
Teller, they moved it all into

438
00:25:34,649 --> 00:25:38,669
the, you know, into the client
side, their mood, much code, all

439
00:25:38,669 --> 00:25:42,719
that stuff. So kudos to them.
But they, they do still have a

440
00:25:42,719 --> 00:25:48,239
massive ecosystem of users. And
even though I use Helm when it

441
00:25:48,239 --> 00:25:52,289
first came out, with helm, to
which I think one was out for

442
00:25:52,289 --> 00:25:55,949
like a month or something at the
time, but it does kind of feel

443
00:25:55,949 --> 00:26:02,189
like that most of the users are
not net you new users. And maybe

444
00:26:02,189 --> 00:26:06,479
that's wrong, but their
ecosystem is so big. So maybe

445
00:26:06,479 --> 00:26:10,259
I'd like to wish we had somebody
on the show that that just

446
00:26:10,259 --> 00:26:12,809
picked a new that just picked a
new tool, and they picked him

447
00:26:12,809 --> 00:26:15,929
over customized. And maybe it is
that that people and that the

448
00:26:15,929 --> 00:26:18,449
templating. And maybe that
mental model just works better

449
00:26:18,449 --> 00:26:19,859
for them than having

450
00:26:21,240 --> 00:26:23,310
Jamie Duncan: an interesting
thought I just had as we were as

451
00:26:23,310 --> 00:26:29,460
y'all were talking that through.
If I'm building an application,

452
00:26:29,700 --> 00:26:33,300
and I'm the ops team, and I have
a dev team or multiple dev

453
00:26:33,300 --> 00:26:39,420
teams, and I'm deploying it into
my infrastructure, I think

454
00:26:39,420 --> 00:26:44,580
customized is easier, is a more
effective solution. But if I'm

455
00:26:45,360 --> 00:26:49,980
sending something out to the
public, as a product, I have

456
00:26:49,980 --> 00:26:54,210
Helm chart is what I would most
likely pick. And I don't think

457
00:26:54,240 --> 00:26:59,250
it's just because of the size of
the ecosystem. I think those

458
00:26:59,250 --> 00:27:02,490
Helm charts with the external
dependencies that I can control

459
00:27:02,550 --> 00:27:08,640
as a product owner, make that
workflow a lot easier than

460
00:27:08,640 --> 00:27:12,540
saying go grab some GitHub, and
here's the customized file. And

461
00:27:12,540 --> 00:27:17,310
here's the variables you can
override it let's it is it is

462
00:27:17,310 --> 00:27:20,520
packaging my my container native
application.

463
00:27:21,060 --> 00:27:23,910
Tariq Islam: Yeah, no, maybe
maybe that maybe maybe there's

464
00:27:23,910 --> 00:27:26,550
absolutely room for both, right,
because I've always looked at

465
00:27:26,550 --> 00:27:32,910
customize. Something that's more
infrastructure related,

466
00:27:33,090 --> 00:27:36,330
environmental related. So if I'm
trying to define to your point,

467
00:27:36,330 --> 00:27:38,880
Jamie earlier, my dev
environment, my production

468
00:27:38,880 --> 00:27:43,560
environment, everything in
between. and, and leverage the

469
00:27:43,560 --> 00:27:46,710
overlay architecture that
customized provides me to be

470
00:27:46,710 --> 00:27:50,280
able to do that at scale. That's
That's me harnessing things

471
00:27:50,280 --> 00:27:52,980
right or setting up a harness.
And those are my guardrails. And

472
00:27:52,980 --> 00:27:56,430
it's easy for me to do at scale,
especially in enterprises, where

473
00:27:56,640 --> 00:27:58,890
there's like maybe dozens and
dozens of lines of businesses

474
00:27:58,890 --> 00:28:01,860
that I've got to be able to
support. How long the other hand

475
00:28:02,220 --> 00:28:07,230
would, I guess be further left,
where we're to now talking

476
00:28:07,230 --> 00:28:12,570
about? Well, we, we support or
approve this specific

477
00:28:12,570 --> 00:28:15,450
configuration of my sequel to be
deployed?

478
00:28:16,859 --> 00:28:19,019
John Osborne: I think to Jamie
kind of touched on something and

479
00:28:19,019 --> 00:28:23,159
I'm not even sure how to
articulate it. But I feel like

480
00:28:23,849 --> 00:28:29,519
customize makes assumptions
about your ops team. And I think

481
00:28:29,519 --> 00:28:33,599
that there's something there
with with Git Ops, where Git ops

482
00:28:33,599 --> 00:28:36,779
makes assumptions that it's not
just infrastructure as code, but

483
00:28:36,779 --> 00:28:39,599
your workflows revolve around
Git. And I feel like with

484
00:28:39,599 --> 00:28:43,529
customize, it's making
assumptions that your ops team

485
00:28:43,589 --> 00:28:48,299
has workflows that are good,
that are focused around get, and

486
00:28:48,389 --> 00:28:51,449
that you're working really
closely with your dev teams,

487
00:28:51,449 --> 00:28:54,539
which maybe isn't always the
case. And I don't know if I've

488
00:28:54,539 --> 00:28:56,579
articulated that correctly. But
I feel like there's there's

489
00:28:56,579 --> 00:28:59,159
something there with the
assumptions around customize and

490
00:28:59,159 --> 00:29:01,739
how you're working. It's the
design principles. You're

491
00:29:01,740 --> 00:29:04,680
Tariq Islam: right. And I think,
and I just made another

492
00:29:04,770 --> 00:29:09,450
Association, as you were saying
that I I've always felt like and

493
00:29:09,450 --> 00:29:11,670
I don't know, I'm just not
realizing this, but I've always

494
00:29:11,670 --> 00:29:16,980
felt like Helm charts. Were very
similar to openshift templates.

495
00:29:18,240 --> 00:29:19,500
Is that a fair analogy?

496
00:29:20,370 --> 00:29:21,150
Unknown: Yeah.

497
00:29:21,180 --> 00:29:21,960
Tariq Islam: Do you guys
remember that?

498
00:29:21,990 --> 00:29:27,810
John Osborne: Yeah. So openshift
templates did have some extra

499
00:29:28,020 --> 00:29:31,380
things in there. But yeah, it
was probably 80% analogous.

500
00:29:32,880 --> 00:29:36,210
Tariq Islam: Just in terms of
use cases? Yeah. Not so like for

501
00:29:36,210 --> 00:29:40,800
like, but just giving, giving,
you know, they didn't on the

502
00:29:40,800 --> 00:29:46,860
right. And a way to give some
sort of well defined, not

503
00:29:46,890 --> 00:29:49,740
necessarily catalog of thing
that's something separate No, I

504
00:29:49,740 --> 00:29:53,400
think that you know, if you want
to if you want to deploy a

505
00:29:53,400 --> 00:29:57,210
patchy if you want to deploy my
sequel if you want to deploy sto

506
00:29:57,210 --> 00:30:01,230
if you want to deploy X, Y or Z
thing on top of this hardness or

507
00:30:01,230 --> 00:30:04,620
on top of this environment that
I've configured, here is a is a

508
00:30:04,620 --> 00:30:09,930
happy little is a happy Helm
chart for you to, to use. And

509
00:30:09,930 --> 00:30:12,990
this is this is the baseline of
what we'll take this, these are

510
00:30:12,990 --> 00:30:14,640
the guardrails around that
application

511
00:30:15,030 --> 00:30:16,890
John Osborne: openshift
templates didn't really have all

512
00:30:16,890 --> 00:30:19,770
that layering approach. It just
had one master template with

513
00:30:19,830 --> 00:30:24,150
environment variables. And and
it could it could do some random

514
00:30:24,150 --> 00:30:26,820
generation of numbers and
passwords and things like that.

515
00:30:26,820 --> 00:30:30,120
But it wasn't, it wouldn't layer
on all your changes, per se.

516
00:30:30,960 --> 00:30:31,350
Yeah, it

517
00:30:31,350 --> 00:30:33,780
Tariq Islam: wasn't true
templates. Yeah, exactly the way

518
00:30:34,050 --> 00:30:36,600
the way Helm is, but I'm
thinking just, just

519
00:30:36,600 --> 00:30:37,260
functionally,

520
00:30:37,890 --> 00:30:39,930
Jamie Duncan: I think you
certainly have similar feelings.

521
00:30:41,280 --> 00:30:43,320
It's been a while since I used
an open ship template.

522
00:30:43,349 --> 00:30:45,779
John Osborne: But yeah, the most
ops experience, Jamie, like, do

523
00:30:45,779 --> 00:30:48,449
you think I was touching on
something on the assumptions?

524
00:30:48,660 --> 00:30:51,480
Jamie Duncan: Yeah, no, yeah.
And I think those assumptions

525
00:30:51,480 --> 00:30:55,020
like, you know, if you're facing
inward, if you're building an

526
00:30:55,020 --> 00:30:58,440
internal application, you know,
if you're the ops team in a

527
00:30:58,440 --> 00:31:01,800
DevOps environment, those
relationships are very different

528
00:31:01,800 --> 00:31:04,230
than if you're sending your code
out to an end user.

529
00:31:05,220 --> 00:31:07,680
John Osborne: Or if you're a
large enterprise that has never

530
00:31:07,680 --> 00:31:10,860
met, the I've seen, never met
them before, regardless of

531
00:31:10,860 --> 00:31:12,600
Jamie Duncan: what's on your
paycheck, you know, those end

532
00:31:12,600 --> 00:31:16,710
users are completely different
experiences, depending on you

533
00:31:16,710 --> 00:31:20,040
know, how those things are
structured. I think it's really

534
00:31:20,040 --> 00:31:22,980
interesting idea, and I've
always thought of them as sort

535
00:31:22,980 --> 00:31:27,570
of a linear, like an
evolutionary path. And they may

536
00:31:27,570 --> 00:31:28,260
not be,

537
00:31:29,490 --> 00:31:31,200
John Osborne: I'm gonna be in
the shower, and something's

538
00:31:31,200 --> 00:31:36,000
gonna hit me. I'm gonna really
set articulate this. So yeah, it

539
00:31:36,000 --> 00:31:41,880
does feel like a handoff. Almost
like a ticket driven handoff

540
00:31:41,880 --> 00:31:44,100
versus an API driven handoff or
something.

541
00:31:44,129 --> 00:31:46,229
Jamie Duncan: Yeah, that's a
good way to put it. Yeah. Yeah.

542
00:31:46,709 --> 00:31:49,409
One is not less valid than the
other one. They certainly have

543
00:31:49,409 --> 00:31:50,819
different use cases. Mm hmm.

544
00:31:51,419 --> 00:31:53,759
John Osborne: And they both
exist, and aren't going

545
00:31:53,759 --> 00:31:54,149
anywhere.

546
00:31:54,240 --> 00:31:56,490
Jamie Duncan: Yes, as a neither.
God knows neither going

547
00:31:56,490 --> 00:31:58,290
anywhere, anytime soon. Yeah.

548
00:31:59,159 --> 00:32:01,139
Tariq Islam: Yeah, I know, we
got to wrap this up. But I just

549
00:32:01,139 --> 00:32:05,609
I would love to see. I would
love to see if anyone out there

550
00:32:05,609 --> 00:32:11,159
has actually leveraged both,
right? We've got plenty of

551
00:32:11,159 --> 00:32:14,819
examples of folks leveraging one
or the other. But I'd love to

552
00:32:14,819 --> 00:32:18,299
see a success story around. Yes,
we we've we've got the use

553
00:32:18,299 --> 00:32:22,439
cases. And we've we've leveraged
both across, you know, a few

554
00:32:22,439 --> 00:32:27,029
different processes between cicd
between in, you know,

555
00:32:27,029 --> 00:32:30,119
infrastructures code and the
whole Git ops thing that we've

556
00:32:30,119 --> 00:32:32,549
been doing. I'm sure there's
someone out there.

557
00:32:32,760 --> 00:32:34,530
John Osborne: There's definitely
I've seen people online saying

558
00:32:34,530 --> 00:32:36,630
that they were doing it. But I
think to me, the cognitive

559
00:32:36,630 --> 00:32:40,050
overhead is now just too high.
Yeah, of what you're doing.

560
00:32:41,339 --> 00:32:43,679
Jamie Duncan: You know, we
talked a lot and that, you know,

561
00:32:43,679 --> 00:32:47,549
Episode 10, we'd have our first
guest. If someone does want to

562
00:32:47,549 --> 00:32:51,959
weigh in there, whether you have
sort of expertise level taking

563
00:32:51,959 --> 00:32:54,689
something in production into
production with both of these

564
00:32:54,689 --> 00:32:59,909
tools and where you're using
them. Let us know. And come hang

565
00:32:59,909 --> 00:33:03,119
out and talk for a few minutes
about make us a little smarter.

566
00:33:05,250 --> 00:33:07,800
John Osborne: Always down for
always down, I get smarter.

567
00:33:09,630 --> 00:33:11,370
Jamie Duncan: It rarely works
for me, but yeah, it really

568
00:33:11,370 --> 00:33:15,720
works. So I think this is it's
kind of we again, we were

569
00:33:15,720 --> 00:33:19,140
talking about this before we
started recording. I think we're

570
00:33:19,140 --> 00:33:22,980
going to do the next few
episodes on sort of CDW

571
00:33:22,980 --> 00:33:27,300
principles, sort of ci CD
concepts and where it all lives

572
00:33:27,300 --> 00:33:30,780
in the Kubernetes ecosystem
right now. This was for a few

573
00:33:30,780 --> 00:33:34,350
minutes. We talked about this
being the The first of those,

574
00:33:34,380 --> 00:33:39,450
but we've picked it, we jumped
right into the middle. So I

575
00:33:39,450 --> 00:33:41,430
think we'll start that in
earnest here in a couple of

576
00:33:41,430 --> 00:33:45,780
weeks. But is there anything
else we want to we want to kick

577
00:33:45,780 --> 00:33:48,000
this? Do we want to kick this
from another angle? Before we

578
00:33:48,000 --> 00:33:48,690
wrap up?

579
00:33:48,839 --> 00:33:51,569
Tariq Islam: I feel like we've
arrived to a point here where we

580
00:33:51,569 --> 00:33:55,019
could we could confidently tell
folks that there are use cases

581
00:33:55,019 --> 00:33:55,589
for both.

582
00:33:55,770 --> 00:33:57,390
Jamie Duncan: Yeah, I think
we've certainly teased out a

583
00:33:57,390 --> 00:34:01,230
pattern that none of us had
fully recognized before. We'd

584
00:34:01,230 --> 00:34:05,700
all have pieces of it, but I've
never had the whole fault

585
00:34:05,970 --> 00:34:08,100
Tariq Islam: and tools why it's
why I love this podcast with you

586
00:34:08,100 --> 00:34:13,320
guys. It's always a journey of
discovery and reflection. That

587
00:34:13,470 --> 00:34:14,040
fantastic tastic

588
00:34:14,069 --> 00:34:19,739
John Osborne: Yep. There's about
400 projects in the CNC f

589
00:34:19,739 --> 00:34:23,219
landscape for CIC D some I
definitely think we should pick

590
00:34:23,219 --> 00:34:27,509
some of them that are that we
think are gaining traction or

591
00:34:27,509 --> 00:34:29,159
resonating the most with
customers.

592
00:34:30,360 --> 00:34:33,930
Tariq Islam: See ICD is probably
going to cover about 380 of

593
00:34:33,930 --> 00:34:38,490
those. So I mean, we'll get
we'll get right to it in the

594
00:34:38,490 --> 00:34:39,300
next episode.

595
00:34:40,200 --> 00:34:42,900
John Osborne: Do you want to you
want to tackle DevOps to without

596
00:34:42,900 --> 00:34:44,040
being too hand wavy?

597
00:34:44,670 --> 00:34:46,590
Tariq Islam: Well, I just
causing me some anxiety over

598
00:34:46,590 --> 00:34:46,770
here.

599
00:34:48,630 --> 00:34:53,070
Jamie Duncan: You have a stay in
pain behind my left eye. Sweet

600
00:34:53,100 --> 00:34:55,290
Tarik, you want to bring us you
want to close this out? I mean,

601
00:34:55,290 --> 00:34:57,810
this was this was this is the
topic you wanted to cover?

602
00:34:58,260 --> 00:35:01,320
Tariq Islam: Yeah. No, we we So
yeah, just to wrap it up

603
00:35:01,320 --> 00:35:06,060
covered, we covered helm. And
its history in, in this space

604
00:35:06,060 --> 00:35:10,620
that goes way back, I mean, way,
way back, covered its use cases

605
00:35:10,620 --> 00:35:14,820
kind of its architecture and the
iterations in between. We looked

606
00:35:14,820 --> 00:35:18,720
at, at customize and we we
juxtapose them, we compare and

607
00:35:18,720 --> 00:35:23,250
contrast and them. And I think
the coolest thing about this

608
00:35:23,250 --> 00:35:26,520
episode is I think we've all
kind of arrived at a place where

609
00:35:26,520 --> 00:35:29,640
we feel like there's definitely
room for both, but it's got to

610
00:35:29,640 --> 00:35:32,940
be really well thought out. So
again, if there's if there's

611
00:35:32,940 --> 00:35:36,540
anyone out there that's done
this in any real way,

612
00:35:36,900 --> 00:35:39,240
Jamie Duncan: we'd love to hear
from you. Very cool. Thanks for

613
00:35:39,240 --> 00:35:41,460
joining us on episode 10 of K
files.

614
00:35:41,820 --> 00:35:43,140
John Osborne: Thanks, everyone.
Stay safe.

615
00:35:44,790 --> 00:35:45,390
Tariq Islam: Thank you.

