WEBVTT

1
00:00:04.639 --> 00:00:08.119
<v Speaker 1>Hey, everybody, welcome to another episode of the Ruby Rogues podcast.

2
00:00:08.560 --> 00:00:11.640
<v Speaker 1>I am your host today, Valentino Stul and I'm joined

3
00:00:11.679 --> 00:00:12.519
<v Speaker 1>by our.

4
00:00:12.439 --> 00:00:13.359
<v Speaker 2>Co host Ayush.

5
00:00:14.000 --> 00:00:14.199
<v Speaker 3>Hello.

6
00:00:14.279 --> 00:00:19.320
<v Speaker 2>Hello, and we have a very special guest today, Joseph.

7
00:00:20.280 --> 00:00:23.320
<v Speaker 1>Do you want to introduce yourself and tell everybody why

8
00:00:23.359 --> 00:00:24.600
<v Speaker 1>you're Ruby famous here?

9
00:00:24.719 --> 00:00:30.519
<v Speaker 4>Yes? Hello everyone, So I'm Yoseph. I am a freelance

10
00:00:30.519 --> 00:00:36.960
<v Speaker 4>software engineer and apparently now also a book author. I

11
00:00:37.119 --> 00:00:41.240
<v Speaker 4>wrote two books. The first one was called Diploma from

12
00:00:41.280 --> 00:00:46.039
<v Speaker 4>Scratch and the second one is called Kamal Handbook, and

13
00:00:46.119 --> 00:00:48.679
<v Speaker 4>that's probably by VR here today.

14
00:00:52.079 --> 00:00:54.320
<v Speaker 1>Yeah, you know that Kamala is like the one of

15
00:00:54.359 --> 00:00:57.200
<v Speaker 1>the latest crazes with all the new reels announcements that

16
00:00:57.240 --> 00:01:00.000
<v Speaker 1>came out of raals World. So it's kind of exciting

17
00:01:00.079 --> 00:01:04.400
<v Speaker 1>to have an expert here, or at least somebody who

18
00:01:04.480 --> 00:01:08.760
<v Speaker 1>has dove into the trenches and put together all the

19
00:01:08.760 --> 00:01:12.959
<v Speaker 1>details for us to, you know, expose the secrets of

20
00:01:13.040 --> 00:01:14.640
<v Speaker 1>how minimalistic it is.

21
00:01:14.959 --> 00:01:15.959
<v Speaker 2>I hope.

22
00:01:15.439 --> 00:01:18.599
<v Speaker 1>I honestly haven't had a chance to play with Kamal,

23
00:01:18.680 --> 00:01:22.159
<v Speaker 1>so I'm looking forward to hearing your take on how

24
00:01:22.200 --> 00:01:23.120
<v Speaker 1>it all comes together.

25
00:01:24.319 --> 00:01:27.799
<v Speaker 4>Yeah. I did a deployer or two before the show just.

26
00:01:29.439 --> 00:01:29.840
<v Speaker 2>So I know.

27
00:01:32.400 --> 00:01:36.000
<v Speaker 1>So I guess we can start maybe at a high level,

28
00:01:36.159 --> 00:01:41.040
<v Speaker 1>like you know, what does the deployed process like look like?

29
00:01:42.920 --> 00:01:47.959
<v Speaker 2>You know, maybe before Kamal and why Kamal is even here.

30
00:01:50.799 --> 00:01:54.280
<v Speaker 4>Yeah, so maybe it would be interesting to see it

31
00:01:54.319 --> 00:01:58.000
<v Speaker 4>from the point of forty seven Signals, because they are

32
00:01:58.079 --> 00:02:03.040
<v Speaker 4>the company behind Come right was actually started by David

33
00:02:03.079 --> 00:02:07.000
<v Speaker 4>helmer Hanson, so o profrails. He also started coming up

34
00:02:07.680 --> 00:02:13.080
<v Speaker 4>and they were doing the deployment with a capistannel, which

35
00:02:13.120 --> 00:02:18.159
<v Speaker 4>is a simple Ruby deployed tool. You basically have all

36
00:02:18.280 --> 00:02:23.960
<v Speaker 4>your little tasks are predefined in Ruby and then you

37
00:02:24.000 --> 00:02:28.439
<v Speaker 4>simply run them they're under the server and something happens.

38
00:02:28.560 --> 00:02:31.319
<v Speaker 4>You know. Capis Channel at the time didn't do much

39
00:02:31.360 --> 00:02:36.159
<v Speaker 4>assumptions about what you'll be on the server or so on.

40
00:02:36.240 --> 00:02:39.919
<v Speaker 4>You could define your own tasks so you could drive

41
00:02:39.960 --> 00:02:42.560
<v Speaker 4>the deployment the way you wanted. It was simply a

42
00:02:42.599 --> 00:02:48.560
<v Speaker 4>tool given to you and then the jumped as everybody

43
00:02:48.560 --> 00:02:53.319
<v Speaker 4>else on this Kubernetes train, right like a big deployment

44
00:02:54.960 --> 00:02:58.639
<v Speaker 4>that have infinite scale. And to me at the time,

45
00:02:58.719 --> 00:03:01.560
<v Speaker 4>I was I remember I was a little bit sad

46
00:03:01.759 --> 00:03:08.159
<v Speaker 4>because I was like they were the heroes of kind

47
00:03:08.199 --> 00:03:14.159
<v Speaker 4>of marketing this simple way of deployees right, so not

48
00:03:14.280 --> 00:03:20.879
<v Speaker 4>everybody has to be on Kuberneti's And then it was

49
00:03:20.919 --> 00:03:26.919
<v Speaker 4>announced that they are making the leaf from cloud right

50
00:03:27.639 --> 00:03:31.240
<v Speaker 4>the big saving journey of leaving the cloud, and I

51
00:03:31.280 --> 00:03:34.560
<v Speaker 4>know they wanted to make Cournetti's work. They went to

52
00:03:34.639 --> 00:03:38.800
<v Speaker 4>some vendors, you know, from Susan and so on, and

53
00:03:39.080 --> 00:03:43.039
<v Speaker 4>David was talking writing about that. But then he was

54
00:03:43.080 --> 00:03:46.319
<v Speaker 4>fairly thinking, okay, maybe we can do something on our own,

55
00:03:46.719 --> 00:03:50.400
<v Speaker 4>which is not chilly, so unusual for David, I would say,

56
00:03:51.439 --> 00:03:56.159
<v Speaker 4>And so they kind of went back to capistannel routes.

57
00:03:56.439 --> 00:04:03.560
<v Speaker 4>But for the new container, Era is designed around Docker

58
00:04:04.120 --> 00:04:07.240
<v Speaker 4>from the ground up, you know, and because of that,

59
00:04:07.520 --> 00:04:12.240
<v Speaker 4>it also made some assumptions to make something a little

60
00:04:12.240 --> 00:04:16.800
<v Speaker 4>bit easier. So what state is the ssh kit which

61
00:04:16.800 --> 00:04:20.600
<v Speaker 4>is like Ruby library that simply connects over SSH to

62
00:04:20.680 --> 00:04:29.639
<v Speaker 4>your server, but instead of running some just pure best code,

63
00:04:30.279 --> 00:04:34.879
<v Speaker 4>you still run. You still run tasks, but they are

64
00:04:34.959 --> 00:04:40.079
<v Speaker 4>usually around running Docker commands. So kamaka install Docker and

65
00:04:40.120 --> 00:04:47.480
<v Speaker 4>then simply run various Docker commands tasks. The simplest way

66
00:04:47.600 --> 00:04:50.240
<v Speaker 4>how you can think about it at the simplest level

67
00:04:50.319 --> 00:04:55.240
<v Speaker 4>is simply that can will connect and run docor run

68
00:04:56.560 --> 00:05:00.920
<v Speaker 4>name of your application, you know, and it doesn't even

69
00:05:01.199 --> 00:05:07.360
<v Speaker 4>have a specific Docker pull task, for example, because that's

70
00:05:07.439 --> 00:05:11.720
<v Speaker 4>already something that Docker does itself. So comma. Really it

71
00:05:11.839 --> 00:05:16.000
<v Speaker 4>trives to be as minimalistic as possible and as simple

72
00:05:16.040 --> 00:05:20.759
<v Speaker 4>as possible. There are some limitations to that, of course,

73
00:05:21.199 --> 00:05:24.959
<v Speaker 4>and I would say the simplicity may be confused people

74
00:05:25.040 --> 00:05:29.759
<v Speaker 4>sometimes because as you said, so what is the deploy process, right,

75
00:05:30.279 --> 00:05:34.319
<v Speaker 4>And usually I would say before the deploy itself, you

76
00:05:34.439 --> 00:05:38.600
<v Speaker 4>prepare the server beforehand, which we can call provisioning, you know.

77
00:05:39.240 --> 00:05:41.680
<v Speaker 4>Part of that's that can be even spinning up the

78
00:05:41.800 --> 00:05:44.879
<v Speaker 4>virtual machines, for example, is what most people would probably

79
00:05:44.920 --> 00:05:48.839
<v Speaker 4>do unless you have physical servers, and then installing some software,

80
00:05:48.879 --> 00:05:52.800
<v Speaker 4>firewalls and so on. It's just that it's come out.

81
00:05:52.879 --> 00:05:56.000
<v Speaker 4>We don't need anything else for the come out to work.

82
00:05:56.439 --> 00:06:00.720
<v Speaker 4>Then Docker and even Docker can be installed by so

83
00:06:00.759 --> 00:06:03.160
<v Speaker 4>it simplifies it a lot, but it's still like one

84
00:06:03.199 --> 00:06:07.079
<v Speaker 4>piece of a puzzle. Maybe you need other tools you

85
00:06:07.160 --> 00:06:10.519
<v Speaker 4>want to install some monitoring or the cup skips or whatever.

86
00:06:11.439 --> 00:06:15.759
<v Speaker 4>So just one part of the role of the wo process.

87
00:06:16.480 --> 00:06:24.199
<v Speaker 3>Nice, So new questions straight after that, h like I

88
00:06:25.120 --> 00:06:29.079
<v Speaker 3>assume this will all to be maybe a source of

89
00:06:29.120 --> 00:06:31.240
<v Speaker 3>confusion for someone who doesn't know a whole lot about

90
00:06:31.439 --> 00:06:36.279
<v Speaker 3>Docker or just like the modern deployment complexity and stuff.

91
00:06:36.319 --> 00:06:41.120
<v Speaker 3>But can you explain what the difference between Kubernetes and

92
00:06:41.160 --> 00:06:45.079
<v Speaker 3>camale is for people who don't understand either of them.

93
00:06:45.480 --> 00:06:50.639
<v Speaker 4>Yeah, So basically you can split this kind of the

94
00:06:50.720 --> 00:06:59.120
<v Speaker 4>point systems to two categories. One is doing push to

95
00:06:59.199 --> 00:07:03.480
<v Speaker 4>the server, pushing your configuration to the server, your changes

96
00:07:03.519 --> 00:07:06.000
<v Speaker 4>to the server. In terms of come out, that means

97
00:07:06.160 --> 00:07:10.120
<v Speaker 4>from your local computer or the CI server, you will

98
00:07:10.199 --> 00:07:13.199
<v Speaker 4>run came out, deploy, and come out will issue the

99
00:07:13.319 --> 00:07:17.279
<v Speaker 4>concrete commands that have to run on all those servers

100
00:07:17.319 --> 00:07:21.279
<v Speaker 4>that you defined and kuvernatives is the other category, which

101
00:07:21.279 --> 00:07:25.959
<v Speaker 4>we call like a pull systems, where usually you have

102
00:07:26.800 --> 00:07:32.480
<v Speaker 4>one host that runs the main master agent in sort

103
00:07:32.519 --> 00:07:38.199
<v Speaker 4>of way, and the other servers run some lightweight minion

104
00:07:39.079 --> 00:07:45.600
<v Speaker 4>agents and so the central system is that one master

105
00:07:45.720 --> 00:07:49.879
<v Speaker 4>host and then all the systems around it can pull

106
00:07:49.959 --> 00:07:55.839
<v Speaker 4>the information from it. So they constantly fax the new

107
00:07:55.839 --> 00:07:58.720
<v Speaker 4>information and if they see okay, there is a new version,

108
00:07:59.160 --> 00:08:02.079
<v Speaker 4>then they go and pull the information themselves.

109
00:08:02.439 --> 00:08:07.680
<v Speaker 3>Cool. That that makes sense, So like why would say

110
00:08:08.319 --> 00:08:11.519
<v Speaker 3>me as an indie developer who is building very small

111
00:08:11.560 --> 00:08:14.720
<v Speaker 3>apps on very small scale, and I'm thinking do I

112
00:08:14.800 --> 00:08:17.240
<v Speaker 3>even need docer, Like do I even need come out?

113
00:08:17.439 --> 00:08:19.399
<v Speaker 3>Like what what's your opinion on that?

114
00:08:20.439 --> 00:08:23.240
<v Speaker 4>Yeah, in terms of what I was thinking, what I

115
00:08:23.319 --> 00:08:25.800
<v Speaker 4>was speaking about the split between like Kubernetes and the

116
00:08:26.519 --> 00:08:30.319
<v Speaker 4>agent systems. Uh, that's what I think that you don't

117
00:08:30.319 --> 00:08:34.960
<v Speaker 4>really need for small scale, right because you don't need

118
00:08:35.080 --> 00:08:38.200
<v Speaker 4>x RA resources to run the agents. You don't need

119
00:08:38.559 --> 00:08:40.879
<v Speaker 4>the x and master server that maybe also need some

120
00:08:41.000 --> 00:08:45.200
<v Speaker 4>kind of back up to be high available and so on.

121
00:08:46.720 --> 00:08:50.360
<v Speaker 4>But as you say, there's still the question about Docker itself,

122
00:08:50.440 --> 00:08:56.399
<v Speaker 4>like isn't even Docker overhead, right? I saw some people

123
00:08:56.440 --> 00:09:00.799
<v Speaker 4>commenting on Ruby subreddit and they were like kind of

124
00:09:02.120 --> 00:09:07.120
<v Speaker 4>criticizing come out for using Docker when the church wants

125
00:09:07.360 --> 00:09:10.480
<v Speaker 4>re else to be no built, as the no built

126
00:09:10.600 --> 00:09:14.759
<v Speaker 4>right on the front end, but then introducing build process

127
00:09:14.879 --> 00:09:20.679
<v Speaker 4>on the on the on the server side. But dooker

128
00:09:20.720 --> 00:09:26.720
<v Speaker 4>still has several advantages. First of all, we really package

129
00:09:27.519 --> 00:09:31.480
<v Speaker 4>prepackage the application in the container, so we can be

130
00:09:31.600 --> 00:09:37.120
<v Speaker 4>sure of what's really inside and that at this revision

131
00:09:37.440 --> 00:09:41.519
<v Speaker 4>the application was running, which is important when you will

132
00:09:41.559 --> 00:09:44.440
<v Speaker 4>be doing a roll back. You know, when something wrong

133
00:09:44.480 --> 00:09:47.120
<v Speaker 4>happened and you want to roll back, then you know

134
00:09:47.240 --> 00:09:52.879
<v Speaker 4>that the previous version was actually running fine. The problem

135
00:09:52.879 --> 00:09:56.120
<v Speaker 4>with Capistrano way of doing that is that suddenly you

136
00:09:56.159 --> 00:09:59.440
<v Speaker 4>are trying to switch back to a Ruby version that

137
00:09:59.600 --> 00:10:04.519
<v Speaker 4>hopefully is there, but maybe if there is some system changes,

138
00:10:04.799 --> 00:10:07.639
<v Speaker 4>you know, system update, system utilities, and a lot of

139
00:10:08.120 --> 00:10:13.039
<v Speaker 4>application also shell out to call some system system tools. Right,

140
00:10:14.200 --> 00:10:16.720
<v Speaker 4>so suddenly you don't even know what will happen because

141
00:10:16.960 --> 00:10:18.559
<v Speaker 4>it can go all wrong.

142
00:10:20.120 --> 00:10:22.919
<v Speaker 1>Yeah, for those that aren't aware, Cavistrano is all like

143
00:10:23.200 --> 00:10:27.320
<v Speaker 1>local file system and just has like a you know,

144
00:10:27.600 --> 00:10:31.519
<v Speaker 1>simblink cut off to switch whatever production.

145
00:10:31.240 --> 00:10:36.679
<v Speaker 2>Version you're using right behind the scenes teldr of it.

146
00:10:37.240 --> 00:10:38.360
<v Speaker 2>There's other stuff, right.

147
00:10:39.320 --> 00:10:44.000
<v Speaker 4>Yeah, exactly as you say. And of course yes it's

148
00:10:44.000 --> 00:10:47.039
<v Speaker 4>simply a trade off. You can't really say it's so

149
00:10:47.159 --> 00:10:51.000
<v Speaker 4>much better or so much worse. I think for more

150
00:10:51.200 --> 00:10:55.360
<v Speaker 4>deploys it's preferable to do it with something like Docker

151
00:10:55.480 --> 00:11:02.759
<v Speaker 4>or different continued technology. But I do sympathize somehow to

152
00:11:02.840 --> 00:11:07.240
<v Speaker 4>the local criticism because you now need a doctor registry

153
00:11:07.559 --> 00:11:12.799
<v Speaker 4>to save your images, which, by the way, David suggested

154
00:11:13.000 --> 00:11:17.080
<v Speaker 4>that they will get rid off in some future versions

155
00:11:17.279 --> 00:11:20.879
<v Speaker 4>of come out, so hopefully that will go away. But yeah,

156
00:11:20.919 --> 00:11:25.440
<v Speaker 4>it's a new thing to learn basically, so I understand,

157
00:11:26.000 --> 00:11:29.639
<v Speaker 4>especially because when I was writing my first book, Diploma

158
00:11:29.759 --> 00:11:33.080
<v Speaker 4>from Scratch, I also basically it's something like a pistannel,

159
00:11:33.480 --> 00:11:36.960
<v Speaker 4>except I didn't even use Ruby. I simply do it

160
00:11:37.000 --> 00:11:40.720
<v Speaker 4>with Besh only, you know, so you don't have to

161
00:11:40.799 --> 00:11:46.399
<v Speaker 4>learn any other tool, and you can still install and run.

162
00:11:46.559 --> 00:11:50.639
<v Speaker 4>And the biggest advantage there is that the switch the

163
00:11:50.720 --> 00:11:54.399
<v Speaker 4>update can be really fast if you are not even

164
00:11:54.399 --> 00:11:59.240
<v Speaker 4>installing a new version of Ruby GM for example. It's

165
00:11:59.279 --> 00:12:02.679
<v Speaker 4>really it's like and you know, it's it's really super fast.

166
00:12:03.159 --> 00:12:06.600
<v Speaker 4>But I think the other advantages of doctor deployees really,

167
00:12:07.840 --> 00:12:12.960
<v Speaker 4>oh really are better for most people, for majority of people.

168
00:12:13.399 --> 00:12:19.279
<v Speaker 4>And when I saw Kamal as a tool, I was

169
00:12:19.960 --> 00:12:24.759
<v Speaker 4>I told myself, okay, this is it. Because since I

170
00:12:24.840 --> 00:12:29.000
<v Speaker 4>had this Besh script kind of deploy you know, very

171
00:12:29.320 --> 00:12:33.240
<v Speaker 4>very straightforward, I was thinking myself of doing some kind

172
00:12:33.279 --> 00:12:37.559
<v Speaker 4>of small tool, something like comal. At the time, I

173
00:12:37.639 --> 00:12:42.120
<v Speaker 4>was thinking maybe using some components like Caddy for web server,

174
00:12:42.480 --> 00:12:46.919
<v Speaker 4>you know, or maybe Potman instead of Docker. Because my

175
00:12:47.159 --> 00:12:53.159
<v Speaker 4>background is in like federalit knuks and and stuff. But

176
00:12:53.279 --> 00:12:56.279
<v Speaker 4>I know that my little tool again be just for me,

177
00:12:56.600 --> 00:12:59.720
<v Speaker 4>you know, so I thought like Tamil is the closest

178
00:12:59.759 --> 00:13:04.480
<v Speaker 4>to what I want, and so that's how I basically

179
00:13:04.519 --> 00:13:08.039
<v Speaker 4>started to be interested and started to look more into it.

180
00:13:08.840 --> 00:13:12.240
<v Speaker 1>You know, I really liked Kamal's direction to make it

181
00:13:12.360 --> 00:13:16.440
<v Speaker 1>just easier to jump on Docker without having to like

182
00:13:16.720 --> 00:13:19.600
<v Speaker 1>necessarily worry about like how you configure Docker and like

183
00:13:19.639 --> 00:13:22.360
<v Speaker 1>connect all of the services and things like that out

184
00:13:22.399 --> 00:13:25.799
<v Speaker 1>of the box anyway, right, and then because it sets

185
00:13:25.840 --> 00:13:27.840
<v Speaker 1>you up kind of like Okay, if you needed to scale,

186
00:13:27.960 --> 00:13:32.039
<v Speaker 1>you could then move to some other you know, provider

187
00:13:32.200 --> 00:13:35.200
<v Speaker 1>like AWS or something that could scale the notes for

188
00:13:35.240 --> 00:13:38.200
<v Speaker 1>you pretty easily, and you can reuse all the configuration stuff.

189
00:13:39.159 --> 00:13:42.879
<v Speaker 1>So that's a little exciting in that way. Uh, and

190
00:13:42.919 --> 00:13:45.200
<v Speaker 1>it makes it it makes me think though, like like

191
00:13:45.759 --> 00:13:47.919
<v Speaker 1>so how does this compare to like something like you know,

192
00:13:48.000 --> 00:13:51.799
<v Speaker 1>tools like chef or uh, you know, some other configuration

193
00:13:51.919 --> 00:13:57.000
<v Speaker 1>management aspects of like you know, the system deployment process,

194
00:13:57.039 --> 00:13:59.480
<v Speaker 1>Like where where are some advantages that Kamal could lead

195
00:13:59.559 --> 00:14:04.240
<v Speaker 1>us where you you know, maybe I know Chef is

196
00:14:04.279 --> 00:14:07.519
<v Speaker 1>like a it takes some extreme getting used there's onboarding

197
00:14:08.159 --> 00:14:12.559
<v Speaker 1>ramp like pretty steep learning curve, but like where do

198
00:14:12.600 --> 00:14:15.720
<v Speaker 1>you see CAMAL like kind of maybe simplifying that or

199
00:14:15.759 --> 00:14:17.679
<v Speaker 1>how does it compare or does it not.

200
00:14:19.480 --> 00:14:23.679
<v Speaker 4>Yeah, I think there's this confusion among the deploy systems

201
00:14:23.720 --> 00:14:26.960
<v Speaker 4>because then you have exactly, as you say, CHEF or Unstable,

202
00:14:27.639 --> 00:14:32.519
<v Speaker 4>and they may be started as more like configuration tools,

203
00:14:33.720 --> 00:14:37.919
<v Speaker 4>but they also offer you a way to do a deploy,

204
00:14:38.399 --> 00:14:42.440
<v Speaker 4>you know, so they're not completely obsolete. We've come out

205
00:14:42.480 --> 00:14:46.840
<v Speaker 4>because you can still use them provision the servers, and

206
00:14:46.919 --> 00:14:51.840
<v Speaker 4>then you come out for the deploy part. In my case,

207
00:14:52.360 --> 00:14:55.360
<v Speaker 4>I find that I don't need that much of the

208
00:14:55.440 --> 00:14:59.919
<v Speaker 4>configuration I mean come out itself, even builds itself as

209
00:15:00.399 --> 00:15:02.799
<v Speaker 4>almost you don't need anything, but that's not really true,

210
00:15:02.879 --> 00:15:08.200
<v Speaker 4>and then people are disappointed. But for me, I for example,

211
00:15:08.360 --> 00:15:12.799
<v Speaker 4>included a very small Ruby script which is just wrapped

212
00:15:13.320 --> 00:15:16.960
<v Speaker 4>a little bit rapper around some show commands to provision

213
00:15:17.480 --> 00:15:22.039
<v Speaker 4>some very basic things for the server like firewalls, a

214
00:15:22.320 --> 00:15:28.879
<v Speaker 4>different associate user for security reasons, and so on. And

215
00:15:28.960 --> 00:15:31.320
<v Speaker 4>in this way you might find out that you need

216
00:15:31.360 --> 00:15:34.840
<v Speaker 4>so little that you don't really need a proper tool

217
00:15:34.879 --> 00:15:39.480
<v Speaker 4>like CHEF. But at the same time, I wouldn't say

218
00:15:39.519 --> 00:15:42.679
<v Speaker 4>that Kama makes it obsolete because they compliment each other.

219
00:15:43.840 --> 00:15:47.320
<v Speaker 4>I do wonder if David, for example, still have in

220
00:15:47.399 --> 00:15:52.639
<v Speaker 4>his mind to release something complimenting Comal because Kama is

221
00:15:52.679 --> 00:15:55.639
<v Speaker 4>so simple and it started as a multi server tool,

222
00:15:55.679 --> 00:15:58.879
<v Speaker 4>but at the same time it cannot deploy a lot

223
00:15:58.919 --> 00:16:02.840
<v Speaker 4>bal answer like in front of the servers, right, you

224
00:16:02.879 --> 00:16:06.600
<v Speaker 4>have a proxy that does to get plus the poise

225
00:16:06.679 --> 00:16:11.120
<v Speaker 4>on each of hosts, like each server, but you still

226
00:16:11.120 --> 00:16:15.039
<v Speaker 4>need like third party load bal answer. So Kamala is

227
00:16:15.120 --> 00:16:19.159
<v Speaker 4>like really like very specific tool, and I wonder if

228
00:16:19.679 --> 00:16:23.519
<v Speaker 4>simply comeal will maybe get a little bit bigger and

229
00:16:24.240 --> 00:16:27.039
<v Speaker 4>better in this way to handle these things, or there

230
00:16:27.039 --> 00:16:28.000
<v Speaker 4>will be something else.

231
00:16:29.120 --> 00:16:34.720
<v Speaker 3>Maybe would you use Kamal for your like on independent

232
00:16:34.799 --> 00:16:37.240
<v Speaker 3>single sub applications as well, or would you use your

233
00:16:37.639 --> 00:16:40.440
<v Speaker 3>vast script whatever approach you thought in your first book.

234
00:16:42.600 --> 00:16:47.480
<v Speaker 4>So I switched everything to come out for all my projects,

235
00:16:48.440 --> 00:16:52.919
<v Speaker 4>and also I was working with some clients to switch

236
00:16:52.960 --> 00:16:57.240
<v Speaker 4>them to come out for me. The Although I actually

237
00:16:57.240 --> 00:17:01.440
<v Speaker 4>really used the best scripts from the book, they were

238
00:17:01.480 --> 00:17:07.200
<v Speaker 4>developed specifically to be educational. I didn't say don't use tools,

239
00:17:07.279 --> 00:17:11.400
<v Speaker 4>don't use kuberneties, but I rewrited it to pure beash

240
00:17:11.480 --> 00:17:16.079
<v Speaker 4>to simply show people that everything else is an a abstruction. Right.

241
00:17:16.880 --> 00:17:20.759
<v Speaker 4>For example, when you have answerable, it's written in Python,

242
00:17:20.880 --> 00:17:23.640
<v Speaker 4>it's a lot of Python code that in the end

243
00:17:23.799 --> 00:17:29.400
<v Speaker 4>prepares a best code best script that it copies onto

244
00:17:29.839 --> 00:17:33.039
<v Speaker 4>the remote server and then it executes it there. Right.

245
00:17:33.720 --> 00:17:37.160
<v Speaker 4>So I basically skip the part where I have to

246
00:17:37.200 --> 00:17:41.319
<v Speaker 4>teach someone about different tools, because, to be honest, the

247
00:17:41.359 --> 00:17:44.279
<v Speaker 4>tools come and go. So the idea for the first

248
00:17:44.319 --> 00:17:48.400
<v Speaker 4>book was really not being about particular tool, but more

249
00:17:48.519 --> 00:17:53.440
<v Speaker 4>like how this actually works. But since we have come out,

250
00:17:53.480 --> 00:17:56.519
<v Speaker 4>I think it's it's for me. It's like a perfect tool.

251
00:17:57.640 --> 00:18:02.119
<v Speaker 4>There's some alternative you can look into Doku or maybe

252
00:18:02.119 --> 00:18:08.799
<v Speaker 4>even simple docer composed, but personally I think come Out

253
00:18:08.920 --> 00:18:14.000
<v Speaker 4>has advantage to them because they are it's designed for

254
00:18:14.240 --> 00:18:19.960
<v Speaker 4>multi server use from the ground up. Basically the single

255
00:18:20.000 --> 00:18:23.480
<v Speaker 4>server use case was like edit later. Right, we've come

256
00:18:23.519 --> 00:18:29.519
<v Speaker 4>out too, and compared to docul there's also a different philosophy.

257
00:18:29.559 --> 00:18:32.960
<v Speaker 4>It's not like PAS. It's more like really just the

258
00:18:33.000 --> 00:18:37.279
<v Speaker 4>deploy tool. But if I'm deploying my own application that

259
00:18:37.359 --> 00:18:40.279
<v Speaker 4>I also develop, I think come out it's best to

260
00:18:40.319 --> 00:18:44.039
<v Speaker 4>that to that use case. You know, maybe if you

261
00:18:44.119 --> 00:18:51.720
<v Speaker 4>want to deploy some public application, maybe it's easier to

262
00:18:51.920 --> 00:18:56.119
<v Speaker 4>install something like qulify or some other tools that can

263
00:18:56.319 --> 00:18:58.519
<v Speaker 4>one click install them. But I think if you are

264
00:18:58.519 --> 00:19:02.559
<v Speaker 4>the developer of the application, that really feel fits the

265
00:19:02.599 --> 00:19:07.640
<v Speaker 4>films of the best, and for me personally, I really switched.

266
00:19:10.720 --> 00:19:13.119
<v Speaker 1>Yeah to add on and I'm saying there's a there's

267
00:19:13.119 --> 00:19:15.759
<v Speaker 1>a pr open right now to add a cloud native

268
00:19:15.799 --> 00:19:19.279
<v Speaker 1>build text to come on, which would be interesting where

269
00:19:19.279 --> 00:19:22.480
<v Speaker 1>you can basically build the app based off of other

270
00:19:22.519 --> 00:19:23.880
<v Speaker 1>ones pretty easily.

271
00:19:24.960 --> 00:19:28.519
<v Speaker 4>Yeah, So basically that's that's the single I would say

272
00:19:28.599 --> 00:19:31.839
<v Speaker 4>advantage of docu today that it can be a little

273
00:19:31.839 --> 00:19:35.480
<v Speaker 4>bit more magical. Somehow will build it for you and

274
00:19:35.599 --> 00:19:41.319
<v Speaker 4>you don't have to write docer file. But lucky for us,

275
00:19:41.480 --> 00:19:44.480
<v Speaker 4>Rails actually counts of docer file, so there's no extra work.

276
00:19:44.839 --> 00:19:49.200
<v Speaker 4>It's not true for every every framework, but of course,

277
00:19:49.440 --> 00:19:52.799
<v Speaker 4>if you are adopting doctor, I still recommend looking into

278
00:19:54.079 --> 00:19:56.279
<v Speaker 4>how to build doc per file, how to optimize it.

279
00:19:56.519 --> 00:20:03.440
<v Speaker 4>For example, before I was trying to squeeze the Stoker

280
00:20:03.519 --> 00:20:06.359
<v Speaker 4>file for my reels applications, you know, I was removing

281
00:20:06.400 --> 00:20:09.920
<v Speaker 4>all the all the files I don't need them to

282
00:20:09.920 --> 00:20:12.839
<v Speaker 4>to have small footprint since you have to do the

283
00:20:12.880 --> 00:20:15.440
<v Speaker 4>image and pull and push.

284
00:20:16.720 --> 00:20:22.680
<v Speaker 1>So so yeah, so what is like kind of like

285
00:20:22.720 --> 00:20:24.599
<v Speaker 1>the full process, Like let's say we do like a

286
00:20:24.640 --> 00:20:27.559
<v Speaker 1>real's new app and we wanted to like deploy it

287
00:20:27.599 --> 00:20:30.920
<v Speaker 1>with comal to like some Lino or something right or

288
00:20:31.200 --> 00:20:35.440
<v Speaker 1>digital droplet, Like what what is the steps of the

289
00:20:35.480 --> 00:20:36.920
<v Speaker 1>process there, like.

290
00:20:38.880 --> 00:20:40.119
<v Speaker 2>To just like reels new.

291
00:20:40.319 --> 00:20:46.759
<v Speaker 4>Yeah, you know, so let's say you do you did

292
00:20:47.119 --> 00:20:51.279
<v Speaker 4>reels new. You have your doctor file. So that's one

293
00:20:53.480 --> 00:20:58.200
<v Speaker 4>that's one perrequisite you have to have for the dooker

294
00:20:58.240 --> 00:21:01.960
<v Speaker 4>file because maybe you're not rails. So let's just mention

295
00:21:02.119 --> 00:21:06.160
<v Speaker 4>that you do need your server to run on board eighty.

296
00:21:07.000 --> 00:21:09.200
<v Speaker 4>You can change it, but it's like default. If you

297
00:21:09.240 --> 00:21:15.920
<v Speaker 4>want to simply work, that's the that's the main thing

298
00:21:17.160 --> 00:21:21.079
<v Speaker 4>for the doctor file. Then you will need a doctor registry,

299
00:21:21.319 --> 00:21:25.079
<v Speaker 4>so make an account a doctor hub, or maybe your

300
00:21:25.160 --> 00:21:30.079
<v Speaker 4>provider has its own register that you can use. And

301
00:21:30.640 --> 00:21:35.680
<v Speaker 4>you need to create like they call it cose. It's

302
00:21:35.680 --> 00:21:41.960
<v Speaker 4>still registered passport, but you should create a token and

303
00:21:42.200 --> 00:21:46.200
<v Speaker 4>note it down. And then you will need to create

304
00:21:47.119 --> 00:21:50.559
<v Speaker 4>some virtual machine. It can be hadsner, it can be

305
00:21:50.640 --> 00:21:56.559
<v Speaker 4>Digital Ocean, any cloud provider like that would work, and

306
00:21:56.599 --> 00:21:59.759
<v Speaker 4>for that you will need to create as a SAGE

307
00:22:00.079 --> 00:22:05.039
<v Speaker 4>key pairs, so you will create three pair. That means

308
00:22:05.079 --> 00:22:10.119
<v Speaker 4>you have two keys, one private and one one public.

309
00:22:11.160 --> 00:22:15.480
<v Speaker 4>Right to the private obviously you have to protect like

310
00:22:15.519 --> 00:22:22.359
<v Speaker 4>the regiously password. And during the creation of the virtual machine,

311
00:22:23.359 --> 00:22:26.400
<v Speaker 4>when you go like create, you choose some resources you

312
00:22:26.440 --> 00:22:29.039
<v Speaker 4>know how big the VM should be and so on,

313
00:22:29.720 --> 00:22:32.400
<v Speaker 4>and then I will ask you to copy your key there.

314
00:22:32.960 --> 00:22:38.200
<v Speaker 4>So that's how they will provision uh, the VM for

315
00:22:38.359 --> 00:22:46.920
<v Speaker 4>you and you should you should disable the password password

316
00:22:46.960 --> 00:22:51.279
<v Speaker 4>logging value are there just for security, and so that's

317
00:22:51.319 --> 00:22:56.160
<v Speaker 4>the that's that's what you need to That's what you

318
00:22:56.200 --> 00:22:59.039
<v Speaker 4>need to have, you know, at the at the minimum,

319
00:22:59.160 --> 00:23:02.119
<v Speaker 4>at at dominimum like the basic ones. Now maybe you

320
00:23:02.160 --> 00:23:05.599
<v Speaker 4>also want to deploy to a domain name, so then

321
00:23:05.680 --> 00:23:09.119
<v Speaker 4>obviously you have to purchase a domain name and you

322
00:23:09.160 --> 00:23:13.680
<v Speaker 4>will need a DSM record at the very least type

323
00:23:13.759 --> 00:23:18.039
<v Speaker 4>A to point your domain to the IP address, to

324
00:23:18.079 --> 00:23:21.160
<v Speaker 4>the public IP address you will get for the machine

325
00:23:21.200 --> 00:23:26.200
<v Speaker 4>you just provisioned. And if you have that, you can

326
00:23:26.279 --> 00:23:31.279
<v Speaker 4>basically start with come out. We've come out in it.

327
00:23:31.680 --> 00:23:38.359
<v Speaker 4>There's some basic basic configuration file. There are comments in line,

328
00:23:38.759 --> 00:23:42.839
<v Speaker 4>so even when you never saw it, you can usually

329
00:23:43.000 --> 00:23:46.599
<v Speaker 4>I guess a little bit what you will have to

330
00:23:46.640 --> 00:23:53.039
<v Speaker 4>put there, So you will name your application, come out

331
00:23:53.079 --> 00:23:58.160
<v Speaker 4>close it service. Yeah, I would also say be careful

332
00:23:58.200 --> 00:24:02.160
<v Speaker 4>of the name because when you are doing the dooker

333
00:24:03.319 --> 00:24:07.079
<v Speaker 4>a local private networking, it's also like kind of a

334
00:24:07.200 --> 00:24:11.240
<v Speaker 4>name that you are using, so you cannot like put

335
00:24:11.359 --> 00:24:14.359
<v Speaker 4>any characters you want there, you know, just stick to

336
00:24:14.440 --> 00:24:20.240
<v Speaker 4>normal letters and lashes, and then you are fine, so

337
00:24:20.240 --> 00:24:23.160
<v Speaker 4>so you are not surprised later that it doesn't it

338
00:24:23.160 --> 00:24:29.000
<v Speaker 4>doesn't work. Then you specify the image which is your container.

339
00:24:29.079 --> 00:24:33.839
<v Speaker 4>Registries use their name like slash the application name basically,

340
00:24:35.200 --> 00:24:39.839
<v Speaker 4>and then you can put the IP address among servers.

341
00:24:43.680 --> 00:24:48.400
<v Speaker 4>When you do that, you're configuring your application server by

342
00:24:48.960 --> 00:24:54.880
<v Speaker 4>default the role called web and you can return just

343
00:24:54.920 --> 00:24:59.519
<v Speaker 4>after this one how how came I splits the application

344
00:24:59.640 --> 00:25:03.240
<v Speaker 4>server roles and accessories. But for now, if you just

345
00:25:03.279 --> 00:25:07.279
<v Speaker 4>put there the IP address, that's enough, and then you

346
00:25:07.400 --> 00:25:11.920
<v Speaker 4>will configure proxy. You will say okay, I want as

347
00:25:11.920 --> 00:25:14.519
<v Speaker 4>a cell and you will put their holds which is

348
00:25:14.839 --> 00:25:17.240
<v Speaker 4>your domain name or it can be also some domain.

349
00:25:18.799 --> 00:25:21.680
<v Speaker 4>It can be even more hosts if you want so,

350
00:25:21.880 --> 00:25:25.960
<v Speaker 4>very very flexible. This is very nice. Then you finish

351
00:25:26.039 --> 00:25:30.480
<v Speaker 4>up with the registry and then there's a build a

352
00:25:30.480 --> 00:25:34.680
<v Speaker 4>configuration but by default I think there's some reasonable value

353
00:25:35.519 --> 00:25:39.480
<v Speaker 4>and and once you have all this then you only

354
00:25:39.519 --> 00:25:43.839
<v Speaker 4>need to provide the environment, which is the secret spee.

355
00:25:44.720 --> 00:25:47.640
<v Speaker 4>We talk about like IMO registry Passford, but it can

356
00:25:47.680 --> 00:25:56.599
<v Speaker 4>be many more secrets the application have obviously, so you

357
00:25:56.599 --> 00:26:03.039
<v Speaker 4>you list them in two basically want some environment variables

358
00:26:03.279 --> 00:26:07.400
<v Speaker 4>you can list directly, but the secret once you actually

359
00:26:07.599 --> 00:26:12.319
<v Speaker 4>just just put under like nd secret in the AMMO

360
00:26:12.519 --> 00:26:15.000
<v Speaker 4>in the m file and then you only list them,

361
00:26:15.319 --> 00:26:18.759
<v Speaker 4>but they leave somewhere else when you did the come

362
00:26:18.759 --> 00:26:22.559
<v Speaker 4>out in it from before, come also created dot come

363
00:26:22.559 --> 00:26:26.599
<v Speaker 4>out slash secrets file. That's where the secrets are. And

364
00:26:26.720 --> 00:26:29.880
<v Speaker 4>of course then you can also call passform managers and

365
00:26:29.920 --> 00:26:32.720
<v Speaker 4>so on. But at the very basic one you would

366
00:26:32.720 --> 00:26:35.920
<v Speaker 4>just put the secrets there. You will not check it out,

367
00:26:36.440 --> 00:26:40.599
<v Speaker 4>check it in the source control and then your configuration

368
00:26:41.039 --> 00:26:45.680
<v Speaker 4>is done. You run come out set up and come

369
00:26:45.720 --> 00:26:49.319
<v Speaker 4>all does everything for you. It will connect to the server,

370
00:26:49.680 --> 00:26:55.319
<v Speaker 4>it will install do occur, it will install the come

371
00:26:55.319 --> 00:26:59.559
<v Speaker 4>out proxy, and then it will put your application. So

372
00:26:59.599 --> 00:27:04.119
<v Speaker 4>that's the most minimalistic way off the playing with Comal.

373
00:27:05.759 --> 00:27:06.319
<v Speaker 2>Gotcha.

374
00:27:07.240 --> 00:27:10.400
<v Speaker 1>So I'm mugging through the commands like as you're reading

375
00:27:10.400 --> 00:27:14.079
<v Speaker 1>through that. Ah, and just so like we can most

376
00:27:14.079 --> 00:27:18.079
<v Speaker 1>people know Horoku right like Heroku new and then deploy

377
00:27:18.400 --> 00:27:21.119
<v Speaker 1>uh you know yeah, get pushed for Roku.

378
00:27:21.759 --> 00:27:22.480
<v Speaker 2>Uh.

379
00:27:22.599 --> 00:27:25.640
<v Speaker 1>And it seems like there's really like the three uh

380
00:27:25.759 --> 00:27:28.720
<v Speaker 1>you know kmal commands that really run through that well

381
00:27:28.880 --> 00:27:31.559
<v Speaker 1>everything you just said right, which is pretty wild, or.

382
00:27:31.480 --> 00:27:32.720
<v Speaker 2>We have like come all in.

383
00:27:32.839 --> 00:27:35.480
<v Speaker 1>It creates all the configuration files.

384
00:27:36.119 --> 00:27:42.160
<v Speaker 2>Uh, comeal can fig like uh you know, starts to create.

385
00:27:41.920 --> 00:27:45.319
<v Speaker 1>Your initial configuration file to add all the stuff to uh,

386
00:27:45.720 --> 00:27:48.920
<v Speaker 1>and then you have KMAL deployed that just like push

387
00:27:49.000 --> 00:27:53.000
<v Speaker 1>that up and proxy to the new version right of

388
00:27:53.160 --> 00:27:53.480
<v Speaker 1>the app.

389
00:27:53.759 --> 00:27:56.279
<v Speaker 4>Yeah. Yeah, basically as you say, I mean, the comal

390
00:27:56.319 --> 00:27:58.799
<v Speaker 4>confix is already created. If come out in it and

391
00:27:58.839 --> 00:28:05.640
<v Speaker 4>come out CONFIXP rechecks the configuration, it's good. That's actually good.

392
00:28:05.720 --> 00:28:07.960
<v Speaker 4>Good one to run before the deployee.

393
00:28:08.319 --> 00:28:09.720
<v Speaker 2>Yeah, that's awesome.

394
00:28:09.960 --> 00:28:10.480
<v Speaker 4>I mean.

395
00:28:12.039 --> 00:28:14.559
<v Speaker 1>That's uh, that's where we want to head right, Like

396
00:28:16.240 --> 00:28:20.079
<v Speaker 1>it's like it's pretty close. I mean I guess like

397
00:28:20.240 --> 00:28:26.279
<v Speaker 1>uh yeah, I mean so many like so many hosting

398
00:28:26.319 --> 00:28:30.200
<v Speaker 1>providers now have that like one clip process to just

399
00:28:30.240 --> 00:28:34.160
<v Speaker 1>get your VM up that it almost doesn't even make

400
00:28:34.200 --> 00:28:38.160
<v Speaker 1>sense to abstract away that process, right to make it

401
00:28:38.200 --> 00:28:41.839
<v Speaker 1>easier because they already provide that for the most part.

402
00:28:43.960 --> 00:28:44.799
<v Speaker 2>But this is really cool.

403
00:28:44.839 --> 00:28:51.400
<v Speaker 1>So I'm trying to think, like, uh, we walked through

404
00:28:51.400 --> 00:28:55.079
<v Speaker 1>a very simple like example, right, and I imagine like

405
00:28:55.400 --> 00:28:58.319
<v Speaker 1>with all of the push to solid q and solid

406
00:28:58.440 --> 00:29:01.559
<v Speaker 1>x y z, like this is all running on a

407
00:29:01.599 --> 00:29:02.359
<v Speaker 1>single machine.

408
00:29:03.440 --> 00:29:05.720
<v Speaker 2>H how does all of that work?

409
00:29:05.839 --> 00:29:08.440
<v Speaker 1>Like is it by default running the database on the

410
00:29:08.440 --> 00:29:09.359
<v Speaker 1>same web server.

411
00:29:11.480 --> 00:29:16.119
<v Speaker 4>Yeah, so that's a that's a good good question for

412
00:29:16.119 --> 00:29:19.880
<v Speaker 4>for talking a little bit about how Comma actually splits

413
00:29:19.880 --> 00:29:23.200
<v Speaker 4>your application and what what it actually does for you.

414
00:29:23.359 --> 00:29:26.599
<v Speaker 4>Because this is simple example. You have one VM, one

415
00:29:27.680 --> 00:29:32.960
<v Speaker 4>one container, right, but your application probably does a little

416
00:29:33.000 --> 00:29:38.240
<v Speaker 4>bit more. It has it has to run jobs or

417
00:29:38.279 --> 00:29:42.359
<v Speaker 4>some kind of other scheduling, or maybe are running an

418
00:29:42.400 --> 00:29:46.920
<v Speaker 4>API server or some marketing website, and then all those

419
00:29:47.000 --> 00:29:52.640
<v Speaker 4>needs databases. So at the high level, comme al splits

420
00:29:52.680 --> 00:30:01.839
<v Speaker 4>this into servers and accessories. So servers are your application servers.

421
00:30:03.160 --> 00:30:10.279
<v Speaker 4>Those all run your application image, so you cannot build

422
00:30:10.440 --> 00:30:13.799
<v Speaker 4>like from multiple images. It has to be one image.

423
00:30:14.000 --> 00:30:17.680
<v Speaker 4>There's just different command that it's been drun, but it

424
00:30:17.759 --> 00:30:21.119
<v Speaker 4>comes from the application. Of course, you can package whatever

425
00:30:21.160 --> 00:30:23.960
<v Speaker 4>you want in the container and you for example, can

426
00:30:24.039 --> 00:30:29.880
<v Speaker 4>have application role that runs a jungle application next to it,

427
00:30:30.000 --> 00:30:31.359
<v Speaker 4>you know, but you have to put it to the

428
00:30:31.400 --> 00:30:34.000
<v Speaker 4>image because that's kind of a constraint that came as

429
00:30:34.039 --> 00:30:34.839
<v Speaker 4>puts a new.

430
00:30:36.400 --> 00:30:36.519
<v Speaker 1>UH.

431
00:30:36.880 --> 00:30:40.440
<v Speaker 4>And with these server roles, it's important to say that

432
00:30:40.480 --> 00:30:44.079
<v Speaker 4>there's a primary role. By default it's called web, but

433
00:30:44.119 --> 00:30:48.519
<v Speaker 4>you can name it. And the primary role assumption is

434
00:30:48.559 --> 00:30:52.799
<v Speaker 4>that this is your main application server, that's your rails

435
00:30:53.079 --> 00:30:58.359
<v Speaker 4>s basically, or you like your Puma starting up. And

436
00:30:58.640 --> 00:31:02.279
<v Speaker 4>why is it important because it plays in a role

437
00:31:02.400 --> 00:31:09.000
<v Speaker 4>how come out actually does deploy on multiple servers and

438
00:31:09.079 --> 00:31:14.000
<v Speaker 4>also on each particular server because when it puts your application,

439
00:31:15.000 --> 00:31:18.599
<v Speaker 4>it usually puts your accessories, which are the databases all

440
00:31:18.680 --> 00:31:24.759
<v Speaker 4>these low running services that are not necessarily I mean,

441
00:31:24.880 --> 00:31:28.559
<v Speaker 4>they're connected with your applications, but it's something else. You know,

442
00:31:28.599 --> 00:31:32.000
<v Speaker 4>they're not part of the Camel deployed process. Person they

443
00:31:32.039 --> 00:31:37.640
<v Speaker 4>should already be running and you are simply taking use

444
00:31:37.680 --> 00:31:44.240
<v Speaker 4>of it. But the primary is important because come al

445
00:31:45.319 --> 00:31:49.359
<v Speaker 4>change a little bit regarding health checks and how it

446
00:31:49.599 --> 00:31:53.200
<v Speaker 4>ensures that actually the container is healthy, it can serve

447
00:31:53.240 --> 00:32:00.640
<v Speaker 4>traffic or can run. Before with traffic, we had something

448
00:32:00.680 --> 00:32:03.680
<v Speaker 4>like courtfile. I will not really go into it because

449
00:32:03.720 --> 00:32:07.400
<v Speaker 4>it's already kind of obsolete, but will I will say

450
00:32:08.000 --> 00:32:12.559
<v Speaker 4>that the new way, there's something called the barrier. Maybe

451
00:32:12.599 --> 00:32:15.119
<v Speaker 4>you won't find this name in the dogs, but you

452
00:32:15.160 --> 00:32:18.440
<v Speaker 4>might find it in the code or somewhere in the issues.

453
00:32:18.480 --> 00:32:21.960
<v Speaker 4>That's how common maintenance call it. And the barrier means

454
00:32:22.000 --> 00:32:27.599
<v Speaker 4>that TAMEL will wait first for your that container to

455
00:32:27.680 --> 00:32:30.519
<v Speaker 4>boot up successfully, the new one, for example, for the

456
00:32:30.559 --> 00:32:34.920
<v Speaker 4>new version, and once it's healthy, then it assumes it

457
00:32:34.960 --> 00:32:39.039
<v Speaker 4>can boot everything else. So all other roles, whether it's

458
00:32:39.200 --> 00:32:43.319
<v Speaker 4>jobs or marketing sites or whatever you put there, will

459
00:32:43.400 --> 00:32:51.640
<v Speaker 4>also start start without any further health check because the

460
00:32:51.680 --> 00:32:54.920
<v Speaker 4>only comal proxy checks is for this primary role. So

461
00:32:54.960 --> 00:32:58.119
<v Speaker 4>that's very important to realize. For example, you might be

462
00:32:58.200 --> 00:33:02.519
<v Speaker 4>deploying front and I can't you know, split and I've

463
00:33:02.559 --> 00:33:05.599
<v Speaker 4>come out. You can have from an application as one

464
00:33:05.640 --> 00:33:08.559
<v Speaker 4>application and back as one application, but if you are

465
00:33:08.559 --> 00:33:13.799
<v Speaker 4>putting it together and you are simply splitting in two roles,

466
00:33:14.319 --> 00:33:17.839
<v Speaker 4>then one of them has to be the primary that

467
00:33:17.960 --> 00:33:21.039
<v Speaker 4>come out will wait on and then it will also

468
00:33:21.559 --> 00:33:25.319
<v Speaker 4>with the others, So that's like one important, one important thing.

469
00:33:25.480 --> 00:33:27.880
<v Speaker 4>You can still have health check also for other containers,

470
00:33:28.079 --> 00:33:32.200
<v Speaker 4>but then it's just the regular doctor health checks that

471
00:33:32.279 --> 00:33:35.680
<v Speaker 4>you can add there, but nothing to do with the

472
00:33:35.799 --> 00:33:38.279
<v Speaker 4>come out proxy process of booting.

473
00:33:41.160 --> 00:33:44.839
<v Speaker 3>Which doctor registry would you personally recommend people use?

474
00:33:47.839 --> 00:33:55.240
<v Speaker 4>I think so I personally use the carer ub right now.

475
00:33:55.839 --> 00:33:59.720
<v Speaker 4>I want to support them because I know they had

476
00:33:59.759 --> 00:34:04.240
<v Speaker 4>hard time as a company to actually excelving money out

477
00:34:04.240 --> 00:34:08.039
<v Speaker 4>of doccer, and it's great that docer is free and everything,

478
00:34:08.079 --> 00:34:12.599
<v Speaker 4>you know, but to support them, I use them currently.

479
00:34:13.159 --> 00:34:16.320
<v Speaker 4>Maybe the smart answer is use the registry with your

480
00:34:16.400 --> 00:34:20.480
<v Speaker 4>provider because it might be faster for you, you know,

481
00:34:21.920 --> 00:34:25.639
<v Speaker 4>might be even cheaper, because I think they're increasing crisis

482
00:34:25.800 --> 00:34:30.000
<v Speaker 4>right now, the doer hub. But I like the idea

483
00:34:30.039 --> 00:34:33.360
<v Speaker 4>of supporting them in some way, So right now I'm

484
00:34:33.400 --> 00:34:37.280
<v Speaker 4>using the registry.

485
00:34:37.320 --> 00:34:40.039
<v Speaker 3>Cool And so the thing with there's more of a

486
00:34:40.079 --> 00:34:46.159
<v Speaker 3>broader question around self hosting as opposed to using a pass.

487
00:34:46.960 --> 00:34:50.840
<v Speaker 3>But do things that kind of scare me about self hosting,

488
00:34:50.920 --> 00:34:54.480
<v Speaker 3>which is why I haven't actually the planting app by

489
00:34:54.519 --> 00:34:57.800
<v Speaker 3>myself yet. I use render dot com personally. The two

490
00:34:57.840 --> 00:35:00.920
<v Speaker 3>things that kind of scare me one is data based backups.

491
00:35:01.559 --> 00:35:04.440
<v Speaker 3>For like, I use postcrafts personally, but I probably use

492
00:35:04.480 --> 00:35:07.920
<v Speaker 3>equel Light for the next project, which would make life

493
00:35:07.920 --> 00:35:10.519
<v Speaker 3>a bit easier in that regard. But database backups and

494
00:35:10.719 --> 00:35:14.360
<v Speaker 3>OS upgrades. So like for someone who's only ever used

495
00:35:14.360 --> 00:35:16.920
<v Speaker 3>like Herokua and then never had to worry about this

496
00:35:17.039 --> 00:35:22.679
<v Speaker 3>kind of stuff, what would you tell them?

497
00:35:22.760 --> 00:35:30.039
<v Speaker 4>Well, so you mentioned backups first, right, So in the

498
00:35:30.280 --> 00:35:36.039
<v Speaker 4>Doker wave of doing backups is likely to simply run

499
00:35:36.400 --> 00:35:38.960
<v Speaker 4>a Docker container that does backups.

500
00:35:39.199 --> 00:35:39.400
<v Speaker 2>Right.

501
00:35:39.559 --> 00:35:42.039
<v Speaker 4>That's that's doc y because you have to run everything

502
00:35:42.440 --> 00:35:45.480
<v Speaker 4>in You can still do manual backups as before. I

503
00:35:45.519 --> 00:35:48.760
<v Speaker 4>actually mentioned it in Camal handbooks how to how to

504
00:35:48.840 --> 00:35:51.519
<v Speaker 4>do it. So you can still do manual backup. You

505
00:35:51.559 --> 00:35:55.199
<v Speaker 4>can call you know, the the command is a bit

506
00:35:55.280 --> 00:35:59.000
<v Speaker 4>larger because you have to use the There's actually a

507
00:35:59.079 --> 00:36:02.800
<v Speaker 4>good point that comes to edit aliases. So you can

508
00:36:03.679 --> 00:36:06.280
<v Speaker 4>prepare these commands and then have like nice come all

509
00:36:06.320 --> 00:36:08.880
<v Speaker 4>back up and it will do back up right. So

510
00:36:10.320 --> 00:36:14.639
<v Speaker 4>in a way it works the same as normal celf hosting,

511
00:36:16.159 --> 00:36:20.079
<v Speaker 4>but it's definitely more work than just using manage database.

512
00:36:20.679 --> 00:36:23.719
<v Speaker 4>And I would say it might be good for people

513
00:36:23.840 --> 00:36:29.760
<v Speaker 4>to first just move with their server load like application

514
00:36:29.880 --> 00:36:34.360
<v Speaker 4>servers and weight with the database just used to manage

515
00:36:34.360 --> 00:36:37.199
<v Speaker 4>the database. There's nothing wrong with that. In fact, I

516
00:36:37.239 --> 00:36:40.079
<v Speaker 4>think most people will run it like that, will take

517
00:36:40.119 --> 00:36:43.119
<v Speaker 4>advantage of the manage database because it's safety a lot

518
00:36:43.119 --> 00:36:46.400
<v Speaker 4>of hustle, which is true, but yeah, if you want

519
00:36:46.440 --> 00:36:49.159
<v Speaker 4>to do yourself, you would run a container there. Then

520
00:36:49.159 --> 00:36:51.840
<v Speaker 4>you can upload it for example every day to as

521
00:36:51.880 --> 00:36:54.519
<v Speaker 4>free or something like that, and also have a way

522
00:36:55.159 --> 00:37:00.159
<v Speaker 4>to pull it back if something happens. I also recommend

523
00:37:00.199 --> 00:37:06.880
<v Speaker 4>to always turn on the automatic VM backups, which means

524
00:37:08.000 --> 00:37:11.320
<v Speaker 4>the world VM is back up like every day on

525
00:37:11.360 --> 00:37:15.440
<v Speaker 4>your cludusting provider. This is especially cool for like this

526
00:37:16.639 --> 00:37:19.239
<v Speaker 4>project for example I deploy. You know, they are not

527
00:37:19.360 --> 00:37:23.480
<v Speaker 4>big yet, they are one perserver, so I know I

528
00:37:23.519 --> 00:37:27.519
<v Speaker 4>have snapshots every day with database but also everything else

529
00:37:27.679 --> 00:37:30.079
<v Speaker 4>so I can just with one click to return there

530
00:37:30.639 --> 00:37:34.920
<v Speaker 4>and continue, which is really really good. But you know,

531
00:37:35.000 --> 00:37:38.440
<v Speaker 4>as it is with backups, it's good to always have

532
00:37:38.639 --> 00:37:42.920
<v Speaker 4>like two different the cups maybe just to be sure.

533
00:37:42.920 --> 00:37:46.679
<v Speaker 4>So I think that extra extra assurance can be this

534
00:37:47.639 --> 00:37:53.079
<v Speaker 4>virtual machine back cups as a whole. Yeah, and actually

535
00:37:53.119 --> 00:37:56.440
<v Speaker 4>with the system updates, I think it's kind of similar

536
00:37:56.519 --> 00:37:59.599
<v Speaker 4>because if you have backup of the VM and you

537
00:37:59.639 --> 00:38:03.239
<v Speaker 4>can really turn and return to the to the to

538
00:38:03.280 --> 00:38:05.400
<v Speaker 4>the process later and if we've come out, if you

539
00:38:05.440 --> 00:38:12.440
<v Speaker 4>have more hosts, you can simply uh put put the

540
00:38:12.480 --> 00:38:15.440
<v Speaker 4>host that you're upgrading like kind of offline, you know,

541
00:38:16.000 --> 00:38:18.960
<v Speaker 4>upgrade the system there and then you put it back

542
00:38:18.960 --> 00:38:22.480
<v Speaker 4>to the pool of servers. That's ideal if you if

543
00:38:22.519 --> 00:38:24.880
<v Speaker 4>you have more service and you can do it. That's

544
00:38:25.119 --> 00:38:28.159
<v Speaker 4>that's like safe way to to to run.

545
00:38:28.199 --> 00:38:31.280
<v Speaker 1>It does the does the current come out proxy handle

546
00:38:31.280 --> 00:38:36.119
<v Speaker 1>like load balancing to do like slow rollouts of versions

547
00:38:36.559 --> 00:38:37.480
<v Speaker 1>of the app.

548
00:38:37.360 --> 00:38:42.679
<v Speaker 4>Or yeah, yeah it will it you. It does so

549
00:38:42.800 --> 00:38:49.039
<v Speaker 4>called blue green deploy, So on every host it will

550
00:38:49.280 --> 00:38:52.000
<v Speaker 4>put the new application you're running also the old one.

551
00:38:52.679 --> 00:38:55.960
<v Speaker 4>Then after the health check it's switch. But then also

552
00:38:56.039 --> 00:39:00.519
<v Speaker 4>it like goes and runs it across all hosts. Right,

553
00:39:01.039 --> 00:39:05.639
<v Speaker 4>so yeah, there's some sittings, some little settings around that.

554
00:39:06.599 --> 00:39:09.960
<v Speaker 4>Oh and it'll do the role out for you.

555
00:39:10.320 --> 00:39:13.920
<v Speaker 2>Yeah, that's really cool.

556
00:39:14.960 --> 00:39:18.039
<v Speaker 1>So I I'd love to shift gears a little bit

557
00:39:18.079 --> 00:39:22.360
<v Speaker 1>into this whole like camal accessory stuff, because this is

558
00:39:22.400 --> 00:39:26.239
<v Speaker 1>just something I wasn't immediately obvious, like how it all

559
00:39:26.320 --> 00:39:29.920
<v Speaker 1>works and when's the best use case, right, where when's

560
00:39:30.000 --> 00:39:33.639
<v Speaker 1>not a good thing to use as an accessory? Like

561
00:39:33.719 --> 00:39:34.760
<v Speaker 1>what is an accessory?

562
00:39:34.920 --> 00:39:35.079
<v Speaker 3>Right?

563
00:39:36.159 --> 00:39:36.480
<v Speaker 2>Uh?

564
00:39:36.719 --> 00:39:37.920
<v Speaker 1>Do you want to just give us like a high

565
00:39:38.000 --> 00:39:42.039
<v Speaker 1>level like what the Kamal accessories are and like one

566
00:39:42.079 --> 00:39:44.920
<v Speaker 1>example of like the most common one that you would

567
00:39:44.960 --> 00:39:46.800
<v Speaker 1>add to a new app.

568
00:39:48.400 --> 00:39:52.920
<v Speaker 4>Yeah. So basically accessories are come all way of running

569
00:39:53.039 --> 00:39:56.239
<v Speaker 4>like some kind of permanent services you know that are

570
00:39:56.280 --> 00:39:59.159
<v Speaker 4>not part of that deployal life cycle is simply run

571
00:40:00.280 --> 00:40:05.239
<v Speaker 4>next to it. Whether that's relational database is key value stores,

572
00:40:06.039 --> 00:40:11.440
<v Speaker 4>search engines, maybe headless browsers, you know, anything else that

573
00:40:11.920 --> 00:40:17.280
<v Speaker 4>you just run as a service, basically the service your

574
00:40:17.320 --> 00:40:24.280
<v Speaker 4>application is using. Most people will simply use a database

575
00:40:24.639 --> 00:40:29.400
<v Speaker 4>as accessory or first accessory, and then you can run

576
00:40:29.559 --> 00:40:35.320
<v Speaker 4>accessories on the same host or different holes. Basically that's

577
00:40:35.360 --> 00:40:38.360
<v Speaker 4>what I really like Comalt. You simply put the IP

578
00:40:38.519 --> 00:40:42.639
<v Speaker 4>there IP address and it feel the point that host.

579
00:40:42.679 --> 00:40:46.159
<v Speaker 4>You know, whether whether that does an application, role or accessory,

580
00:40:46.760 --> 00:40:50.159
<v Speaker 4>it just puts it there where you want it if

581
00:40:50.199 --> 00:40:54.159
<v Speaker 4>you if you want to collocate it with the roles,

582
00:40:54.159 --> 00:40:56.480
<v Speaker 4>you can also just say okay, just put it where

583
00:40:56.559 --> 00:41:00.320
<v Speaker 4>the role web is and then it will auto particularly

584
00:41:00.320 --> 00:41:03.639
<v Speaker 4>put the application next to I mean your database next

585
00:41:03.679 --> 00:41:06.400
<v Speaker 4>to your application on that server. So you don't even

586
00:41:06.440 --> 00:41:11.119
<v Speaker 4>have to specify the IP again for example, but in

587
00:41:11.159 --> 00:41:15.199
<v Speaker 4>principle you can really spin it up anywhere anywhere.

588
00:41:15.239 --> 00:41:16.480
<v Speaker 2>You won't, that's neat.

589
00:41:16.559 --> 00:41:20.679
<v Speaker 1>So like let's say a more maybe more advanced when

590
00:41:20.719 --> 00:41:24.079
<v Speaker 1>would be something like sidekick or like a background processor,

591
00:41:24.960 --> 00:41:28.800
<v Speaker 1>Like how do the deployees then work? Like as you

592
00:41:28.920 --> 00:41:31.960
<v Speaker 1>deploy a new version and it needs to like do

593
00:41:32.079 --> 00:41:34.840
<v Speaker 1>like a rolling restart to wait for you know whatever

594
00:41:34.920 --> 00:41:38.039
<v Speaker 1>jobs to finish before it it cycles over to the

595
00:41:38.079 --> 00:41:40.039
<v Speaker 1>new version for new jobs.

596
00:41:41.280 --> 00:41:44.000
<v Speaker 2>What's that kind of process?

597
00:41:47.599 --> 00:41:53.880
<v Speaker 4>So with Sidekick, it's we are still talking about application role.

598
00:41:54.360 --> 00:41:59.239
<v Speaker 4>You would call it like jobs for example, right, and

599
00:41:59.280 --> 00:42:01.519
<v Speaker 4>as I said before, or it's not a primary role.

600
00:42:02.239 --> 00:42:07.760
<v Speaker 4>So the health check there is not really done. Waits

601
00:42:07.800 --> 00:42:12.519
<v Speaker 4>for the web container to boot and once at least

602
00:42:12.559 --> 00:42:16.079
<v Speaker 4>one of them boots, so it doesn't it can be

603
00:42:16.159 --> 00:42:20.320
<v Speaker 4>on different hosts, you know, like once it's successfully boots,

604
00:42:20.400 --> 00:42:23.679
<v Speaker 4>come al said, okay, I know the application it is

605
00:42:23.760 --> 00:42:29.000
<v Speaker 4>probably built. Well, that's the assumption. Then it will simply

606
00:42:29.039 --> 00:42:34.679
<v Speaker 4>start to boot process for also the other roles. So

607
00:42:34.880 --> 00:42:38.239
<v Speaker 4>for roles that are not web based, there's this assumption

608
00:42:38.360 --> 00:42:45.360
<v Speaker 4>that you can simply decommission them and you know, start

609
00:42:45.400 --> 00:42:51.800
<v Speaker 4>them again. If you have more web roles, you can

610
00:42:52.079 --> 00:42:55.559
<v Speaker 4>you can also say that, okay, run the proxy come

611
00:42:55.599 --> 00:42:59.400
<v Speaker 4>out proxy with this role, and then the request will

612
00:42:59.440 --> 00:43:06.079
<v Speaker 4>be still train, so come out will still wait for

613
00:43:06.639 --> 00:43:09.559
<v Speaker 4>the rectuesce to finish before it will be switching, you know.

614
00:43:09.719 --> 00:43:15.000
<v Speaker 4>But that's really just the roles that are what we

615
00:43:15.039 --> 00:43:18.880
<v Speaker 4>could call proxy rolls, roles that use proxy, but the

616
00:43:18.920 --> 00:43:21.719
<v Speaker 4>other ones they are not really there's not really big

617
00:43:21.719 --> 00:43:25.239
<v Speaker 4>assumption of like come on is the tool that doesn't

618
00:43:25.280 --> 00:43:27.800
<v Speaker 4>know that you are deploying sidekick or that you are

619
00:43:27.920 --> 00:43:32.440
<v Speaker 4>deploying POSTGA sequel accessory. It doesn't know, you know. That's

620
00:43:32.480 --> 00:43:35.280
<v Speaker 4>why there's also not like some kind of plugging to

621
00:43:35.360 --> 00:43:39.639
<v Speaker 4>run post gasquel or my sequel. It's it's the configuration

622
00:43:39.719 --> 00:43:42.199
<v Speaker 4>you have to do that. That's that's the simplicity, but

623
00:43:42.280 --> 00:43:46.760
<v Speaker 4>maybe also annoyance for some people that come on just

624
00:43:46.800 --> 00:43:48.280
<v Speaker 4>does what you tell you to do.

625
00:43:48.920 --> 00:43:52.360
<v Speaker 1>Gotcha, So you it's just the interface you have to

626
00:43:52.400 --> 00:43:55.760
<v Speaker 1>like kind of figure out all the implementation details of it.

627
00:43:56.000 --> 00:43:56.840
<v Speaker 2>How are you using it?

628
00:43:57.800 --> 00:44:01.800
<v Speaker 4>Yeah, in the simplest way, it's really just doctor containers

629
00:44:01.800 --> 00:44:06.119
<v Speaker 4>with doctor run and sometimes they are health check involves,

630
00:44:06.480 --> 00:44:10.960
<v Speaker 4>you know, and it's important to learn how the LEF

631
00:44:11.000 --> 00:44:15.760
<v Speaker 4>cycle goes like that. Okay, accessories are boot first, then

632
00:44:15.800 --> 00:44:19.639
<v Speaker 4>the servers are booted first, the primary role than the others.

633
00:44:19.960 --> 00:44:22.480
<v Speaker 4>And then you realize that then you can think about

634
00:44:22.519 --> 00:44:26.320
<v Speaker 4>how to how to write a configuration you need.

635
00:44:27.400 --> 00:44:31.519
<v Speaker 1>So what what are the latest releases in a version

636
00:44:31.559 --> 00:44:34.599
<v Speaker 1>two that that has gotten you pretty excited about?

637
00:44:36.840 --> 00:44:43.119
<v Speaker 4>Yeah, so I think come out to come out to

638
00:44:43.280 --> 00:44:46.719
<v Speaker 4>is now probably interesting even to people that very interesting

639
00:44:46.760 --> 00:44:49.920
<v Speaker 4>in come on one. You know, for one, the pointing

640
00:44:50.400 --> 00:44:55.119
<v Speaker 4>to a single server is so much easier and straightforward.

641
00:44:55.480 --> 00:44:57.239
<v Speaker 4>There are ways how to do it if you come

642
00:44:57.280 --> 00:45:00.199
<v Speaker 4>out one, but you have to configure traffic and it

643
00:45:00.400 --> 00:45:05.079
<v Speaker 4>was a bit annoying. And now it's all seamless in

644
00:45:05.119 --> 00:45:09.519
<v Speaker 4>the conflict were just right which hosts? So true? And

645
00:45:10.360 --> 00:45:14.400
<v Speaker 4>there you have it. It's like number one thing for

646
00:45:14.440 --> 00:45:17.760
<v Speaker 4>come out too that it out of provisions or ascial

647
00:45:17.840 --> 00:45:20.920
<v Speaker 4>certificates with lets encrypt, you don't have to do anything.

648
00:45:21.880 --> 00:45:25.639
<v Speaker 4>It's just in the configuration. But there is one pevid

649
00:45:25.639 --> 00:45:28.199
<v Speaker 4>I would just say with that it does not apply

650
00:45:28.360 --> 00:45:33.599
<v Speaker 4>for multi host deployment because again COMMA is so simple.

651
00:45:33.800 --> 00:45:40.440
<v Speaker 4>There is no centralized really way of sharing the the

652
00:45:40.480 --> 00:45:45.280
<v Speaker 4>issue certificates. For example, you know, the different hosts doesn't

653
00:45:45.280 --> 00:45:47.360
<v Speaker 4>know about each other. So if you would be issuing

654
00:45:47.760 --> 00:45:51.239
<v Speaker 4>certificates again on every host, then maybe you run out

655
00:45:51.239 --> 00:45:55.239
<v Speaker 4>of the attempts. Lets encrypt or something like that. But

656
00:45:55.360 --> 00:45:58.840
<v Speaker 4>for single service it's like big leap forward, I would say.

657
00:45:59.400 --> 00:46:05.639
<v Speaker 4>But in general, the depots get faster, you know, because

658
00:46:05.800 --> 00:46:09.280
<v Speaker 4>of the process I described. So there's maybe a little

659
00:46:09.280 --> 00:46:12.519
<v Speaker 4>bit less health checks done because there's just like one

660
00:46:12.599 --> 00:46:14.800
<v Speaker 4>for the primary roles and then they are rolling. You

661
00:46:14.840 --> 00:46:19.599
<v Speaker 4>are going for it, but that makes it really faster. Also,

662
00:46:19.719 --> 00:46:26.719
<v Speaker 4>ditching traffic has one nice side effect that the server

663
00:46:26.880 --> 00:46:31.199
<v Speaker 4>CPU utilization went down because that was one thing that

664
00:46:31.320 --> 00:46:38.400
<v Speaker 4>was constantly pulling for like state of docor containers right

665
00:46:38.599 --> 00:46:42.159
<v Speaker 4>because the configuration doesn't live on the traffic side but

666
00:46:42.559 --> 00:46:46.280
<v Speaker 4>on the container side, so it's constantly palling. So if

667
00:46:46.320 --> 00:46:49.679
<v Speaker 4>you would look, you would have some CP utilization all

668
00:46:49.719 --> 00:46:53.000
<v Speaker 4>the time, and that that's not the case with the

669
00:46:53.079 --> 00:46:59.199
<v Speaker 4>new newcome of proxy. You know, the proxy is pretty

670
00:46:59.280 --> 00:47:03.480
<v Speaker 4>like simple that don't do too much the road to host.

671
00:47:04.000 --> 00:47:07.920
<v Speaker 4>You can register a service, it takes care of draining

672
00:47:07.960 --> 00:47:11.000
<v Speaker 4>the request when it's switching over, you know, and there

673
00:47:11.000 --> 00:47:14.000
<v Speaker 4>are there are not many features of like what proxy

674
00:47:14.039 --> 00:47:17.599
<v Speaker 4>could have like heady or engine X. You know, either

675
00:47:17.760 --> 00:47:22.840
<v Speaker 4>some basic breakfast response buffering or handles like maximum reakfast

676
00:47:22.880 --> 00:47:29.440
<v Speaker 4>sizes and proxy headers. But it doesn't even do anything

677
00:47:29.480 --> 00:47:36.159
<v Speaker 4>with let's say your static assets, right for that we

678
00:47:36.719 --> 00:47:40.840
<v Speaker 4>have truster, so they didn't really copy for example, this

679
00:47:41.000 --> 00:47:47.239
<v Speaker 4>functionality too to come out proxy. It's it's still simple.

680
00:47:47.360 --> 00:47:50.280
<v Speaker 4>I think simple. It is good. Some people mind find

681
00:47:50.280 --> 00:47:53.719
<v Speaker 4>it limiting. Let's see what we'll see in the future.

682
00:47:53.800 --> 00:47:57.840
<v Speaker 4>Because I would say the development of commons since I

683
00:47:57.920 --> 00:48:01.519
<v Speaker 4>started to look into it, and then even since I

684
00:48:01.559 --> 00:48:05.239
<v Speaker 4>started to rank Kamel Handbook was really really fast, right,

685
00:48:05.559 --> 00:48:12.079
<v Speaker 4>I did already like to update like basically two editions,

686
00:48:12.199 --> 00:48:14.880
<v Speaker 4>the first one with a big update for Kamal one seven.

687
00:48:17.280 --> 00:48:20.400
<v Speaker 4>So yeah, it's faster, it's much easier to use, I

688
00:48:20.440 --> 00:48:24.559
<v Speaker 4>would say, and things are things are going well?

689
00:48:27.119 --> 00:48:27.679
<v Speaker 2>Yeah, you did.

690
00:48:29.119 --> 00:48:32.400
<v Speaker 1>You bring up at something that I was trying to

691
00:48:32.400 --> 00:48:36.159
<v Speaker 1>work through how you were doing Kamal. I guess like

692
00:48:36.239 --> 00:48:39.760
<v Speaker 1>let's say, like you know, you want to like configure

693
00:48:39.920 --> 00:48:45.639
<v Speaker 1>tune some like engine X caching or proxy specific in

694
00:48:45.719 --> 00:48:48.840
<v Speaker 1>Engine X or some other system level configuration.

695
00:48:49.920 --> 00:48:52.599
<v Speaker 2>Is that all handled like in whatever.

696
00:48:53.400 --> 00:48:57.519
<v Speaker 1>Server that you would configure with kamal Like it's it's

697
00:48:57.559 --> 00:49:01.360
<v Speaker 1>a step away from that aspect, and maybe how does

698
00:49:01.360 --> 00:49:06.079
<v Speaker 1>it like can it work with it to auto generate

699
00:49:06.119 --> 00:49:07.000
<v Speaker 1>that kind of stuff?

700
00:49:07.920 --> 00:49:12.280
<v Speaker 4>So come out work with some assumption. As I said,

701
00:49:12.440 --> 00:49:16.719
<v Speaker 4>it doesn't provision load balancer in front of your service

702
00:49:16.840 --> 00:49:23.440
<v Speaker 4>right and similarly it doesn't really handle some serving of

703
00:49:23.960 --> 00:49:27.559
<v Speaker 4>static assets. The assumption is that you either use something

704
00:49:28.199 --> 00:49:31.079
<v Speaker 4>like suster inside your image for example, so you have

705
00:49:31.280 --> 00:49:34.800
<v Speaker 4>one more little proxy there. You could also have, for example,

706
00:49:34.840 --> 00:49:39.920
<v Speaker 4>your own engines load balancer that also does this caching,

707
00:49:40.280 --> 00:49:42.559
<v Speaker 4>but you will have to deploy yourself. That's the thing.

708
00:49:43.039 --> 00:49:45.800
<v Speaker 4>Come Out won't do it for you, or there's this

709
00:49:45.840 --> 00:49:48.800
<v Speaker 4>assumption that most people maybe it will just approximate caut

710
00:49:48.840 --> 00:49:54.719
<v Speaker 4>flare and do the caching there, you know, so there's

711
00:49:54.800 --> 00:49:59.440
<v Speaker 4>some limitation to it for most people. I think there's

712
00:50:00.199 --> 00:50:02.679
<v Speaker 4>about how to do it. It's just like it's not handled

713
00:50:03.199 --> 00:50:07.880
<v Speaker 4>directly and come out right now, gotcha?

714
00:50:08.199 --> 00:50:15.960
<v Speaker 2>Yeah that makes sense? I mean still early days, Yeah yeah,

715
00:50:16.039 --> 00:50:17.880
<v Speaker 2>I think so. Well cool, So is.

716
00:50:17.880 --> 00:50:22.880
<v Speaker 1>There any like dashboard or monitoring or something like that

717
00:50:22.880 --> 00:50:25.760
<v Speaker 1>that's available to like kind of see things. I see

718
00:50:25.760 --> 00:50:29.039
<v Speaker 1>there's like a you know, come out details where you

719
00:50:29.079 --> 00:50:31.559
<v Speaker 1>can kind of peek at the apps and services running.

720
00:50:33.239 --> 00:50:37.599
<v Speaker 1>Is there any like ux stuff out there that people

721
00:50:37.599 --> 00:50:40.440
<v Speaker 1>are using to visualize or gather metrics or things like that.

722
00:50:42.519 --> 00:50:45.760
<v Speaker 4>Well, I believe that for the something that they use

723
00:50:45.920 --> 00:50:51.239
<v Speaker 4>something like from elasticks such tackle like draft funnel or

724
00:50:51.239 --> 00:50:58.559
<v Speaker 4>something like that. For my thing server, the post for example,

725
00:50:58.719 --> 00:51:02.000
<v Speaker 4>I take advantage of digit ocean agent because you can

726
00:51:02.119 --> 00:51:04.960
<v Speaker 4>just clearly want it and then you have a very

727
00:51:05.000 --> 00:51:09.440
<v Speaker 4>beautiful dashboard do you get for free? Basically you can

728
00:51:09.480 --> 00:51:12.760
<v Speaker 4>even set up alerts. So for very small hosting for example,

729
00:51:12.840 --> 00:51:16.320
<v Speaker 4>what I do, I think that works very nicely. I

730
00:51:16.360 --> 00:51:21.760
<v Speaker 4>know that somebody is making something but it was not announced,

731
00:51:23.719 --> 00:51:28.360
<v Speaker 4>so maybe there will be some come out specific tooling.

732
00:51:29.440 --> 00:51:31.199
<v Speaker 4>But right now if we don't have it, so you

733
00:51:31.320 --> 00:51:34.679
<v Speaker 4>have to do the usual way if you want host monitoring,

734
00:51:34.719 --> 00:51:39.760
<v Speaker 4>install the data agents you know, or doing grafana. It's

735
00:51:39.760 --> 00:51:47.199
<v Speaker 4>definitely something that's not really solved in the I would

736
00:51:47.199 --> 00:51:51.400
<v Speaker 4>say easy way to just to just like enable and

737
00:51:52.000 --> 00:51:54.960
<v Speaker 4>run with. But I think that would be that would

738
00:51:54.960 --> 00:51:58.199
<v Speaker 4>be some nice, nice project for somebody.

739
00:51:58.480 --> 00:52:02.920
<v Speaker 1>For sure, Hey, you definitely got me wanted to deploy

740
00:52:02.960 --> 00:52:08.880
<v Speaker 1>a couple of apps just for fun. So what are

741
00:52:08.920 --> 00:52:11.880
<v Speaker 1>what are maybe some uh, some things that you're looking

742
00:52:11.920 --> 00:52:16.400
<v Speaker 1>forward to, uh or or maybe hopeful that they get added? Uh,

743
00:52:16.519 --> 00:52:19.320
<v Speaker 1>I mean outside of like the two items that we

744
00:52:19.440 --> 00:52:24.119
<v Speaker 1>just talked about, uh with the uh you know, maybe

745
00:52:24.199 --> 00:52:28.280
<v Speaker 1>making proxying a little easier or the metrics aspects, like

746
00:52:29.480 --> 00:52:31.960
<v Speaker 1>is there anything missing from the process that you, like,

747
00:52:32.000 --> 00:52:32.719
<v Speaker 1>hope kids added.

748
00:52:34.199 --> 00:52:37.320
<v Speaker 4>For me, I was kind of already happy with come

749
00:52:37.320 --> 00:52:40.119
<v Speaker 4>Out one. I mean, now that I see come Out too,

750
00:52:40.599 --> 00:52:43.639
<v Speaker 4>I'm even more happy. But I kind of already made

751
00:52:43.679 --> 00:52:47.360
<v Speaker 4>it work. You know, it did it did the job.

752
00:52:48.239 --> 00:52:52.000
<v Speaker 4>And UH. For example, when you when we were comparing

753
00:52:52.039 --> 00:52:54.559
<v Speaker 4>with Copristano in the beginning, you know, it doesn't also

754
00:52:55.760 --> 00:52:58.239
<v Speaker 4>have some kind of tastboard for you, you know, because

755
00:52:58.239 --> 00:53:02.239
<v Speaker 4>the tool is limited and some in some way it's

756
00:53:02.480 --> 00:53:05.079
<v Speaker 4>I think it's good that it has some kind of

757
00:53:05.159 --> 00:53:09.440
<v Speaker 4>limits or some kind of philosophy what it wants to be.

758
00:53:09.840 --> 00:53:12.760
<v Speaker 4>And then there can be a sister project that provides

759
00:53:12.920 --> 00:53:16.320
<v Speaker 4>the extra extra features. So I have to talk about

760
00:53:16.440 --> 00:53:19.480
<v Speaker 4>of course, like this kind of tashboard or maybe even

761
00:53:19.559 --> 00:53:24.440
<v Speaker 4>nicer backups. All these things would be nice or maybe provisioning. Actually,

762
00:53:24.440 --> 00:53:29.239
<v Speaker 4>it was my idea that I could develop this project

763
00:53:29.320 --> 00:53:32.800
<v Speaker 4>that it would be like zero continct provisioning for came out.

764
00:53:32.880 --> 00:53:35.280
<v Speaker 4>That would be the the headline.

765
00:53:35.400 --> 00:53:35.639
<v Speaker 3>You know.

766
00:53:36.519 --> 00:53:38.599
<v Speaker 4>I don't know if I will get to it, but

767
00:53:38.719 --> 00:53:44.639
<v Speaker 4>it's idea I have, so personally, I would see the

768
00:53:44.760 --> 00:53:49.000
<v Speaker 4>sister projects. I also think that David suggested that, yeah, come,

769
00:53:49.079 --> 00:53:52.559
<v Speaker 4>I will probably stay focused, and I think I think

770
00:53:52.559 --> 00:53:54.599
<v Speaker 4>it's a good thing because when I look at DOCU,

771
00:53:54.639 --> 00:53:58.719
<v Speaker 4>for example, it was like the single server pass it

772
00:53:58.840 --> 00:54:02.039
<v Speaker 4>was very well for that. But now I checked the

773
00:54:02.119 --> 00:54:04.559
<v Speaker 4>dogs recently and I see that there's also a way

774
00:54:04.599 --> 00:54:09.360
<v Speaker 4>how to spin up a K three as scheduler, you know,

775
00:54:09.440 --> 00:54:12.519
<v Speaker 4>and then you are like kind of diluting the tool

776
00:54:12.639 --> 00:54:17.840
<v Speaker 4>to be everything for everybody, and that's also in the

777
00:54:17.960 --> 00:54:21.800
<v Speaker 4>end a negative for me. So so I'm happy if

778
00:54:21.800 --> 00:54:27.920
<v Speaker 4>it stays simple, you know, improves in little ways, and

779
00:54:28.400 --> 00:54:28.960
<v Speaker 4>I'm happy.

780
00:54:29.000 --> 00:54:29.159
<v Speaker 3>Man.

781
00:54:29.760 --> 00:54:31.800
<v Speaker 2>Yeah, yeah, I hear.

782
00:54:31.920 --> 00:54:34.400
<v Speaker 1>It's gonna be hard to shake like the existing like

783
00:54:34.519 --> 00:54:41.320
<v Speaker 1>larger infrastructure stuff. Focusing on like the very specific simple

784
00:54:41.639 --> 00:54:48.039
<v Speaker 1>utility of Docker maintenance and services definitely is appealing. Like

785
00:54:49.199 --> 00:54:51.159
<v Speaker 1>going off of that, then, is there anything like you

786
00:54:51.159 --> 00:54:54.920
<v Speaker 1>would like to see removed from the overall like architecture

787
00:54:55.000 --> 00:54:58.679
<v Speaker 1>process that maybe is just causing more headache and confusion

788
00:54:58.920 --> 00:54:59.840
<v Speaker 1>than is adding that.

789
00:55:02.519 --> 00:55:05.239
<v Speaker 4>Not really, I have to say that the change with

790
00:55:05.639 --> 00:55:10.719
<v Speaker 4>secrets for me was a little bit maybe a downside

791
00:55:10.880 --> 00:55:16.639
<v Speaker 4>in my specific way, because what I was doing, since

792
00:55:16.639 --> 00:55:19.719
<v Speaker 4>I knew how COMA really worked, I kept on ci

793
00:55:19.840 --> 00:55:22.639
<v Speaker 4>maybe just like two ends and I could like just

794
00:55:22.719 --> 00:55:28.239
<v Speaker 4>do deployed and not really put my secrets to get up,

795
00:55:28.400 --> 00:55:31.360
<v Speaker 4>you know, which I was very happy about. And now

796
00:55:31.400 --> 00:55:33.760
<v Speaker 4>you either have to put it there or use a

797
00:55:33.800 --> 00:55:37.199
<v Speaker 4>secret manager, which of course if you're a company, you

798
00:55:37.239 --> 00:55:40.039
<v Speaker 4>should be using the secretly management. But for me, I

799
00:55:40.119 --> 00:55:42.280
<v Speaker 4>was like, I have these little projects and I was

800
00:55:42.320 --> 00:55:44.199
<v Speaker 4>happy that I could do it this way, and now

801
00:55:44.239 --> 00:55:47.000
<v Speaker 4>I can't. But in a way, I still think it's

802
00:55:47.000 --> 00:55:50.199
<v Speaker 4>probably better. It's just like that in my specific case,

803
00:55:50.239 --> 00:55:52.880
<v Speaker 4>I was happy to also deploy without the change to

804
00:55:53.119 --> 00:55:56.280
<v Speaker 4>environment because before it was two steps come on, be

805
00:55:56.360 --> 00:56:00.000
<v Speaker 4>five that push the ends and then come out deployed.

806
00:56:00.559 --> 00:56:05.320
<v Speaker 4>But now it's all together, so you do need all

807
00:56:05.480 --> 00:56:08.440
<v Speaker 4>ends because if you don't have them then it will fail.

808
00:56:09.360 --> 00:56:12.960
<v Speaker 4>So that's maybe like one thing in my specific case,

809
00:56:13.000 --> 00:56:17.159
<v Speaker 4>but I think generally it's it's still a step forward

810
00:56:16.719 --> 00:56:20.920
<v Speaker 4>for come out, and you know, I wish people would

811
00:56:22.480 --> 00:56:26.639
<v Speaker 4>maybe replace some Kuberneties clusters, but to be honest, it's

812
00:56:27.000 --> 00:56:32.320
<v Speaker 4>probably not what will necessarily happen. I think the most

813
00:56:32.440 --> 00:56:35.960
<v Speaker 4>value from come Out can get people that are now

814
00:56:36.000 --> 00:56:40.519
<v Speaker 4>deploying with just local composed, because local composed it's originally

815
00:56:40.760 --> 00:56:43.280
<v Speaker 4>the tool you have to put all the containers down

816
00:56:43.360 --> 00:56:45.840
<v Speaker 4>and up. And I know there are some third party

817
00:56:45.880 --> 00:56:49.280
<v Speaker 4>proxies that tries to solve this step plus deployed, but

818
00:56:49.400 --> 00:56:52.960
<v Speaker 4>Kamla is so much nicer in my opinion, you know,

819
00:56:53.760 --> 00:56:57.440
<v Speaker 4>and whatever criticism we would have for come Out, it

820
00:56:57.480 --> 00:57:00.880
<v Speaker 4>would probably apply there as well. So I think it's

821
00:57:01.000 --> 00:57:07.639
<v Speaker 4>just like plus, it's just a better tool. But yeah,

822
00:57:07.760 --> 00:57:16.079
<v Speaker 4>we'll we'll see. Yeah, I think we've.

823
00:57:17.840 --> 00:57:20.719
<v Speaker 1>We've covered quite a lot of topics here. Uh we're

824
00:57:20.960 --> 00:57:24.320
<v Speaker 1>kind of coming to you know time here. But is

825
00:57:24.320 --> 00:57:28.000
<v Speaker 1>there any other things you wanted to cover before we

826
00:57:28.000 --> 00:57:29.679
<v Speaker 1>move into our pick section of the show?

827
00:57:33.960 --> 00:57:37.480
<v Speaker 4>No, not to see the cover, but if I can,

828
00:57:37.559 --> 00:57:40.519
<v Speaker 4>I would just like want to thank you David for

829
00:57:40.599 --> 00:57:46.360
<v Speaker 4>even starting come Out and uh also thank Donald mcgreen

830
00:57:46.679 --> 00:57:50.519
<v Speaker 4>who uh done a lot of work on come Out

831
00:57:50.519 --> 00:57:55.440
<v Speaker 4>too and also wrote a forward, so thank you, I

832
00:57:55.599 --> 00:57:58.679
<v Speaker 4>don't know. And also to Kevin McConnell because he was

833
00:57:58.719 --> 00:58:02.159
<v Speaker 4>the main guy behind Come Up Proxy. She's very important

834
00:58:02.280 --> 00:58:06.079
<v Speaker 4>aspect of Come Out too. And then also a final

835
00:58:06.440 --> 00:58:13.039
<v Speaker 4>shout out to Rosa because she kind of sent doing

836
00:58:13.079 --> 00:58:15.599
<v Speaker 4>all the information that I am writing the book and

837
00:58:15.639 --> 00:58:18.360
<v Speaker 4>then he wrote me in the email and that's how

838
00:58:18.400 --> 00:58:22.239
<v Speaker 4>it all happened. So yeah, thank you, Thank you guys

839
00:58:22.239 --> 00:58:24.840
<v Speaker 4>and everybody else that you know works on Come Out.

840
00:58:25.039 --> 00:58:30.719
<v Speaker 1>I would pay to think, Yeah, seriously, thank you. All

841
00:58:30.719 --> 00:58:32.639
<v Speaker 1>this stuff is definitely going to make it easier to

842
00:58:32.639 --> 00:58:36.239
<v Speaker 1>work with Doccer at least. Yeah, it should be should

843
00:58:36.239 --> 00:58:39.880
<v Speaker 1>help with deployees in general. It's definitely helpful to have

844
00:58:40.079 --> 00:58:45.880
<v Speaker 1>a definitive rails process for deployments, which was missing for.

845
00:58:45.840 --> 00:58:46.639
<v Speaker 2>Quite a long time.

846
00:58:46.760 --> 00:58:51.360
<v Speaker 1>So it's exciting to see, well, great, we're going to

847
00:58:51.400 --> 00:58:54.159
<v Speaker 1>move into picks. It's a second of the show where

848
00:58:54.199 --> 00:58:58.239
<v Speaker 1>we just find some things that we are excited about

849
00:58:58.280 --> 00:59:01.599
<v Speaker 1>in life or code or whatever it may be that

850
00:59:01.679 --> 00:59:08.199
<v Speaker 1>I pique your interest. Uh and uh I can I

851
00:59:08.199 --> 00:59:14.559
<v Speaker 1>can kick us off? I have this particle, Uh, I

852
00:59:14.599 --> 00:59:20.119
<v Speaker 1>guess infatuation. It's a little hardware devices, a little micro controllers,

853
00:59:20.440 --> 00:59:23.199
<v Speaker 1>they have this little development board called the Moon that

854
00:59:23.320 --> 00:59:28.199
<v Speaker 1>lets you uh do things with cellular and uh mesh

855
00:59:28.239 --> 00:59:33.599
<v Speaker 1>it with like you know, Wi Fi Uh so you

856
00:59:33.639 --> 00:59:36.519
<v Speaker 1>can get like kind of like a blended solution on

857
00:59:36.559 --> 00:59:37.920
<v Speaker 1>a micro controller.

858
00:59:38.079 --> 00:59:40.320
<v Speaker 2>Uh. It's a lot of fun. I'm messing with it,

859
00:59:40.519 --> 00:59:41.639
<v Speaker 2>uh just for fun.

860
00:59:44.679 --> 00:59:51.239
<v Speaker 1>And uh I've been playing with open ayes uh new

861
00:59:51.280 --> 00:59:53.159
<v Speaker 1>pipeline for fine tuning stuff.

862
00:59:53.519 --> 00:59:54.480
<v Speaker 2>They call it distillation.

863
00:59:55.199 --> 00:59:55.320
<v Speaker 4>Uh.

864
00:59:55.440 --> 00:59:57.320
<v Speaker 1>It's a lot of fun where you could just uh

865
00:59:57.840 --> 01:00:03.559
<v Speaker 1>send all of your AI and responses to Opening Eye

866
01:00:03.559 --> 01:00:07.199
<v Speaker 1>and they'll automatically like fine tune a new model for

867
01:00:07.239 --> 01:00:10.360
<v Speaker 1>you based on the outputs and inputs that you give it, which.

868
01:00:10.199 --> 01:00:13.239
<v Speaker 2>Is just wild. So I'm having a lot of fun

869
01:00:13.320 --> 01:00:16.320
<v Speaker 2>just messing around and seeing what I can get it

870
01:00:16.360 --> 01:00:16.639
<v Speaker 2>to do.

871
01:00:20.320 --> 01:00:20.599
<v Speaker 3>Nice.

872
01:00:21.639 --> 01:00:23.039
<v Speaker 4>Yeah, I definitely.

873
01:00:25.800 --> 01:00:28.480
<v Speaker 3>Yes, I've gone ah.

874
01:00:28.559 --> 01:00:30.559
<v Speaker 4>Yeah. I just wanted to say, like also like this

875
01:00:31.159 --> 01:00:35.039
<v Speaker 4>just little improvements in life that you can do. For example,

876
01:00:35.440 --> 01:00:40.920
<v Speaker 4>on my travels this year, I switched to finally using

877
01:00:41.239 --> 01:00:45.800
<v Speaker 4>SIM so I didn't have to like, you know, buy

878
01:00:45.960 --> 01:00:50.320
<v Speaker 4>physical same change on the airport when I was like

879
01:00:50.880 --> 01:00:53.840
<v Speaker 4>sweaty and tired and everything, because I just like click

880
01:00:53.880 --> 01:00:56.519
<v Speaker 4>in my phone and I had service and it's like

881
01:00:56.599 --> 01:01:00.480
<v Speaker 4>these little things that like actually are really amazing that

882
01:01:01.599 --> 01:01:07.639
<v Speaker 4>I love. But since my book is about also like

883
01:01:09.519 --> 01:01:13.119
<v Speaker 4>kind of doing something independently, you know, like in the

884
01:01:13.119 --> 01:01:16.079
<v Speaker 4>in the acting spirit, I want to do a recommendation

885
01:01:16.280 --> 01:01:20.159
<v Speaker 4>for one show. It's called The Indie Life's by Dougobard.

886
01:01:21.079 --> 01:01:25.239
<v Speaker 4>He was doing a startup, he kind of failed. He

887
01:01:25.360 --> 01:01:31.159
<v Speaker 4>also got divorced, and now he's like starting this show

888
01:01:31.320 --> 01:01:37.000
<v Speaker 4>Whey where he discusses with people also the not so

889
01:01:37.199 --> 01:01:41.480
<v Speaker 4>glamorous side of this India acting entrepreneurship and stuff. It's

890
01:01:41.519 --> 01:01:44.239
<v Speaker 4>a nice show. So I would recommend this to check

891
01:01:44.320 --> 01:01:45.400
<v Speaker 4>out cool.

892
01:01:46.360 --> 01:01:49.760
<v Speaker 3>Is there any ethan provider that that you recommend, because

893
01:01:49.760 --> 01:01:52.800
<v Speaker 3>I'm traveling to New Zealand and a couple of three

894
01:01:52.880 --> 01:01:55.119
<v Speaker 3>weeks and I was looking at ethents as well.

895
01:01:56.280 --> 01:01:58.360
<v Speaker 4>It was just my first time. I picked one that

896
01:01:59.320 --> 01:02:03.199
<v Speaker 4>something the countries. I go and that's it. But it's

897
01:02:03.199 --> 01:02:07.000
<v Speaker 4>worth It's worth nice. It's probably a bit more expensive,

898
01:02:07.039 --> 01:02:13.239
<v Speaker 4>but I mean I really appreciate the leveling up in

899
01:02:13.320 --> 01:02:16.480
<v Speaker 4>the comfort of travel, So for.

900
01:02:16.519 --> 01:02:20.079
<v Speaker 3>Me, yeah, sure, it's definitely worth the worth the price.

901
01:02:22.480 --> 01:02:24.800
<v Speaker 3>Right my picks, I've got I've got a movie in

902
01:02:24.880 --> 01:02:28.239
<v Speaker 3>a TV show, so I watched a movie last night

903
01:02:28.320 --> 01:02:32.639
<v Speaker 3>called A Night on Earth by Jim Jarmusch. I think

904
01:02:32.679 --> 01:02:36.920
<v Speaker 3>it's from ninety ninety one. Absolutely brilliant. If you like

905
01:02:37.039 --> 01:02:39.840
<v Speaker 3>like character driven movies that don't have a lot of

906
01:02:39.880 --> 01:02:43.599
<v Speaker 3>plot but a very colorful characters, this is the kind

907
01:02:43.599 --> 01:02:47.000
<v Speaker 3>of movie for you. I think really enjoyed a guy

908
01:02:47.400 --> 01:02:51.960
<v Speaker 3>I met at the hag Strub conference last week, I

909
01:02:52.039 --> 01:02:55.280
<v Speaker 3>recommended this movie. That's why I watched it, And yeah,

910
01:02:55.280 --> 01:03:00.239
<v Speaker 3>I'd recommend it to everyone else. And the season two

911
01:03:00.239 --> 01:03:03.079
<v Speaker 3>of a show called Shrinking has just started on Apple TV.

912
01:03:04.559 --> 01:03:07.760
<v Speaker 3>I love season one, and season two started off really

913
01:03:07.800 --> 01:03:11.440
<v Speaker 3>strongly as well. I think four episodes are at It's

914
01:03:11.880 --> 01:03:18.199
<v Speaker 3>starring Harrison Ford and Jason Siegel. From my is familiar

915
01:03:18.239 --> 01:03:21.280
<v Speaker 3>with How I Met Your Mother, wo would know who

916
01:03:21.280 --> 01:03:25.679
<v Speaker 3>he is and Dad Lasso fans will also be happy

917
01:03:25.679 --> 01:03:28.039
<v Speaker 3>to hear that Brett Goldstein is now has joined the

918
01:03:28.079 --> 01:03:32.079
<v Speaker 3>cast for season two. So if any of the names

919
01:03:32.159 --> 01:03:35.440
<v Speaker 3>ring a bell might be sure what checking out? Because

920
01:03:35.559 --> 01:03:38.960
<v Speaker 3>I'm a huge fan. Yeah, those those those are my

921
01:03:39.000 --> 01:03:41.039
<v Speaker 3>two picks.

922
01:03:40.039 --> 01:03:50.719
<v Speaker 1>A Yeah, I always love a good TV movie show Combo. Well, Joseph,

923
01:03:50.719 --> 01:03:52.679
<v Speaker 1>it was it was really great having you on today.

924
01:03:54.159 --> 01:03:56.320
<v Speaker 1>Thank you for sharing all of your you know, deep

925
01:03:56.400 --> 01:04:00.559
<v Speaker 1>diving on Camal. And for those that haven't checked it

926
01:04:00.599 --> 01:04:05.159
<v Speaker 1>out yet, check out all of Joseph's great books that

927
01:04:05.199 --> 01:04:08.559
<v Speaker 1>he's putting together Kamal Handbook for sure.

928
01:04:09.239 --> 01:04:11.239
<v Speaker 2>I'm gonna be diving into that myself.

929
01:04:11.360 --> 01:04:14.840
<v Speaker 1>So I appreciate you taking the time today and honestly

930
01:04:14.960 --> 01:04:18.320
<v Speaker 1>spending all that time putting putting this content together because

931
01:04:18.320 --> 01:04:19.920
<v Speaker 1>it's it's much needed.

932
01:04:21.719 --> 01:04:24.280
<v Speaker 4>Thank you, and thank you for having me on the

933
01:04:24.440 --> 01:04:27.599
<v Speaker 4>on the show I enjoyed awesome.

934
01:04:27.639 --> 01:04:29.679
<v Speaker 1>Well, we'll have to have you come on again when

935
01:04:29.960 --> 01:04:33.320
<v Speaker 1>Comal three comes out and we can get you to

936
01:04:33.360 --> 01:04:34.719
<v Speaker 1>tear apart all the all the.

937
01:04:34.719 --> 01:04:40.079
<v Speaker 2>Great new features that are to come. I'm sure. Well

938
01:04:40.079 --> 01:04:46.079
<v Speaker 2>that's it for day, folks. I'm Valentino. Thank you, Thank you, Joseph.

939
01:04:46.840 --> 01:04:47.599
<v Speaker 2>Until next time,
