1
00:00:00,000 --> 00:00:11,960
Welcome to the cloud native in 15 minutes podcast. The goal of this podcast is simple, to explain complex but increasingly important and even strategic technologies and about the time it takes for a coffee break.

2
00:00:12,100 --> 00:00:19,960
We're all busy, but that's not an excuse to not understand, at a high level at least, some of the fundamental technologies that will be powering your company for the next decade.

3
00:00:20,220 --> 00:00:37,200
I'm Derek Harris from Pivotal, and our topic this week is Kubernetes. Joining me to explain is Joe Beta, currently a principal engineer at VMware. Prior to that, Joe was co-founder and CTO of a Kubernetes startup called Heptio and helped create Kubernetes during his time at Google.

4
00:00:37,420 --> 00:00:50,400
Among other things, Joe explains where Kubernetes fits into the broader cloud and digital transformation landscapes, how Kubernetes is evolving, and how the line between open source and enterprise software is blurring thanks to the quality of today's open source communities.

5
00:00:50,860 --> 00:00:53,320
And without further ado, here's Joe.

6
00:00:55,520 --> 00:01:02,300
Okay, Joe, so let's start talking Kubernetes. Can you explain it to listeners in about 30 seconds, high level?

7
00:01:02,300 --> 00:01:08,760
I think the fundamental problem that Kubernetes solves is that you have a lot of computers and you have a lot of stuff you want to run on those computers.

8
00:01:08,920 --> 00:01:16,540
This is generally in a data center. And so Kubernetes solves the problem of actually trying to shove as many programs as possible on a set of computers.

9
00:01:16,660 --> 00:01:22,100
And then once you start doing that, what do you do when computers fail? How do they find each other? How do you actually expose the stuff?

10
00:01:22,260 --> 00:01:26,300
There's a bunch of problems downstream that Kubernetes then helps you solve from that.

11
00:01:26,940 --> 00:01:33,200
Okay. Can I ask when you say computers, does that mean containers or can you define that a little more broadly?

12
00:01:33,380 --> 00:01:37,100
Well, the computer is a physical machine in a data center.

13
00:01:38,020 --> 00:01:42,720
I don't like to use the term server because server is sometimes a process, a software program, right?

14
00:01:42,880 --> 00:01:44,080
It can be confusing.

15
00:01:45,140 --> 00:01:53,260
And then the things that you want to run would be containers because containers are this packaged artifact that you can move around, that you can schedule.

16
00:01:53,260 --> 00:01:58,760
It's sort of a dynamic thingy that we really haven't had in a portable way in the past.

17
00:01:59,420 --> 00:02:09,320
All right. Cool. And a lot of people who don't follow Kubernetes very closely, right, who just know they need to do it, might know it as this project that came out of Google several years ago, right?

18
00:02:09,360 --> 00:02:12,000
I mean, how has Kubernetes evolved since then?

19
00:02:12,520 --> 00:02:17,820
Well, so we launched it five years ago out of Google and it was really, really raw then.

20
00:02:18,540 --> 00:02:23,080
I'm not sure how much code is actually still surviving from the original code base.

21
00:02:23,580 --> 00:02:27,800
And it's just, it's grown in so many ways over the last five years.

22
00:02:28,100 --> 00:02:35,400
Some of it is that we have a thriving community with a bunch of companies being involved and individual users,

23
00:02:35,540 --> 00:02:41,560
everything from, you know, huge companies like IBM and Red Hat and Google and Amazon and Microsoft,

24
00:02:41,820 --> 00:02:46,500
all the way down to, you know, small startups that are actually involved in helping out too.

25
00:02:46,940 --> 00:02:50,760
But it's also grown in terms of its maturity, its ability to solve these problems.

26
00:02:51,680 --> 00:03:03,460
And the model that Kubernetes brings for how it actually approaches solving these problems has proved to be useful in so many domains that I don't think we saw out the gate.

27
00:03:03,460 --> 00:03:04,880
And so that for me is really exciting.

28
00:03:05,900 --> 00:03:06,260
Okay.

29
00:03:06,580 --> 00:03:10,800
And if I'm an IT exec, right, like how does Kubernetes tie into bigger initiatives?

30
00:03:11,160 --> 00:03:11,740
I might care.

31
00:03:11,820 --> 00:03:14,540
Well, that could be cloud native, microservices, IoT.

32
00:03:14,940 --> 00:03:17,340
I mean, there's data, there's digital transformation, right?

33
00:03:17,400 --> 00:03:19,360
Like it seems to touch on all those things to some degree.

34
00:03:19,540 --> 00:03:19,660
Yeah.

35
00:03:19,700 --> 00:03:26,680
I think the key one there that you mentioned is really digital transformation, which, you know, as a technologist, I hear that.

36
00:03:26,740 --> 00:03:30,040
And it sounds like a throwaway BS term that is meaningless.

37
00:03:30,940 --> 00:03:32,960
But the theme here is real, right?

38
00:03:33,020 --> 00:03:38,540
Like we have, you know, the example I use, and don't read too much into the names I'm using here.

39
00:03:38,720 --> 00:03:45,280
But we have sort of like, you know, the Fords of the world trying to figure out how do I become a software company?

40
00:03:45,440 --> 00:03:49,840
At the same time, you have like the Teslas of the world figuring out how do I become a car company?

41
00:03:49,840 --> 00:03:56,280
And this sort of like software-based disruption is playing itself out across every industry.

42
00:03:56,440 --> 00:04:01,380
I mean, there's retail, there's insurance, there's healthcare, there's finance.

43
00:04:01,500 --> 00:04:06,960
Like there's challengers that are sort of born in the software era across all these industries.

44
00:04:07,100 --> 00:04:17,860
And so there's a real effort in mainstream IT to figure out how do I actually reinvent my processes so that I can actually use the cloud, use software, use modern development practices,

45
00:04:18,180 --> 00:04:25,560
and not as something that sort of like, like slows me down, but it's something that accelerates me so that I can actually be competitive in this new world.

46
00:04:25,560 --> 00:04:33,180
And so Kubernetes is really part of that toolkit, part of that solution that can help to approach and solve those issues.

47
00:04:33,320 --> 00:04:38,020
And so I think it's helpful here to tease apart like cloud versus cloud native.

48
00:04:38,940 --> 00:04:46,900
In my mind, cloud is running on somebody else's infrastructure, or at least something that somebody else is managing for you in sort of private versus public cloud.

49
00:04:47,420 --> 00:04:50,720
But as a user, you're like, I'm not worrying about the nitty gritty details.

50
00:04:51,520 --> 00:04:58,280
Generally, it's about API driven, self-service in that you don't have to talk to anybody.

51
00:04:58,460 --> 00:05:01,520
I like to call public cloud not talking to a sales guy as a service.

52
00:05:02,680 --> 00:05:13,080
And then it's elastic, meaning that there's a lot of room to essentially bring new techniques because you can have infrastructure on demand.

53
00:05:13,680 --> 00:05:14,420
So that's cloud.

54
00:05:15,680 --> 00:05:16,640
Do you want to ask something?

55
00:05:17,780 --> 00:05:19,060
I was just going to comment.

56
00:05:19,200 --> 00:05:22,540
It's not talking to a sales guy unless you're doing a really big deal.

57
00:05:23,040 --> 00:05:27,340
But for a lot of people, like, you know, there's a lot of folks like, I want to write code.

58
00:05:27,380 --> 00:05:28,660
I don't want to talk to a sales guy.

59
00:05:29,060 --> 00:05:30,220
Let me actually just get started.

60
00:05:30,340 --> 00:05:38,820
And that's the sort of self-service sort of, hey, let's not have any friction between you and getting something done that cloud really brings.

61
00:05:39,820 --> 00:05:43,020
Cloud native in my mind then is what are the techniques?

62
00:05:43,180 --> 00:05:43,980
What is the structure?

63
00:05:44,200 --> 00:05:49,200
What is the set of tools that you use that you can take the best advantage of cloud?

64
00:05:49,420 --> 00:06:02,280
How do you actually take those new capabilities that cloud offers and, you know, apply those to your organization and then take that to the fullest extent that makes sense over time, right?

65
00:06:02,300 --> 00:06:03,640
So that I think is cloud native.

66
00:06:03,640 --> 00:06:21,860
And so you see a lot of big companies, you know, I'm using air quotes here, move to cloud, and they'll spend millions of dollars and, like, months and months or years of time, and then they'll get the whole thing done, and they'll be like, how come we didn't magically turn into Netflix, right, which is like the poster child for Amazon, right?

67
00:06:21,860 --> 00:06:28,420
And the reason being is that they are physically running on cloud, but they haven't actually changed their practices, changed the way they do stuff.

68
00:06:28,420 --> 00:06:34,340
So they brought all their old sort of processes, their old ways of doing things, and they're just now running on somebody else's computers.

69
00:06:34,580 --> 00:06:41,160
There may be some efficiencies there, but it's not nearly as much as if you actually sort of internalize and change the way that you do things.

70
00:06:41,160 --> 00:06:53,900
And the power of systems like Kubernetes is that it decouples those things, and so that you can be cloud without running on cloud.

71
00:06:53,960 --> 00:07:00,000
You can be cloud native even if you're actually running on-premises right next to your Oracle database or your IBM mainframe or what have you.

72
00:07:00,960 --> 00:07:03,040
Okay, so it's a way of, yeah, it's a way of doing things.

73
00:07:03,120 --> 00:07:09,040
It's a way of thinking and acting and processes versus, like, yeah, like the cloud part is kind of a misnomer in a matter of speaking.

74
00:07:09,040 --> 00:07:14,460
Yeah, well, it's like using cloud-type processes, you know, regardless of where you're running.

75
00:07:14,940 --> 00:07:23,640
And so once you internalize cloud native, moving to cloud, then, you know, it's not free, but it's a hell of a lot easier than if you're trying to just do things the way you've always done it.

76
00:07:24,300 --> 00:07:24,760
All right.

77
00:07:25,320 --> 00:07:29,900
And speaking of Kubernetes, I mean, this is a discussion I think happens quite a bit.

78
00:07:30,040 --> 00:07:35,840
Like, who should probably be interacting with Kubernetes on an intimate level, right?

79
00:07:35,900 --> 00:07:39,300
I mean, is it better suited for developers or for operations staff?

80
00:07:39,700 --> 00:07:43,460
Well, I think there's two sides to Kubernetes, probably even three sides to Kubernetes.

81
00:07:44,460 --> 00:07:48,100
You know, the first thing is that, you know, who's running and maintaining your cluster?

82
00:07:48,460 --> 00:07:55,700
And I think that that's sort of the cluster operations, cloud operations type of role.

83
00:07:55,840 --> 00:07:57,700
And sometimes you can outsource this.

84
00:07:57,760 --> 00:08:05,940
So if you're running something like GKE or, you know, with my VMware hat on, something like Cloud PKS, this is a managed service.

85
00:08:06,260 --> 00:08:11,780
This is something where somebody else is taking care of all the nitty-gritty details of keeping that service up and running.

86
00:08:11,780 --> 00:08:25,600
Now, one of the things that we're seeing is this shift towards more smaller, more dynamic clusters, being able to launch clusters that are more specific and having versus sort of that, hey, I'm going to have one big install.

87
00:08:26,420 --> 00:08:30,180
And, you know, and it's this one thing that I have to sort of keep alive and manage, right?

88
00:08:30,180 --> 00:08:34,240
We're moving to a more dynamic view, not just of workloads, but of clusters themselves.

89
00:08:35,820 --> 00:08:37,720
And then there's the user's point of view.

90
00:08:37,720 --> 00:08:43,860
You know, and I think, you know, you'll have more advanced users that actually, I think, are perfectly willing to engage with Kubernetes themselves.

91
00:08:44,080 --> 00:08:46,460
They're going to write their own automation on top of this.

92
00:08:46,540 --> 00:08:48,680
They're going to sort of create their own workflows.

93
00:08:49,340 --> 00:08:53,040
I think for folks that are knee-deep in this, that makes a ton of sense.

94
00:08:53,160 --> 00:08:57,200
If you have special needs, then I think it makes a ton of sense also.

95
00:08:57,640 --> 00:09:04,280
But then we're actually starting to see more curated sort of paths through Kubernetes start to be built on top of it.

96
00:09:04,280 --> 00:09:17,260
Some of these things could be sort of a platform construction kit, something like Knative, where I think we start seeing a blurring the lines between paths and serverless as we start having a more sort of broken down componentized view.

97
00:09:17,680 --> 00:09:21,800
Some of these things may be tilted towards machine learning with things like Kubeflow.

98
00:09:22,260 --> 00:09:31,060
And so I think what we're going to find is that there's, you know, Kubernetes is a toolkit, and then you can essentially, you know, build different things on top of it, different curated experiences.

99
00:09:31,060 --> 00:09:40,360
And so I think in the fullness of time, the bulk of users probably won't interact with Kubernetes directly, or they won't interact with the common primitives directly.

100
00:09:40,480 --> 00:09:42,600
They may still use the Kubernetes API patterns.

101
00:09:44,300 --> 00:09:52,380
But they'll have some sort of more curated, more streamlined, you know, entry into that world.

102
00:09:52,580 --> 00:10:01,640
The nice thing, though, is that if they do need to interoperate between these different worlds, if they need to drop down, there's sort of a graceful sort of degradation as you get to the more raw layers.

103
00:10:01,980 --> 00:10:09,380
Whereas I think a lot of times when you look at a traditional sort of platform as a service, as long as you fit within the constraints of that service, everything is great.

104
00:10:09,680 --> 00:10:13,420
But as soon as you don't, all of a sudden, it's like, well, here's a raw VM, good luck with that, right?

105
00:10:13,460 --> 00:10:22,020
And I think Kubernetes provides a much more gradual sort of set of services, everything from something super curated down to something that can be pretty raw.

106
00:10:23,120 --> 00:10:23,660
All right.

107
00:10:24,100 --> 00:10:40,240
And what's the difference between, you know, this is putting on the VMware hat again, and the Heptio hat and whatever hat, like, what's the difference between open source or upstream Kubernetes and what's available from a VMware or a Heptio or, you know, pick any other vendor that's currently offering a Kubernetes, you know, quote unquote solution?

108
00:10:40,660 --> 00:10:42,420
Well, I think it's evolving over time.

109
00:10:43,100 --> 00:10:49,620
You know, one of the things that I think we're seeing with modern open source is that it's expected to be usable out the gate, right?

110
00:10:49,620 --> 00:10:56,960
I think if you compare something like a Node.js compared to, say, something like the Linux kernel, right?

111
00:10:57,260 --> 00:11:00,220
Like, nobody takes a Linux kernel, compiles it, and runs it, right?

112
00:11:00,280 --> 00:11:06,000
It's like you need a whole bunch of structure around it to take that code and make it useful.

113
00:11:06,680 --> 00:11:13,940
Newer open source, you know, it's like you go to the readme, and it says, here's the instructions you're up and running in five seconds, right?

114
00:11:13,940 --> 00:11:20,640
That is sort of like the sort of the new aesthetic around this stuff, where I think people expect this stuff to be approachable from the get-go.

115
00:11:21,240 --> 00:11:26,020
And so we're seeing the relationship between vendors and open source change with that.

116
00:11:26,220 --> 00:11:29,760
So I think a lot of users are successful using upstream Kubernetes.

117
00:11:30,840 --> 00:11:41,020
You know, we're working, we meaning VMware, are working in this part of Kubernetes project called SIG Cluster Lifecycle to really make it much more approachable to do this.

118
00:11:41,220 --> 00:11:50,080
And I think we still find that there's a lot of choices, there's a lot of knobs, there's a lot of opinions, there's not necessarily the one right way to do things.

119
00:11:50,480 --> 00:11:53,360
And if you get yourself in trouble, there's nobody to call.

120
00:11:54,340 --> 00:12:11,520
And so the role of vendors, the role of somebody like a VMware is everything from, you know, we can give you support if you get in trouble, we can give you an opinionated tool set so that there's good defaults that, you know, we can, are pretty sure are going to work well with you.

121
00:12:11,720 --> 00:12:17,780
We can offer consulting services that if you do need to actually do something custom, we can help you understand the repercussions of that.

122
00:12:18,100 --> 00:12:23,280
And then, you know, everything up to, well, we'll just manage the whole thing for you and then you can just write your apps on top of it.

123
00:12:23,280 --> 00:12:32,800
And so I think the relationship between companies and open source is changing, but there's still a ton of room for folks like VMware to add value and offer some unique services.

124
00:12:33,460 --> 00:12:45,440
Okay, yeah, it seems like the one thing you'll hear, you know, kind of frequently is, is companies that aren't like you, like you mentioned earlier, that aren't fully, you know, haven't made this transition to doing things in a cloud native way, right?

125
00:12:45,540 --> 00:12:52,560
And, and Kubernetes, you know, the raw Kubernetes can offer them, you know, kind of just enough rope to hang themselves at times, right?

126
00:12:52,580 --> 00:12:59,100
I mean, or at least cut themselves, it seems like is, is what happens, you know, on a not infrequent basis.

127
00:12:59,220 --> 00:13:07,760
Well, I think that's true, but also the flexibility of Kubernetes means that they can, they don't have to be purists.

128
00:13:08,160 --> 00:13:12,660
There's room to compromise as they look to adapt their old stuff into their new stuff, right?

129
00:13:12,660 --> 00:13:26,260
Like, you know, we have a, a very large financial services company and they had a sort of home built, a big data ish sort of batch processing system.

130
00:13:26,520 --> 00:13:33,800
They're looking to move that stuff to Kubernetes, but there's a lot of roadblocks if they were going to go to a sort of purist type of route to this.

131
00:13:33,800 --> 00:13:38,180
But the flexibility of Kubernetes means that they can, they can start getting used to it.

132
00:13:38,220 --> 00:13:45,160
They can start moving forward without having to necessarily, you know, rip and replace everything that they've been doing.

133
00:13:46,320 --> 00:13:46,680
Okay.

134
00:13:46,980 --> 00:13:56,840
And then, you know, is there a common point or size or use case or whatever it is where, where Kubernetes users become, you know, Kubernetes customers, I guess, whoever that's for?

135
00:13:56,900 --> 00:13:59,760
Like, I mean, is it what, like, what's the line between DIY and commercial?

136
00:13:59,820 --> 00:14:00,800
I think you touched on some of this.

137
00:14:00,920 --> 00:14:02,480
You just touched on some of this, but.

138
00:14:02,480 --> 00:14:04,040
I think it depends on the company.

139
00:14:04,220 --> 00:14:05,600
It depends on their situation.

140
00:14:06,860 --> 00:14:19,540
The, you know, I think a lot of startups, you know, it's, there's this interesting thing where it's like, you go to startups, you go to a lot of companies in the West Coast, sort of like technology forward, Silicon Valley-ish types of companies.

141
00:14:20,360 --> 00:14:25,120
And I'm not going to say that development resources are cheap, but they're generally plentiful.

142
00:14:26,320 --> 00:14:39,980
Whereas if you move to sort of like, especially these sort of larger enterprises, there's a, there's an inversion here where all of a sudden they have a lot of mature operations teams, but development is actually something that is, is rare.

143
00:14:39,980 --> 00:14:55,540
And so I think that, that the, the, the, the mix between, you know, where the expertise is, how forward looking it is, how integrated with it is between operations and development, how far down sort of the, the DevOps type of spectrum you've gone.

144
00:14:55,920 --> 00:15:05,720
Those things are all factors that go into, to whether you want to manage stuff yourself or whether you want to bring in a vendor to help give you a toolkit or whether you want to go with a fully managed service.

145
00:15:06,280 --> 00:15:08,240
And so I don't think there's a single answer.

146
00:15:08,400 --> 00:15:11,840
And I think that it really, it can even change from line of business to line of business.

147
00:15:13,080 --> 00:15:13,400
Okay.

148
00:15:14,100 --> 00:15:23,460
And then finally, Joe, I wanted to ask the Kubernetes gets, gets mentioned a lot as kind of this enabler of, of a multi-cloud architecture, right?

149
00:15:23,480 --> 00:15:24,860
And that's something we haven't touched on yet.

150
00:15:24,920 --> 00:15:27,700
Is that, is that something that, I mean, was it, was it designed with that in mind?

151
00:15:27,740 --> 00:15:30,520
And is that something that you're seeing actually play out?

152
00:15:31,120 --> 00:15:45,860
Well, I mean, we knew, you know, when we launched Kubernetes, our goal really was to think about how can we disrupt how people deploy software in a way that aligns it with the way that Google thinks about these things internally.

153
00:15:47,340 --> 00:15:55,100
And, and, and, but we also knew that like for this to catch on, we needed something that was going to be open source and ubiquitous.

154
00:15:55,100 --> 00:16:00,980
And so our goal with Kubernetes from the very beginning was to make it be a toolkit that could run anywhere.

155
00:16:01,120 --> 00:16:02,820
Whether it be bare metal or on cloud.

156
00:16:03,200 --> 00:16:06,860
And I think it was very controversial inside of Google to say, Hey, we're going to do this open source project.

157
00:16:07,300 --> 00:16:18,200
And if somebody wants to go ahead and run this stuff on top of Amazon, you know, that's something we should support because that actually furthers our goals of essentially, you know, redefining how, how people launch and manage software.

158
00:16:18,980 --> 00:16:35,020
Very controversial, but it was a goal from the get-go to make sure that we could create this higher level abstraction that, that, you know, I won't promise perfect portability, but at least starts to give you a certain level of portability that you really difficult to get without something like Kubernetes.

159
00:16:36,300 --> 00:16:40,440
All right. Great. And with that, I think we're ready. Thanks, Joe. Very informative.

160
00:16:40,880 --> 00:16:42,860
All right. Thank you so much. Nice talking to you.

161
00:16:43,080 --> 00:16:50,800
There you have it. I hope you learned something. For more information about Kubernetes, you can, of course, check out the project home at kubernetes.io.

162
00:16:51,180 --> 00:16:56,780
And for more information about what VMware is up to, you can find that at vmware.com.

163
00:16:57,100 --> 00:17:09,080
For more information on our broad suite of products and services for building and managing cloud native applications, including Kubernetes distribution, as well as transforming how you build software, check out pivotal.io.

164
00:17:09,200 --> 00:17:23,200
And if you like this week's podcast, want to keep up with all things digital transformation, including a curated list of the week's top stories and case studies without filler or vendor spin, visit us at pivotal.io slash intersect.
