1
00:00:00,000 --> 00:00:06,160
you were in singapore recently now i noticed that you had a singapore sling what makes it a sling

2
00:00:06,160 --> 00:00:13,560
versus just like whatever else i actually have no idea it was i believe rum and a bunch of like

3
00:00:13,560 --> 00:00:21,580
pineapple and stuff um so it's kind of tropical i guess which singapore being near that thing that

4
00:00:21,580 --> 00:00:29,160
goes around the middle of the earth equator i guess that makes it uh so uh it was quite quite

5
00:00:29,160 --> 00:00:35,020
refreshing on a hot humid day and then so what's what's your assessment of the year what's your

6
00:00:35,020 --> 00:00:41,720
assessment of the food situation over there uh so the street food like the hawker centers definitely

7
00:00:41,720 --> 00:00:51,340
up there uh there's this pretty amazing uh set of gardens right near the uh the harbor sands that

8
00:00:51,340 --> 00:00:58,020
massive crazy hotel with the three towers and the uh thing across the top uh there's these beautiful

9
00:00:58,320 --> 00:01:04,100
gardens right near there and towards the back of it they have like a a satay place which is like

10
00:01:04,100 --> 00:01:13,620
a dozen different little satay uh focus all trying to sell you their satays which mostly look the same

11
00:01:13,620 --> 00:01:21,340
uh and so going there and just eating like like 20 bucks of satays which is a ridiculous number of

12
00:01:21,340 --> 00:01:28,120
satays is uh a lot of fun now no no what what is what is what is a is is saute like like the way you

13
00:01:28,120 --> 00:01:35,200
would saute onions or is this something different oh it's uh saute even s-a-t-a-y which is like a

14
00:01:35,200 --> 00:01:42,800
meat on a stick with uh you know a bunch of seasoning and stuff on it oh right cook that cook that over

15
00:01:42,800 --> 00:01:49,760
charcoal hmm man that does sound good what kind of sauce do you put on that uh that is a good question it

16
00:01:49,760 --> 00:01:55,760
was kind of a spicy meat maybe peanutty something inside of my brain wants to tell me it was peanutty

17
00:01:55,760 --> 00:02:01,080
um sauce that you kind of just dipped into or bought over the top ostensibly as you know we invited you

18
00:02:01,080 --> 00:02:04,400
here to talk about kubernetes but i'm pretty sure we're gonna go the whole show talking about singapore

19
00:02:04,400 --> 00:02:09,140
food so we can we can scrap the show notes that's fine with me

20
00:02:09,140 --> 00:02:14,020
well joking aside i think he had us at meat up meat on a stick

21
00:02:14,020 --> 00:02:18,080
i think that was what really triggered meat on a stick that's right it's not just for germans anymore

22
00:02:18,080 --> 00:02:24,640
it's it's a global phenomena so why don't you introduce yourself sure my name is paul tchaikovsky

23
00:02:24,640 --> 00:02:31,180
and i'm a advocate at pivotal uh so i work alongside you michael uh under our benevolent dictator

24
00:02:31,180 --> 00:02:36,680
uh andrew schaefer mm-hmm i think i think most recently uh we were we were trying to do some

25
00:02:36,680 --> 00:02:42,980
research to advocate uh conveyor belt sushi which i can advocate not only to developers but others as

26
00:02:42,980 --> 00:02:48,300
well it's it's it's a good good uh good thing to check into uh let's go over a few news items feel

27
00:02:48,300 --> 00:02:53,100
free to uh you know when you're not thinking about meat on a stick or peanutty sauce to you know jump

28
00:02:53,100 --> 00:02:59,380
in if you want to uh paul but first of all uh it was like it was like earnings last week as i recall

29
00:02:59,380 --> 00:03:03,700
and i think there's a few more trickling out like i saw that new relic has turned a

30
00:03:03,700 --> 00:03:07,420
non-gap as it were uh profit which is fun or

31
00:03:07,420 --> 00:03:12,040
as people confusingly call it operating revenue those accountants need to get together and be like

32
00:03:12,040 --> 00:03:17,720
revenue is always revenue and then profit is always profit no matter what weird word we put in front of it

33
00:03:17,720 --> 00:03:20,400
but whatever i should worry about other things

34
00:03:20,400 --> 00:03:27,080
but uh it looks like uh amazon and and uh google and microsoft all all these people are doing pretty

35
00:03:27,080 --> 00:03:32,100
well in their their cloud division yeah good summary everyone's making lots of money hand over fist

36
00:03:32,100 --> 00:03:37,020
amazon uh and they keep hiring like crazy i think they added another 25 000 people this is amazon as

37
00:03:37,020 --> 00:03:41,920
a whole not aws but i think they're up to 560 something thousand people one of the largest private

38
00:03:41,920 --> 00:03:46,860
companies in the world at this point are non-government companies i should say so they're growing

39
00:03:46,860 --> 00:03:51,700
making more money aws seems to be driving a lot of that uh google i think said they crossed a billion

40
00:03:51,700 --> 00:03:56,600
dollars for quarterly revenue something like that for cloud but they also do the kind of weird

41
00:03:56,600 --> 00:04:01,460
everything's lumped in with cloud number it's hard to tell between you know google docs and cloud

42
00:04:01,460 --> 00:04:07,240
stuff and then you know microsoft azure had like 98 growth so they're all doing great and then alibaba

43
00:04:07,240 --> 00:04:12,460
just came out with theirs and they were at like 500 million dollars either a quarter and like that's

44
00:04:12,460 --> 00:04:17,300
there a lot of people seem to think they're the leading firms of the mega clouds and it'll be fun

45
00:04:17,300 --> 00:04:21,620
to watch that yeah you know that would be an interesting metric to start watching uh in addition

46
00:04:21,620 --> 00:04:25,700
you know one of the the proxies for cloud that people like to watch is uh capital expenditures

47
00:04:25,700 --> 00:04:32,980
which probably mostly makes sense for those three and in until as long as amazon breaks out whole

48
00:04:32,980 --> 00:04:37,960
food separately and they don't open more retail stores then you know what else are they spending money on

49
00:04:37,960 --> 00:04:43,020
than than computers and and whatever those uh plant pods are i guess but those probably are pretty cheap

50
00:04:43,020 --> 00:04:49,480
compared to uh a cloud but uh looking at hiring people is is interesting as well which i mean i guess

51
00:04:49,480 --> 00:04:53,920
you would want to look at you know sort of weighted by the salary that they get to see what what the uh

52
00:04:53,920 --> 00:04:59,600
what the job is but that that would be interesting to uh see how that's working out uh so and then also

53
00:04:59,600 --> 00:05:05,200
the uh uh the the cloud foundry summit north america their their schedule was announced i think i think i was

54
00:05:05,200 --> 00:05:11,620
told that there was a huge response a great uh response so sadly i will not be speaking there

55
00:05:11,620 --> 00:05:17,340
which is fine i don't think i sent them a very compelling abstract but what what have you have

56
00:05:17,340 --> 00:05:21,100
you combed over the schedule what what does it look like that they'll be talking about this year

57
00:05:21,100 --> 00:05:25,880
yeah a couple highlights it's of course including they did accept my talk which i guess is a blessing

58
00:05:25,880 --> 00:05:29,280
and a curse on one hand it means i have i get to talk on the other hand it means i have to prepare

59
00:05:29,280 --> 00:05:35,740
a talk so that's uh that'll be fun but you know the keynotes uh got announced there's some folks

60
00:05:35,740 --> 00:05:40,740
from google like kelsey hightower and gabe from microsoft and a couple other customers like media

61
00:05:40,740 --> 00:05:46,020
but uh the thing of note i found interesting is pivotal did sponsor a.net track so we've got

62
00:05:46,020 --> 00:05:52,920
all sorts of talks from customers and microsoft themselves and uh um some other vendors kind of

63
00:05:52,920 --> 00:05:57,560
covering just.net in cloud foundry you know what does it mean to do cloud native.net and so

64
00:05:57,560 --> 00:06:02,540
excited to see that coming more to to pcf the cloud foundry just kind of opening this up to more

65
00:06:02,540 --> 00:06:07,560
developers that maybe traditionally have paid attention to this now now is your talk going to

66
00:06:07,560 --> 00:06:13,180
be on uh.net i know i know you're big.net fan i know that's why i went against uh type so it's a

67
00:06:13,180 --> 00:06:19,720
java and azure talk whoa the guy who leads java on azure at microsoft so now i don't want to expose

68
00:06:19,720 --> 00:06:25,260
richard too much but but paul some people when they put together a talk they just sort of write an

69
00:06:25,260 --> 00:06:31,120
abstract and then they do they work on the talk later what is your method for doing a talk do you

70
00:06:31,120 --> 00:06:35,880
completely rehearse the talk and then do an abstract and with the confidence that you could give it do

71
00:06:35,880 --> 00:06:41,700
you submit it to people what's what's the order of operations i usually just throw a bunch of words

72
00:06:41,700 --> 00:06:50,020
down on a in like notepad.exe or whatever it is whatever you have at hand and uh and copy and paste

73
00:06:50,020 --> 00:06:54,340
that somewhere maybe ask someone to have a quick look over it and make sure i'm not crazy yeah uh and

74
00:06:54,340 --> 00:06:59,660
i sort of i'll try i'll try and build like three or four of those that seem somewhat interesting to

75
00:06:59,660 --> 00:07:05,980
me and then i'll spread them around and if someone bites then i'm like oh i guess i better write this

76
00:07:05,980 --> 00:07:11,940
and i get busy writing it and you go through that high low thing of like i know what i'm doing oh this

77
00:07:11,940 --> 00:07:15,640
is all terrible i'm going to rewrite it blah blah blah and eventually come up with something that's

78
00:07:16,640 --> 00:07:21,840
possible as a talk that you don't get booed at yeah i i like i like the we we should call that the uh

79
00:07:21,840 --> 00:07:27,080
the notepad.exe method i think i think that's that's always a good start because you know it was

80
00:07:27,080 --> 00:07:34,140
just uh i think just last week there was uh if if you uh remember uh ashley mcnarma who worked here for

81
00:07:34,140 --> 00:07:38,760
about three days as i recall she was uh she was tweeting that someone was asking about you know

82
00:07:38,760 --> 00:07:43,100
putting together cfps and worrying about it and i think i think that really is the secret is like

83
00:07:43,100 --> 00:07:49,040
there's really no uh there's no secrets just like you just throw stuff together and uh and and do

84
00:07:49,040 --> 00:07:52,920
something i replied to hers on that because something bridget taught me is that you actually

85
00:07:52,920 --> 00:07:56,700
just start the year by writing three or four abstracts of talks you want to do and those are

86
00:07:56,700 --> 00:08:00,000
the ones you just throw at every conference and ideally you actually have some thoughts behind them

87
00:08:00,000 --> 00:08:04,480
but just instead of just freezing like a deer in the headlights when you see a cfp you can just pick

88
00:08:04,480 --> 00:08:08,640
one of the talks you think are fun that you came up with already so that doesn't mean you've

89
00:08:08,640 --> 00:08:13,120
actually done the talk yet but at least you've got a you know at least a skeleton in place i got i got

90
00:08:13,120 --> 00:08:18,620
that same advice from uh like john willis a while ago or maybe it was this guy chris dancy the most

91
00:08:18,620 --> 00:08:24,880
internet connected man on the face of the planet according to the swedes and esquire magazine uh but

92
00:08:24,880 --> 00:08:29,500
that that is good to sort of just like uh set yourself up for it it's also good to make sure at least

93
00:08:29,500 --> 00:08:36,520
one of those can kind of be adapted for different audiences so you know it might be say you're doing a

94
00:08:36,520 --> 00:08:42,040
talk about kubernetes if you do it in a way that you could turn it into like focused on like php

95
00:08:42,040 --> 00:08:50,000
developers or devops or you know cloud foundry but have the same basic core of talk and just kind of

96
00:08:50,000 --> 00:08:58,520
change some of the targeting then you can kind of easily tweak that talk a little bit and give it to

97
00:08:58,520 --> 00:09:04,360
a bunch of different places that uh are quite buried in like who would attend and what they would be

98
00:09:04,360 --> 00:09:10,780
interested in yeah you know maybe that's that's a good tip for me is i should uh i should wrap my uh

99
00:09:10,780 --> 00:09:16,840
my my abstract in sheep's clothing when it when it's going into in a situation make it make it a little

100
00:09:16,840 --> 00:09:21,800
more targeted there was another good piece of advice there about uh i mean you know like all good pieces

101
00:09:21,800 --> 00:09:27,840
of advice once you type it out it seems uh obvious but it was like figure out figure out the themes of

102
00:09:27,840 --> 00:09:33,600
the conference and write it to that which uh which is which is pretty good well just a couple more

103
00:09:33,600 --> 00:09:38,640
things and then we'll get on to uh speaking of tailoring your message to audiences to to kubernetes

104
00:09:38,640 --> 00:09:44,960
but that said cfp talks always good because i think uh i and everyone else like uh you know i would

105
00:09:44,960 --> 00:09:49,320
encourage people to go speak at conferences like uh there's there's uh there's plenty of them to go

106
00:09:49,320 --> 00:09:54,260
talk to and chances are you have something interesting to say if if you just work on it because

107
00:09:54,260 --> 00:10:01,040
in this space everything's always uh going crazy and changing and evolving and uh as we'll get to

108
00:10:01,040 --> 00:10:04,620
once we're done with the news but there's always something new to talk about if you have some

109
00:10:04,620 --> 00:10:11,320
expertise in it because just like in doing a cfp we're all just trying to figure it out so uh there's

110
00:10:11,320 --> 00:10:16,140
that so there's your little cfp interlude so uh speaking of new things there's a new version of

111
00:10:16,140 --> 00:10:21,340
spring cloud data flow out version 1.3 what's what's in this release richard yeah i pointed this one out

112
00:10:21,340 --> 00:10:26,420
just because it was a giant release and it was open source as well as the the pcf version is going

113
00:10:26,420 --> 00:10:32,180
to be coming out uh any day now so people who use pcf so keep an keep an eye out for that but those

114
00:10:32,180 --> 00:10:35,900
the big changes were and again for people who don't remember spring cloud data flow is the way you build

115
00:10:35,900 --> 00:10:41,680
kind of data pipelines made up of spring boot apps so you know take in some data from amazon s3

116
00:10:41,680 --> 00:10:47,720
maybe filter it maybe do some comparison with other data then drop it into a database so build that up as a

117
00:10:47,720 --> 00:10:52,300
set of apps and then connect them all and so a lot of good changes here one of the big ones is you can

118
00:10:52,300 --> 00:10:56,840
do continuous delivery of some of the components so you could decide to say hey let's update this

119
00:10:56,840 --> 00:11:00,720
version of this one piece of the pipeline without redeploying the whole pipeline let's just update

120
00:11:00,720 --> 00:11:05,520
this one thing so that's really cool that you could keep updating individual pieces without interrupting

121
00:11:05,520 --> 00:11:11,680
the flow uh some uyi changes usability changes they added some more of these connector apps so if you

122
00:11:11,680 --> 00:11:19,240
want to be able to talk to other endpoints like tensorflow or mqtt which is an iot friendly protocol or

123
00:11:19,240 --> 00:11:24,040
things like that so just some really cool stuff spring cloud function is supported now for for

124
00:11:24,040 --> 00:11:28,720
functions and some of these activities so it was a it was a nice release and then keep your eye out for

125
00:11:28,720 --> 00:11:35,120
the pcf version where pcf actually manages data flow for you uh here in the coming days workflow and data

126
00:11:35,120 --> 00:11:41,760
management otherwise known as anywhere from 60 to 90 percent of all enterprise software right that's

127
00:11:41,760 --> 00:11:47,220
right i'm sure there's some things that fall out of the domain but uh as when this comes up as as i'm

128
00:11:47,220 --> 00:11:51,740
always fond of saying the uh getting some input of a decision to be made having a bunch of people

129
00:11:51,740 --> 00:11:57,340
figure out what to do and then outputting some some decision that causes money to be lost or made or

130
00:11:57,340 --> 00:12:04,460
customers retained or fulfilling some promise you made to them you know sounds like business so that's uh

131
00:12:04,460 --> 00:12:10,280
that's that's that's why that's that's why it's always interesting to see uh how that's used and

132
00:12:10,280 --> 00:12:16,220
update so just one other thing uh it's more of a go check it out so in the continuing uh you know

133
00:12:16,220 --> 00:12:21,240
ironically with with three uh three white guys talking about it but in the continuing thing to

134
00:12:21,240 --> 00:12:25,720
get more diversity into our our tech world there's there's a new book out called uh bro tofia

135
00:12:25,720 --> 00:12:30,560
fantastic title there and there's an excerpt from it i think it's over in bloomberg uh kind of going

136
00:12:30,560 --> 00:12:38,120
over uh a history of uh early hiring of of women in executive positions at google and and i don't

137
00:12:38,120 --> 00:12:43,280
think at facebook but at google but it's a good it's a good sort of historic look about the uh how how

138
00:12:43,280 --> 00:12:48,500
gender gets involved in things for good and bad and it reminded me of another book uh i'll put a link to

139
00:12:48,500 --> 00:12:54,840
it in the uh the show notes which will be at pivotal.io slash podcast um but it reminded me of

140
00:12:54,840 --> 00:12:59,060
another book if you like academic writing i probably mentioned it here before called uh programmed

141
00:12:59,060 --> 00:13:05,980
inequality which is a similar historic study going all the back to all the way back to world war ii i

142
00:13:05,980 --> 00:13:12,240
think about the uh the role of women in computing and how i think maybe starting in the late 60s they

143
00:13:12,240 --> 00:13:18,220
were uh sort of weeded out and how that uh you know it's not like we think of britain as a source

144
00:13:18,220 --> 00:13:23,400
of awesome computers uh no offense or anything but it makes a pretty good case of how in the government

145
00:13:23,400 --> 00:13:28,900
that was obviously harmful and uh hurt industry to some extent so those are two good uh studies to

146
00:13:28,900 --> 00:13:33,660
have in your back pocket there so uh i think i think how how long ago did you start working here

147
00:13:33,660 --> 00:13:40,140
paul it was uh the end of last year sometime just a few months yeah it was like uh early november i

148
00:13:40,140 --> 00:13:46,640
think i uh joined on hmm that's right so so but before that i mean but give us a background of of what

149
00:13:46,640 --> 00:13:51,920
uh what what you've been working on we're going way back i come from a sysadmin background uh got my

150
00:13:51,920 --> 00:13:57,820
started doing like isp stuff and then you know late 90s like a lot of folks kind of it now age group

151
00:13:57,820 --> 00:14:02,940
uh ended up doing this whole devops thing uh because i had a lot of service it needed to be

152
00:14:02,940 --> 00:14:09,460
configured very fast and a good way to do that and so i did the whole devops thing for a couple of

153
00:14:09,460 --> 00:14:16,080
years uh accidentally got into cloud was doing open stack amazon that sort of stuff and then more

154
00:14:16,080 --> 00:14:23,000
recently got into uh kubernetes stuff uh and that's kind of how i ended up where we're at uh but

155
00:14:23,000 --> 00:14:30,920
interestingly from differing from a lot of the uh my peers i guess uh i don't come from a development

156
00:14:30,920 --> 00:14:35,460
background uh so it's kind of weird to say i'm a developer advocate that's not a developer

157
00:14:35,460 --> 00:14:40,800
but that's uh kind of where we're at you know sysadmins are people too they need some hope

158
00:14:40,800 --> 00:14:46,020
some advocacy not not just this developer horde running roughshod over them and insulting their shell

159
00:14:46,020 --> 00:14:53,140
scripts exactly well well so give it give us a uh you know just a very uh in a helpful way a

160
00:14:53,140 --> 00:14:58,340
rudimentary overview of like what kubernetes is now you know i've read several things you got you got

161
00:14:58,340 --> 00:15:04,740
your pods and uh your containers and then you got some other stuff but as listeners to my other

162
00:15:04,740 --> 00:15:10,980
podcasts will know you know i'm always i'm always uh uh i always enjoy a good refresher on and what's

163
00:15:10,980 --> 00:15:16,780
actually in there so just sort of like first of all like what what problem is it solving and then and

164
00:15:16,780 --> 00:15:22,380
then when you wind your way through that like how does it solve that for you yeah so i guess uh the

165
00:15:22,380 --> 00:15:31,220
problem it's solving is uh somewhere between a paas and ias um so you know you got a paas you're like

166
00:15:31,220 --> 00:15:36,660
hey here's some source code run it for me i don't really care how and an ias you're like

167
00:15:36,660 --> 00:15:44,820
but can i have a vm and can i have some storage and can i have some networking too please and now

168
00:15:44,820 --> 00:15:50,480
i'll sort of wire it all together whereas uh kubernetes you kind of hey here's a here's a

169
00:15:50,480 --> 00:15:55,320
container that i've already built from my source code and i want you to run it for me so it's kind

170
00:15:55,320 --> 00:16:00,220
of in that in that middle section between the two not quite a paas not quite an ias and and why do you

171
00:16:00,220 --> 00:16:05,660
think uh like what would be the motivation for operating in that between the two area like when do you

172
00:16:05,660 --> 00:16:08,100
when do you want that much control over something

173
00:16:08,100 --> 00:16:17,900
right so you know i think when you're if you're just writing uh a fairly simple you know front end

174
00:16:17,900 --> 00:16:24,800
app you know following all the all the 12 factors and it's cloud native and you don't really need that

175
00:16:24,800 --> 00:16:30,540
control you can just say run it for me uh but when you've got something more complicated you know it's

176
00:16:30,540 --> 00:16:37,900
not fully cloud native maybe it's an older style uh monolithic app or maybe it's a database like

177
00:16:37,900 --> 00:16:44,460
cassandra where it's somewhat cloud native but it you know requires you to have storage somewhere

178
00:16:44,460 --> 00:16:52,660
uh kubernetes kind of gives you that uh middle ground where you've sort of got you know in the old way of

179
00:16:52,660 --> 00:16:59,740
doing things you'd have to write config management code you'd have to write uh cloud formation you'd have

180
00:16:59,740 --> 00:17:06,320
to write scripts to have jenkins deploy all that deploy all those for you in the right order whereas

181
00:17:06,320 --> 00:17:12,180
with kubernetes you have you know you have your image and you have a manifest which is a fairly small

182
00:17:12,180 --> 00:17:18,800
yaml file which just says hey kubernetes here's my image and this is how we should run it so it saves a

183
00:17:18,800 --> 00:17:25,500
lot of typing uh and in theory reduces the chance of uh human error creeping in i think would you say

184
00:17:25,500 --> 00:17:29,880
that the kind of like helpfulness of that because i mean i don't know correct me if i'm wrong but it's

185
00:17:29,880 --> 00:17:36,800
still the basic sense of uh i have these units of compute like an image or a container or whatever

186
00:17:36,800 --> 00:17:43,180
and i want them to group i want to group them together somehow and i would like them to be able

187
00:17:43,180 --> 00:17:49,280
to talk to each other um and then they also need like this storage right like i mean those are kind

188
00:17:49,280 --> 00:17:53,900
of the primitives of any distributed computing application i don't know you layer in other stuff

189
00:17:53,900 --> 00:18:00,240
for more severe security and load balancing and all your wingdings and whatnot but um so so there's

190
00:18:00,240 --> 00:18:08,000
like how how does kubernetes achieve making that better than using an iaz like uh and then to lead

191
00:18:08,000 --> 00:18:14,800
the witness a little bit like is it because you have less choice or it's better at automation or or

192
00:18:14,800 --> 00:18:20,920
like what like what's what's its deal as it were about how it achieves betterness it's designed with a

193
00:18:20,920 --> 00:18:28,640
focus on running applications whereas cloud is designed with a focus on running you know virtual

194
00:18:28,640 --> 00:18:35,040
machines or operating systems and so the prim are much more specific to running those applications

195
00:18:35,040 --> 00:18:43,560
and wiring those applications together and that kind of i guess that's the to me that's the the big

196
00:18:43,560 --> 00:18:47,360
difference when you look at running the environment says going through some of your blog posts and things

197
00:18:47,360 --> 00:18:51,940
that you've written in the past about this you know not to be too self-serving but as we look at what

198
00:18:51,940 --> 00:18:55,740
we're trying to do with little container service what i mean in general what do you think are some of the

199
00:18:55,740 --> 00:19:00,160
operational things though with teams who do set up these environments themselves what kind of things

200
00:19:00,160 --> 00:19:04,200
might they not be aware of or whether some sort of things that are really exciting after they've stood

201
00:19:04,200 --> 00:19:08,840
up but then there are operational activities or things like that what's the sort of life cycle things

202
00:19:08,840 --> 00:19:14,300
that folks might not be aware of when they do these things themselves kubernetes is in itself a fairly

203
00:19:14,300 --> 00:19:23,140
complex distributed system um and because of the the resources it has it requires uh you know you need

204
00:19:23,140 --> 00:19:27,000
to have some sort of storage somewhere you need to have some sort of networking somewhere there's a lot

205
00:19:27,000 --> 00:19:31,600
of things that you need before you can even install kubernetes and a lot of choices you need to make

206
00:19:31,600 --> 00:19:38,680
about how you're going to install kubernetes um i you know i i kind of say that if you uh if you

207
00:19:38,680 --> 00:19:46,920
attempted to build failed in the past now you can attempt to build and install kubernetes and fail

208
00:19:46,920 --> 00:19:52,660
uh it's kind of you know the same thing there's some differences in complexity um but at the end of

209
00:19:52,660 --> 00:20:00,260
the day uh it's not necessarily an easy thing to do and unless your business's core competency is running

210
00:20:00,260 --> 00:20:06,320
kubernetes just getting to running kubernetes is not really adding any value to you right because you've

211
00:20:06,320 --> 00:20:14,100
probably spent six months or more and however much engineering time to try and build this uh

212
00:20:14,100 --> 00:20:19,540
platform which you could have just asked someone to give you right i mean you're yourself i think you uh

213
00:20:19,540 --> 00:20:24,780
you've written about even deploying applications to these environments thank you you have a example of

214
00:20:24,780 --> 00:20:30,060
your first helm chart i was reading through last night uh so how does the developer push code do you

215
00:20:30,060 --> 00:20:36,120
see them typically doing ci sort of processes and not actually using a kubectl sort of command to apply

216
00:20:36,120 --> 00:20:40,840
a configuration deploying it using helm charts what do you think or what are you observing as people figure

217
00:20:40,840 --> 00:20:47,760
out ways to deploy containers as as apps yeah so you know ideally no one apart from the kubernetes

218
00:20:47,760 --> 00:20:54,560
kubernetes administrators would be running kubectl or kubectl commands uh it would be done by

219
00:20:54,560 --> 00:21:01,020
some sort of ci system some sort of you know robot that's being taught how to deploy that application

220
00:21:01,020 --> 00:21:07,620
and i think probably more common it's gonna it's gonna be running helm or something like helm

221
00:21:07,620 --> 00:21:14,200
um to do so because kubernetes manifest themselves are quite static uh they're just a a yaml

222
00:21:14,200 --> 00:21:21,140
representation of a data structure and so you can't really do any sort of intelligence there

223
00:21:21,140 --> 00:21:24,380
and you know if in staging environment you have one database production environment you have another

224
00:21:24,380 --> 00:21:29,760
database you just have straight yaml there's no way to really say okay use that database first use this

225
00:21:29,760 --> 00:21:35,440
database and so helm sort of brings that in and gives you that templating ability to say

226
00:21:35,440 --> 00:21:40,580
you know in my staging environment here are some of the settings i need to be set first my production

227
00:21:40,580 --> 00:21:45,320
environment here are some of the settings i need that need to be set um so i i definitely think that

228
00:21:45,320 --> 00:21:50,260
there's there's a progression where you're going to just write kubernetes manifest locally in your laptop

229
00:21:50,260 --> 00:21:55,480
and make sure it works with minikube then you're going to be like okay i need to make sure this is

230
00:21:55,480 --> 00:22:01,220
actually going to deploy to various environments so you might write uh you might then convert that uh

231
00:22:01,220 --> 00:22:07,600
kubernetes manifest into helm charts and then hopefully your ci jenkins or whatever tool people are using

232
00:22:07,600 --> 00:22:14,220
these days uh you'll have to do the actual you know helm install helm update commands to actually

233
00:22:14,220 --> 00:22:21,700
install and upgrade your applications onto kubernetes so so then uh like i mean uh to you to use uh

234
00:22:21,700 --> 00:22:26,620
richard's word obviously we're biased and self-serving but like when when you sort of look at it

235
00:22:26,620 --> 00:22:31,460
evaluating if you were giving people advice about evaluating like which kubernetes thing to use

236
00:22:31,460 --> 00:22:36,060
right like it seems like well first of all you'd be like you should be an ops person right like if

237
00:22:36,060 --> 00:22:39,980
you're a developer worrying about this then you should ask for more budget to not worry about this

238
00:22:39,980 --> 00:22:45,740
if if you have to yeah or or like you know your hobby is fascinating could also be your response

239
00:22:45,740 --> 00:22:52,120
um but so if you're talking with sort of like the right people like how what would be the way you

240
00:22:52,120 --> 00:22:57,260
like consult with them to to evaluate which one they should use like what are the things that they need

241
00:22:57,260 --> 00:23:01,580
and the attributes that they should be looking for and i don't know if you're supposed to say distro

242
00:23:01,580 --> 00:23:07,420
in the kubernetes world nowadays but like how would how would how would they come up with a feature

243
00:23:07,420 --> 00:23:12,560
matrix to make a decision to make a joke out of the question you know the main thing is to make sure

244
00:23:12,560 --> 00:23:20,980
that the kubernetes you get looks and acts like a kubernetes which seems kind of obvious but you know one of the

245
00:23:20,980 --> 00:23:26,780
things that were being promised with kubernetes is if you write your kubernetes manifests you should be

246
00:23:26,780 --> 00:23:32,720
able to run your application anywhere that supports kubernetes uh and so far like that's proving to be

247
00:23:32,720 --> 00:23:37,300
true across the public clouds you know they each each of the major public clouds has a kubernetes

248
00:23:37,300 --> 00:23:44,600
distro and they all look and smell like kubernetes and with very very minimal if no differences you can

249
00:23:44,600 --> 00:23:49,920
deploy your app to any of them and it just works and so making sure that you have that same

250
00:23:49,920 --> 00:23:54,660
portability as you bring you know kubernetes into your own data center i think is the

251
00:23:54,660 --> 00:24:01,720
uh probably the key thing um and then also just making sure that they're keeping up with the

252
00:24:01,720 --> 00:24:06,780
the fairly you know recent versions kubernetes given how quickly kubernetes is moving and how quickly

253
00:24:06,780 --> 00:24:13,160
uh features are coming in that are really table stakes the moment they get into kubernetes

254
00:24:13,160 --> 00:24:19,900
uh it's important to know that you know when kubernetes uh 1.9 is out that you'll have

255
00:24:19,900 --> 00:24:28,120
uh as quickly as possible kubernetes 1.9 available to you i think you know the gke service uh they're

256
00:24:28,120 --> 00:24:35,260
quite quick at uh making sure that the latest version of kubernetes is available to you and i think it's wise

257
00:24:35,260 --> 00:24:42,920
to make sure that uh you don't lag too behind uh what gke and what the communities uh community in

258
00:24:42,920 --> 00:24:49,700
general uh is is offering can i ask you without you know no naming names but what are the things you

259
00:24:49,700 --> 00:24:53,580
mentioned versioning but what are other things that braid compatibility that you see in the kubernetes

260
00:24:53,580 --> 00:24:57,760
world as you say there's lots of distributions there's a lot of people doing things with it so what are

261
00:24:57,760 --> 00:25:02,600
those things if i'm a an end user i'd say look this is a layer of the platform where vendors try to

262
00:25:02,600 --> 00:25:06,900
differentiate themselves and my app might not move from here to here where do you see those layers

263
00:25:06,900 --> 00:25:11,160
where vendors are purposely differentiating by doing things that aren't super portable now i haven't

264
00:25:11,160 --> 00:25:16,420
looked too deeply at what uh all the vendors are doing uh so i don't have a great answer for that

265
00:25:16,420 --> 00:25:21,520
but i do know that you could make decisions around storage and networking that could make kubernetes

266
00:25:21,520 --> 00:25:30,940
behave differently or you know if you if if your vendor was wiring on a bunch of uh you know special

267
00:25:30,940 --> 00:25:38,660
source on top of on kubernetes then that special source probably isn't going to be available in gke or

268
00:25:38,660 --> 00:25:48,120
aks or whichever other kubernetes uh location you want to go to um so while i don't know specifically

269
00:25:48,120 --> 00:25:55,640
what uh a distro might be breaking uh i could see it happening quite easily so so like the the high

270
00:25:55,640 --> 00:26:01,060
level things for evaluating are basically like and and i i noticed this in uh following the spaces i

271
00:26:01,060 --> 00:26:06,600
forget the exact wording but uh it's always like oh we we have the we we pull the most updated thing

272
00:26:06,600 --> 00:26:11,760
and are compatible with it right so the the core of your kubernetes thing basically that seems to be the

273
00:26:11,760 --> 00:26:17,480
norm now is that there's no uh specialization of it uh if you will and instead i guess you specialize

274
00:26:17,480 --> 00:26:22,480
on the uh at the bread layer not at the uh the meat layer the pastrami sandwich all the same inside

275
00:26:22,480 --> 00:26:28,920
and then and then to that end uh i don't know you you tell me but there's a certain amount of months

276
00:26:28,920 --> 00:26:33,260
that you want to have your frequent updates i guess like is you think that's like a three or six month

277
00:26:33,260 --> 00:26:39,980
interval or like how frequently should you see that that your uh your distro is providing an update

278
00:26:39,980 --> 00:26:46,880
yeah so kubernetes itself does a new minor release every three months and then a bunch of patch releases

279
00:26:46,880 --> 00:26:54,820
in the middle uh so i think you know if you were much more than a full release behind i think uh that

280
00:26:54,820 --> 00:27:02,120
would be somewhat concerning um and you know i think it's it's okay for your installation to be behind

281
00:27:02,120 --> 00:27:06,820
because you know you have to decide when you're going to upgrade your platform but to make sure that

282
00:27:06,820 --> 00:27:13,160
wherever you're getting your kubernetes from uh has the ability to deploy the newer versions and upgrade

283
00:27:13,160 --> 00:27:18,720
to the newer versions um i think uh one of the big differentiators back in the open stack days was

284
00:27:18,720 --> 00:27:27,180
being able to upgrade your uh open stack um very few distributions actually could do in place upgrades

285
00:27:27,180 --> 00:27:32,660
of your open stack uh which is kind of a dirty little secret no one talked about so making sure that we

286
00:27:32,660 --> 00:27:38,900
don't fall into that same pit in kubernetes is pretty important so being able to upgrade to the new

287
00:27:38,900 --> 00:27:45,780
version at any time i think is the important thing that way you can decide uh when and how you can

288
00:27:45,780 --> 00:27:52,200
actually do that upgrade and i think a lot of people are going to be running more than one kubernetes

289
00:27:52,200 --> 00:28:02,940
uh especially in the in the near term where um kubernetes doesn't have any sort of uh like per user

290
00:28:02,940 --> 00:28:10,840
uh authentication without uh integrating something like ldap or uh or whatever uh and that's you know

291
00:28:10,840 --> 00:28:16,720
while most people are still trying to figure out how to run kubernetes you know there's still a ways

292
00:28:16,720 --> 00:28:24,080
off figuring out if you know the systems they have and so a lot of folks seem to be saying okay well

293
00:28:24,080 --> 00:28:30,000
instead of running one big kubernetes um that everyone has access to because we have great you know user

294
00:28:30,000 --> 00:28:36,480
separation maybe we'll run five kubernetes and give each department their own kubernetes or have each

295
00:28:36,480 --> 00:28:42,240
environment on their own kubernetes almost multi-tenancy through clustering versus uh

296
00:28:42,240 --> 00:28:49,880
sharing the same space exactly yeah exactly and so having that it also becomes very important to be

297
00:28:49,880 --> 00:28:58,040
able to uh deploy and operate multiple kubernetes quite easily um you know if if installing one

298
00:28:58,040 --> 00:29:03,540
kubernetes takes a week then that's going to be a big barrier entry to be able to run five kubernetes

299
00:29:03,540 --> 00:29:07,840
right yeah it's a great point it's nice to have that choice of when you upgrade so you might not

300
00:29:07,840 --> 00:29:13,080
upgrade the moment that pivotal or google or whoever update bits but it's nice to have the choice of you

301
00:29:13,080 --> 00:29:17,100
you control when it rolls out you're not beholden to the vendor to hopefully catch up after six or eight

302
00:29:17,100 --> 00:29:23,860
months so that's a great point so then scurrying behind uh maybe not in a mischievous way but but a

303
00:29:23,860 --> 00:29:27,780
fair amount of what you're saying is uh it connects to another interesting trend that i know you and i

304
00:29:27,780 --> 00:29:32,720
have sort of like uh talked about a little bit but as you're saying uh if you're a developer you

305
00:29:32,720 --> 00:29:37,520
probably shouldn't be running this it's like the operations people who run this so uh like how do

306
00:29:37,520 --> 00:29:43,240
you think having something like a kubernetes in place like affects the notion of like a literal

307
00:29:43,240 --> 00:29:48,740
notion of like devops like does it mean that there's less of that like maybe you put a space

308
00:29:48,740 --> 00:29:54,140
instead of those two words instead of camel casing it or like how does it sort of i don't know

309
00:29:54,140 --> 00:30:00,120
do a lot of what devops people would be doing manually on their own it all goes back to and i don't

310
00:30:00,120 --> 00:30:07,020
want to get into too much like what the hell even is devops um like to me devops is kind of a practice

311
00:30:07,020 --> 00:30:13,860
so if you're following a certain set of you know uh practices then you're doing devops

312
00:30:13,860 --> 00:30:21,040
and that could mean that you're developing the code and deploying it and doing whatever or it could mean

313
00:30:21,040 --> 00:30:26,780
that you're developing the code and another team is developing the automation and it all comes

314
00:30:26,780 --> 00:30:33,980
together um and you could fairly call both of those things devops um so what i think uh we're gonna

315
00:30:33,980 --> 00:30:41,420
see is you're gonna have like a cluster ops team which is kind of a group of your sys admins and

316
00:30:41,420 --> 00:30:49,860
software developers that are building running and maintaining your uh platform of which kubernetes is

317
00:30:49,860 --> 00:30:56,760
probably a part of uh and then you're gonna have your application teams uh which are again a combination

318
00:30:56,760 --> 00:31:02,180
of uh you know your more traditional operations and developers that are going to be focused on

319
00:31:02,180 --> 00:31:07,500
using that platform to run their applications paul i want to get your take on i mean we talk about

320
00:31:07,500 --> 00:31:13,380
kubernetes here and containers and in some circles it seems like there's a conflict between the people who

321
00:31:13,380 --> 00:31:18,220
like containers and the people who like serverless or functions whatever we want to label it at at the

322
00:31:18,220 --> 00:31:23,340
moment do you see those things in conflict do you see those things as an evolution do you see this

323
00:31:23,340 --> 00:31:28,600
as better together how do you kind of munge the worlds of people who say look i don't want to care

324
00:31:28,600 --> 00:31:33,980
about stateful sets and load balancers and figuring out a manifest and all this stuff i just want some

325
00:31:33,980 --> 00:31:39,540
code to run somewhere and that's why i like lambda that's why i like azure functions so i mean what do you

326
00:31:39,540 --> 00:31:43,380
what do you think of those worlds how do you see those two ever reconciling or do they have to

327
00:31:43,380 --> 00:31:51,840
um so i i think the reason they like serverless well one of the reasons they like serverless is as you

328
00:31:51,840 --> 00:31:57,080
said they don't really have to do anything special to have their code run and i think that's how where

329
00:31:57,080 --> 00:32:03,760
we as kind of the people that are building the platforms need to make sure that we give our developers

330
00:32:03,760 --> 00:32:11,080
an experience like that whether they're running on containers whether they're running on vms or whether

331
00:32:11,080 --> 00:32:18,220
it's a magic thing up in the sky they should have that same basic experience of i write code i want

332
00:32:18,220 --> 00:32:24,400
code to run and not have to worry about the the underlying uh business of actually making it run

333
00:32:24,400 --> 00:32:33,980
and so i think uh serverless is more an evolution of the user experience to me than it is uh you know

334
00:32:33,980 --> 00:32:40,080
a breakthrough in uh you know technology or anything i think kelsey hightower pointed out uh not long ago

335
00:32:40,080 --> 00:32:48,000
in a blog post that uh you know we were doing serverless a long time ago and we called it uh you know

336
00:32:48,000 --> 00:32:54,280
common gateway interface and that's how we started running you know scripts and php and stuff in the

337
00:32:54,280 --> 00:33:02,880
you know late 90s and that was telling apache hey run this function for me right yeah that's fair i

338
00:33:02,880 --> 00:33:06,680
wonder if but do you think the patterns are different though because as you said i can cram all sorts of

339
00:33:06,680 --> 00:33:11,480
things in a container and i get certain efficiencies and benefits versus most part function platforms

340
00:33:11,480 --> 00:33:17,540
teach folks to do or force people to do a fairly asynchronous sort of event-driven architecture there

341
00:33:17,540 --> 00:33:21,640
may be possibilities in the future for sharing functions between different companies as you

342
00:33:21,640 --> 00:33:26,600
have marketplaces like amazon's doing and so do you think there's a bigger paradigm shift though versus

343
00:33:26,600 --> 00:33:32,980
just the ux experience being a little different there probably is um i think we're still away from

344
00:33:32,980 --> 00:33:43,380
realizing that though um and and and i think in in the meantime uh being able to run existing

345
00:33:43,380 --> 00:33:47,080
workloads and new workloads that don't quite fit the serverless model um

346
00:33:47,080 --> 00:33:55,480
um having something like kubernetes or uh or a paas underneath you is uh really useful uh and i think

347
00:33:55,480 --> 00:34:00,140
it is good though to have things like serverless at your fingertips so that when you do hit something

348
00:34:00,140 --> 00:34:09,140
that's perfect for just having a function that can react to an event and uh you know output some sort

349
00:34:09,140 --> 00:34:17,160
of blob of information or pass on that to uh another thing to process i think uh you know is super important

350
00:34:17,160 --> 00:34:24,240
and so being able to tie the two together uh and uh and run the two side by side uh is definitely

351
00:34:24,240 --> 00:34:31,640
going to be uh very critical and whatever whatever platform you uh you get to use well that's good

352
00:34:31,640 --> 00:34:35,920
i think uh i mean i mean is there anything else you want to throw out before before we wrap up that

353
00:34:35,920 --> 00:34:39,820
you think would be uh good for people know about the kubernetes space no not that i can think of

354
00:34:39,820 --> 00:34:45,380
i mean i mean clearly clearly based on what you said everyone should go out and try to install it

355
00:34:45,380 --> 00:34:50,640
right now that that seems to be the uh the primary takeaway as as i recall they had a little bit of a

356
00:34:50,640 --> 00:34:54,540
laggy connection but that's what i wrote down in my notes right so if you want to experience

357
00:34:54,540 --> 00:35:01,380
installing kubernetes uh google for kubernetes the hard way uh kelsey hightower's got a git repo uh that

358
00:35:01,380 --> 00:35:10,260
tells you in painful detail uh all of the commands you need to run to uh go from zero to kubernetes

359
00:35:10,260 --> 00:35:17,480
uh and it's quite an eye-opening experience and uh shows you how uh how important it is to have

360
00:35:17,480 --> 00:35:22,740
all of that automated in a repeatable and reliable way yeah i think i think that's something that that

361
00:35:22,740 --> 00:35:26,780
we uh we sort of all realized a few years back is like if you want if you want a cloud

362
00:35:26,780 --> 00:35:32,780
then you have to install a cloud like it's pretty difficult it's not like uh it's it's there's a

363
00:35:32,780 --> 00:35:39,600
reason it's a cloud instead of just a vm and and that the reason it contains multiple multitudes of

364
00:35:39,600 --> 00:35:46,020
awesome configuration tasks or toil as as some other people would call it which which is fine it has it

365
00:35:46,020 --> 00:35:50,400
has nice results well uh to that end why don't you know i know you're over there on twitter you're

366
00:35:50,400 --> 00:35:54,380
you're one of these people who has an ever delightful evolving real name that you use there

367
00:35:54,380 --> 00:35:58,440
so that's fun but where were you in twitter and elsewhere that people could look you up

368
00:35:58,440 --> 00:36:01,380
and in a very non-creepy way follow you around the internet

369
00:36:01,380 --> 00:36:09,740
yeah you can find me at pchakowski on twitter uh because when i signed up for twitter i didn't

370
00:36:09,740 --> 00:36:16,380
quite realize that it was really silly to have a unspellable username uh so if you can figure

371
00:36:16,380 --> 00:36:21,020
out how to spell the first half of my last name you can uh find me on twitter we should we should

372
00:36:21,020 --> 00:36:25,140
just see if uh maybe google has worked out well enough that you could just search for like paul

373
00:36:25,140 --> 00:36:30,860
kubernetes and you know because kubernetes easy word to spell equally uh no problem yeah that's right

374
00:36:30,860 --> 00:36:37,700
all right well great well thanks for being on that that was uh that was good stuff and as always

375
00:36:37,700 --> 00:36:42,200
this has been Pivotal Conversations if you want to get the most recent episodes or peruse our back

376
00:36:42,200 --> 00:36:47,240
catalog i was just looking at a speaking of platforms an episode we had with uh the platform

377
00:36:47,240 --> 00:36:51,700
team at allstate uh just going over how they built out their platform and we talked a little bit about

378
00:36:51,700 --> 00:36:56,760
it here but the evolving roles of the platform operators versus the application teams that they

379
00:36:56,760 --> 00:37:02,240
discovered in doing that but there's other episodes a lot of richard and i talking in our uh wonderful

380
00:37:02,240 --> 00:37:09,040
comforting uh you know back and forth voices but you can check those all out over at soundcloud.com

381
00:37:09,040 --> 00:37:15,000
slash Pivotal Conversations just one word and about every thursday i post the uh full show notes

382
00:37:15,000 --> 00:37:19,700
over at pivotal.io slash podcast where you can find links to those things that we mentioned

383
00:37:19,700 --> 00:37:22,720
and with that we'll see everyone next time bye bye
