Episode Transcript
Transcripts are displayed as originally observed. Some content, including advertisements may have changed.
Use Ctrl + F to search
0:00
Hey, it's Ryan Seacrest. Life comes at
0:02
you fast, which is why it's important
0:04
to find some time to relax. A
0:06
little you time. Enter Chumba Casino with
0:08
no download required. You can jump on
0:11
any time, anywhere for the chance to
0:13
redeem some serious prizes. So treat yourself
0:15
with Chumba Casino and play over a
0:17
hundred online casino style games. All for
0:20
free. Go to Chumba Casino.com to collect
0:22
your free welcome bonus. Sponsored by Chumba
0:24
Casino. This
0:29
podcast is sponsored by TalkSpace. You know
0:31
when you're really stressed or not feeling
0:33
so great about your life or about
0:35
yourself? Talking to someone who understands can
0:37
really help. But who is that person?
0:40
How do you find them? Where do
0:42
you even start? TalkSpace. TalkSpace makes it
0:44
easy to get the support you need.
0:46
With TalkSpace, you can go online, answer
0:48
a few questions about your preferences, and
0:50
be matched with a therapist. And because
0:52
you'll meet your therapist online, you'll have
0:54
to take time off work or arrange
0:56
childcare. You'll meet on your schedule, wherever
0:58
you feel most at ease. If
1:01
you're depressed, stressed, struggling with
1:03
a relationship, or if you
1:05
want some counseling for you
1:07
and your partner, or just
1:09
need a little extra one-on-one
1:11
support, TalkSpace is here for
1:13
you. Plus, TalkSpace works with
1:15
most major insurers, and most
1:18
insured members have a $0
1:20
copay. No insurance? No problem.
1:22
Now get $80 off of
1:24
your first month with promo
1:26
code space 80 when you
1:28
go to talkspace.com. Match with
1:31
a licensed therapist
1:34
today at
1:36
talkspace.com. Save
1:38
$80 with code space
1:41
80 at
1:43
talkspace.com. And we have
1:46
a very special guest today.
1:48
Joseph, do you want to
1:50
introduce yourself and tell
1:52
everybody why you're Ruby
1:54
famous here? Yes. Hello
1:57
everyone. So I'm Joseph.
1:59
I am... freelance software
2:01
engineer. And apparently now
2:03
also a book author,
2:05
I wrote two books.
2:07
The first one was
2:09
called Deployment from Scratch,
2:11
and the second one
2:13
is called Camelhan Book.
2:15
And that's probably why
2:17
we are here today.
2:21
Yeah, you know that Kamala
2:23
is like the one of
2:25
the latest crazes with all
2:27
the new rails announcements that
2:29
came out of rails world
2:31
So it's kind of exciting
2:34
to have an expert here
2:36
or at least somebody who
2:38
has Doved into the trenches
2:40
and put together all the
2:42
details for us to You
2:44
know expose the the secrets
2:46
of how minimalistic it is.
2:48
I hope I I honestly
2:50
haven't had a chance to
2:52
play with Kamal, so I'm
2:54
looking forward to hearing your
2:56
take on how it all
2:58
comes together. Yeah, I did
3:00
a deploy or two before
3:02
the show just so I
3:05
know. So I guess we
3:07
can start maybe at a
3:09
high level like, you know,
3:11
what does the deploy process
3:13
like look like, you know,
3:15
maybe before Kamal and why
3:17
Kamal is even here? Yeah,
3:20
so maybe it would be
3:22
interesting to see it from
3:24
the point of 47 signals,
3:26
because there are the company
3:29
behind Kamo, right? Kamel, actually
3:31
started by David Halmer Hansen,
3:34
so out there of rails,
3:36
he also started Kamo. And
3:38
they were doing the deployment
3:41
with Kapistan, which is a
3:43
simple Ruby deploy tool. You
3:46
basically have all your little...
3:48
tasks predefined in Ruby and
3:50
then you simply run them
3:53
there on the server and
3:55
something happens you know copies
3:58
channel at the time didn't
4:00
do much assumptions about what
4:02
will be on the server
4:05
or so on you could
4:07
define your own tasks so
4:10
you couldn't drive the deployment
4:12
the way you wanted it
4:14
was simply a tool given
4:17
to you and then they
4:19
jumped as everybody else on
4:21
this Kuberneti strain right like
4:24
big deployment that have infinite
4:26
scale. And to me at
4:29
the time, I remember it,
4:31
I was a little bit
4:33
sad because I was like,
4:36
they were the heroes of
4:38
kind of marketing the simple
4:41
way of deploys, right? So
4:43
not everybody has to be
4:45
on Kubernetes. And then it
4:48
was announced that they are
4:50
making... the leaf from cloud,
4:53
right? The big saving journey
4:55
of leaving the cloud. And
4:57
I know they wanted to
5:00
make a burnities work. They
5:02
went to some vendors, you
5:05
know, from Sousa and so
5:07
on. And David was talking,
5:09
writing about that. But then
5:12
he was really thinking, okay,
5:14
maybe we can do something
5:17
on our own, which is
5:19
not silly, so unusual for
5:21
David, I would say. And
5:24
so they kind of. So
5:26
what state is the SSH
5:29
kid, which is like Ruby
5:31
library, so Kamal is design
5:33
around Docker from the ground
5:36
up, you know, and because
5:38
of that, it also made
5:40
some assumptions to make something
5:43
a little bit easier. So
5:45
what state is the SSH
5:48
kid, which is like Ruby
5:50
library that simply connects over
5:52
SSH to your server. But
5:55
instead of running. some just
5:57
pure brush cold. You
6:00
still run, run, you still
6:02
run tasks, but they are
6:04
usually around running ducar commands.
6:07
So, come on, can install
6:09
ducar, and then simply run
6:11
various ducar commands tasks. The
6:13
simplest way, how you can
6:16
think about it at the
6:18
simplest level, is simply that
6:20
the car will connect and
6:22
run ducar, run, name of
6:25
your application, you know. And
6:27
it doesn't even have a
6:29
specific ducer pool task, for
6:31
example, because that's already something
6:34
that ducer does itself. So
6:36
common really tries to be
6:38
as minimalistic as possible and
6:40
as simple as possible. There
6:43
are some limitations to that,
6:45
of course, and I would
6:47
say the simplicity may confuse
6:49
people sometimes. Because as you
6:52
said, so what is the
6:54
deploy process, right? And usually
6:56
I would say before the
6:58
deploy itself, you prepared the
7:01
server beforehand, which we can
7:03
call provisioning, you know, part
7:05
of that's that can be
7:08
even spinning up the virtual
7:10
machines. For example, it's what
7:12
most people would probably do,
7:14
unless you have physical servers,
7:17
and then installing some software
7:19
firewalls and so on. It's
7:21
just that we've come out,
7:23
we don't need anything else
7:26
for the come-out to war.
7:28
then docor. And even docor
7:30
can be installed by command.
7:32
So it simplifies it a
7:35
lot, but it's still like
7:37
one piece of the puzzle.
7:39
Maybe you need other tools.
7:41
You want to install some
7:44
monitoring or recup scripts or
7:46
whatever. So just one part
7:48
of the whole of the
7:50
whole process. Nice. So, um,
7:53
noob question straight off the
7:55
bat. Like, I assume this
7:57
will also be, maybe a
7:59
source of confusion for someone
8:02
who does... doesn't know a
8:04
whole lot about DACA or
8:06
just like the modern deployment
8:08
complexity and stuff, but can
8:11
you explain what the difference
8:13
between Kuveneti and Kamal is
8:15
for people who don't understand
8:17
either of them? Yeah, so
8:20
basically you can split this
8:22
kind of deploy systems to
8:24
two categories. One is doing
8:26
push. to the server. So
8:29
we are pushing your configuration
8:31
to the server, your changes
8:33
to the server. In terms
8:35
of Kamal, that means from
8:38
your local computer or the
8:40
CI server, we will run
8:42
Kamal the Poi and Kamal
8:44
will issue the concrete commands
8:47
that have to run on
8:49
all those servers that you
8:51
defined. And Kubernetes is the
8:53
other category, which we call
8:56
like a pool systems, where
8:58
usually you have... one host
9:00
that runs the main master
9:02
agent in so sort of
9:05
way and the other servers
9:07
run some lightweight minion agents
9:09
and so the central system
9:11
is that one master host
9:14
and all the systems around
9:16
it can pull the information
9:18
from it. So they constantly...
9:20
to fix the new information.
9:23
And if they say, okay,
9:25
there is a new version,
9:27
then they go and pull
9:29
the information themselves. Oh, cool.
9:32
That makes sense. So, like,
9:34
why would, so me as
9:36
an indie developer who is
9:38
building very small apps on
9:41
very small scale, and I'm
9:43
thinking, do I even need
9:45
Dhaka, like, what's your opinion
9:47
on that? Yeah, in terms
9:50
of what I was thinking
9:52
about the split between like
9:54
Kubernetes and the agent systems,
9:56
this is what I think
9:59
that you do. don't really
10:01
need for small scale, right?
10:03
Because you don't need extra
10:05
resources to run the agents.
10:08
You don't need the extra
10:10
master server that maybe also
10:12
need some kind of backup
10:14
to be available and so
10:17
on. But as you say,
10:19
there's still the question about
10:21
darker itself, like isn't even
10:23
darker overhead, right? I saw
10:26
some people commenting on. Ruby
10:28
subreddit and they were like
10:30
kind of criticizing Kamal for
10:32
using Docker when THH wants
10:35
rails to be no build,
10:37
as the no build, right,
10:39
on the front end, but
10:41
then introducing build process on
10:44
the, on the server side.
10:46
But, Booker still has several
10:48
advantages. First of all, we
10:50
really package. pre-package the application
10:53
in the container. So we
10:55
can be sure of what's
10:57
really inside and that at
10:59
this revision the application was
11:02
running, which is important when
11:04
you will be doing a
11:06
rollback, you know, when something
11:08
wrong happened and you want
11:11
to roll back, then you
11:13
know that the previous version
11:15
was actually running fine. The
11:17
problem with copy strano way
11:20
of doing that is that
11:22
suddenly you are trying to
11:24
switch back to Ruby version
11:26
that hopefully is there, but
11:29
maybe if there will some
11:31
system changes, you know, system
11:33
updates, system utilities, and a
11:35
lot of real applications also
11:38
shell out to call some
11:40
system system tools, right? So
11:42
suddenly you don't even know
11:44
what will happen because it
11:47
can go all wrong. Yeah,
11:50
for those that aren't aware
11:52
Kavanaugh is all like local
11:54
file system and just has
11:56
like a, you know, sim
11:58
link cutoff to switch. whatever
12:01
production version you're using right
12:03
behind the scenes. Yeah, like
12:05
TLDR of it. There's all
12:07
this stuff, right? Yeah, exactly
12:10
as you say, and of
12:12
course, yes, it's simply a
12:14
trade-off. You can't really say
12:16
it's so much better or
12:19
so much worse. I think
12:21
for modern deploys, it's it's
12:23
preferable to do it with
12:25
something like doker or different
12:27
container technology. But I do
12:30
sympathize somehow to the local
12:32
criticism because you now need
12:34
a doctor registry to save
12:36
your images, which by the
12:39
way David suggested that they
12:41
will get rid of in
12:43
some future versions of Kamal.
12:45
So hopefully that will go
12:48
away. But yeah, it's a
12:50
new thing to learn basically.
12:52
So I understand. especially because
12:54
when I was writing my
12:56
first book deployment from scratch,
12:59
I also basically did something
13:01
like Capist Channel, except I
13:03
didn't even use Ruby. I
13:05
simply do it with Bash
13:08
only, you know. So you
13:10
don't have to learn any
13:12
other tool and you can
13:14
still install and run. And
13:17
the biggest advantage there is
13:19
that the switch, the update,
13:21
can be really fast. If
13:23
you are not even installing
13:26
a new version of Ruby
13:28
Jam, for example, it's really,
13:30
it's really super fast. But
13:32
I think the other advantages
13:34
of the credibility really really
13:37
are better for most people,
13:39
for majority of people. And
13:41
when I saw Kamal as
13:43
a tool, I was, I
13:46
told myself, okay, this is
13:48
it. because since I had
13:50
this Bash script kind of
13:52
deploy, you know, very, very
13:55
straightforward. I was thinking myself
13:57
of doing some kind of
13:59
small tool, something like Kamal.
14:01
At the time, I was
14:03
thinking maybe using some components
14:06
like keddy for web server,
14:08
you know, or maybe podman
14:10
instead of docor, because my
14:12
background is in like federally
14:15
nukes and stuff. But I
14:17
know that my little tool,
14:19
again, be just for me,
14:21
you know. So I thought
14:24
like Kamal is the closest
14:26
to what I want. And
14:28
so that's how I basically
14:30
started to be interested and
14:32
started to look more into
14:35
it. And I really liked
14:37
Kamal's direction to make it
14:39
just easier to jump on
14:41
darker without having to like
14:44
necessarily worry about like how
14:46
you configure darker and like
14:48
connect all of the services
14:50
and things like that out
14:53
of the box anyway, right?
14:55
And then, because it sets
14:57
you up kind of like,
14:59
okay, if you needed to
15:01
scale, you could then move
15:04
to some other, you know,
15:06
provider like AWS or something
15:08
that could scale the nodes
15:10
for you pretty easily and
15:13
you can reuse all the
15:15
configuration stuff. And so it's
15:17
a little exciting in that
15:19
way. And it makes it,
15:22
it makes me think though,
15:24
like, like, so how does
15:26
this compare to like, you
15:28
know, tools like Chef or,
15:30
you know, some other configuration
15:33
management aspects of like, like,
15:35
like, you know, the system
15:37
deployment process, like where are
15:39
some advantages that Kamal could
15:42
lead us? Where you, you
15:44
know, maybe, I know Chef
15:46
is like a, it takes
15:48
some extreme getting used, there's
15:51
onboarding a ramp like pretty
15:53
steep learning curve. But like
15:55
where do you see Kamal
15:57
like kind of maybe simplifying
15:59
that or how does it
16:02
compare? Or does it not?
16:04
Yeah, I think there is
16:06
this confusion among the the
16:08
post systems because then you
16:11
have exactly as you say
16:13
chef or Ansible and they
16:15
they maybe started more like
16:17
configuration tools, but they also
16:20
offer you a way to
16:22
do a deploy, you know.
16:24
So they're not completely obsolete.
16:26
We've come out because you
16:28
can still use them provision
16:31
the servers and then you
16:33
come out for the deploy
16:35
part. In my case, I
16:37
find that I don't need
16:40
that much of the configuration.
16:42
I mean, come out itself
16:44
even bills even bills. It's
16:46
almost you don't need anything,
16:49
but that's not really true
16:51
and then people are disappointed.
16:53
But for me, I for
16:55
example, included a very small
16:57
Ruby script, which is just
17:00
a little bit wrapper around
17:02
some show commands. How to
17:04
have fun, anytime, anywhere, step
17:06
one, go to Chumba Casino.com.
17:09
Chumba Casino. This podcast is
17:11
sponsored by TalkSpace. You know
17:13
when you're really stressed or
17:15
not feeling so great about
17:18
your life or about yourself?
17:20
Talking to someone who understands
17:22
can really help. But who
17:24
is that person? How do
17:26
you find them? Where do
17:29
you even start? Talk space.
17:31
Talk space makes it easy
17:33
to get the support you
17:35
need. With Talk space, you
17:38
can go online, answer a
17:40
few questions about your preferences,
17:42
and be matched with a
17:44
therapist. And because you'll meet
17:47
your therapist online, you don't
17:49
have to take time off
17:51
work or arrange child care.
17:53
You'll meet on your schedule,
17:55
wherever you feel most at
17:58
ease. If you're depressed, stressed,
18:00
struggling with a relationship, or
18:02
if you want some counseling
18:04
for you and your partner,
18:07
or just need a little
18:09
extra one-on-one support, TalkSpace is
18:11
here for you. Plus, TalkSpace
18:13
works with most major insurers,
18:16
and most insured members have
18:18
a... zero dollar copay. No
18:20
insurance, no problem. Now get
18:22
$80 off of your first
18:24
month with promo code space
18:27
80 when you go to
18:29
talkspace.com. Match with a licensed
18:31
therapist today at talkspace.com. Save
18:33
$80 with code space 80
18:36
at talk space.com. To provision
18:38
some very basic things for
18:40
the server like firewalls, different
18:42
SSHC users for security reasons
18:45
and so on. And in
18:47
this way, you might find
18:49
out that you need so
18:51
little that you don't really
18:53
need a proper tool like
18:56
chef. But at the same
18:58
time, I wouldn't say that
19:00
Kamal makes it obsolete because
19:02
they complement each other. I
19:05
do wonder if David, for
19:07
example, still have in his
19:09
mind to release something complementing
19:11
Kamal because... Kamal is so
19:14
simple and it started as
19:16
a multi-server tool but at
19:18
the same time it cannot
19:20
deploy a load balancer like
19:22
in front of the servers
19:25
right you have a proxy
19:27
that does to get plus
19:29
depose on each of hosts
19:31
like each server but you
19:34
still need like third-party load
19:36
balancer so Kamal is like
19:38
really like a very specific
19:40
tool and I wonder if
19:43
simply Kamal will Maybe get
19:45
a little bit bigger and
19:47
better in this way to
19:49
handle these things or there
19:51
will be something else Maybe
19:54
Would you use Kamal for
19:56
your like on independent single
19:58
server applications as well? Or
20:00
would you use your bash
20:03
script? Whatever approach you thought
20:05
in in your first book?
20:07
So I switched everything to
20:09
Kamal for all my projects
20:12
and and also I was
20:14
working with some clients to
20:16
switch them to come out.
20:18
For me, although I actually
20:20
really used the best scripts
20:23
from from the book, they
20:25
were developed specifically to be
20:27
educational. I didn't say don't
20:29
use tools, don't use Kubernetes.
20:32
But I've write it to
20:34
pure bash to simply show
20:36
people that everything else is
20:38
an obstruction, right? For example,
20:41
when you have Ansible, it's
20:43
written in Python, it's a
20:45
lot of Python code, that
20:47
in the end prepares a
20:49
bash code, the remote server
20:52
and then it executed there,
20:54
right? So I basically skipped
20:56
the part where I have
20:58
to teach someone about different
21:01
tools because, to be honest,
21:03
the tools come and go.
21:05
So the idea for the
21:07
first book was really not
21:10
being about particular tool, but
21:12
more like how this actually
21:14
works. But since we have
21:16
come out, I think it's,
21:18
for me, it's like a
21:21
perfect tool. There is some
21:23
alternative, you can look into
21:25
docu, or maybe even simple
21:27
docu compose, but personally I
21:30
think Kamal has advantage to
21:32
them because they are, it's
21:34
designed for multi-server use from
21:36
the ground up. Basically the
21:39
single server use schedule is
21:41
like edit later, right, with
21:43
Kamal too. And compared to
21:45
docu, there's also a different
21:47
philosophy. It's not like pass.
21:50
It's more like really just
21:52
a deploy tool. But if
21:54
I'm deploying my own application
21:56
that I also develop, I
21:59
think Kamal fits best to
22:01
that use case. You know,
22:03
maybe if you want to
22:05
deploy some public application, maybe
22:08
it's easier to install something
22:10
like qualify or some. are
22:12
the tools that can one
22:14
click install them. But I
22:16
think if you are the
22:19
developer of the application. really
22:21
fits the fields of it
22:23
with the best. And for
22:25
me personally, I really switched
22:28
100%. Yeah, to add on,
22:30
I'm seeing there's a PR
22:32
open right now to add
22:34
a cloud native build text
22:37
to Kamo, which would be
22:39
interesting, where you can basically
22:41
build the app based off
22:43
of other ones pretty easily.
22:45
Yeah, so basically that's. That's
22:48
the single, I would say,
22:50
advantage of docu today, that
22:52
it can be a little
22:54
bit more magical. It somehow
22:57
will build it for you.
22:59
I didn't have to write
23:01
docor file. But lucky for
23:03
us, Wales actually counts of
23:06
docor file, so there is
23:08
no extra work. It is
23:10
not true for every framework.
23:12
But of course, if you
23:14
are adopting docor, I still
23:17
recommend looking into... how to
23:19
build a file, how to
23:21
optimize it. For example, before
23:23
I was trying to squeeze
23:26
the the profile for my
23:28
real applications, you know, I
23:30
was removing all the all
23:32
the files. I don't need
23:35
them to have small footprint
23:37
since you have to do
23:39
the image and pull and
23:41
push. So, so yeah. What
23:43
is like kind of like
23:46
the full process like let's
23:48
say we do like a
23:50
real's new app and we
23:52
wanted to like deploy it
23:55
with Kamal to like some
23:57
Linod or something right or
23:59
digital ocean droplet like what
24:01
is the steps of the
24:04
process there like To just
24:06
like real's new yeah I
24:08
have a you know so
24:10
you know so you so
24:12
let's say you do you
24:15
did a real's new you
24:17
have your doctor file so
24:19
that's one that's one prerequisite
24:21
you have to have for
24:24
the ducer file because maybe
24:26
you are not on rails.
24:28
So let's just mention that
24:30
you do need your server
24:33
to run on port 80.
24:35
You can change it, but
24:37
it's like default if you
24:39
want it to simply work.
24:41
That's the main thing for
24:44
the docor file. Then you
24:46
will need a docor registry.
24:48
So make an account, a
24:50
docor hub or maybe your
24:53
provider hers, it's own register
24:55
that you can use. And
24:57
you need to create like,
24:59
they call it, come out,
25:02
because it's still like registry
25:04
passport, but you should create
25:06
a token and note it
25:08
down. And then you will
25:10
need to create some virtual
25:13
machine. It can be headsner,
25:15
it can be digital ocean,
25:17
and a cloud provider like
25:19
that would work. And for
25:22
that you will need to
25:24
create SSH key pairs. So
25:26
you will create key pair,
25:28
that means you have two
25:31
keys, one private and one
25:33
public, right? So the private,
25:35
obviously, you have to protect
25:37
the registry password. And during
25:39
the creation of the virtual
25:42
machine, When you go like
25:44
create, you choose some resources,
25:46
you know, how big the
25:48
VM should be and so
25:51
on. And then it will
25:53
ask you to copy your
25:55
key there. So that's how
25:57
they will provision the VM
26:00
for you. And you should
26:02
disable the password login value
26:04
there just for security. And
26:06
so that's the... That's that's
26:08
what you need to that's
26:11
what you need to have
26:13
you know at the at
26:15
the minimum at the minimum
26:17
like the basic ones. Now
26:20
maybe you also want to
26:22
deploy to a domain name
26:24
so then obviously you have
26:26
to purchase a domain name
26:29
and you will need a
26:31
DSM record at the very
26:33
least type a to point
26:35
your domain to the IP
26:37
address to the public IP
26:40
address you will get for
26:42
the machine you just provisioned.
26:44
And if you have that
26:46
you can basically start with
26:49
Kamal. With Kamal in it,
26:51
there is some basic configuration
26:53
file. There are comments in
26:55
line, so even when you
26:58
never saw it, you can
27:00
usually guess a little bit
27:02
what you will have to
27:04
put there. So you will
27:06
name your application. Kamal calls
27:09
it service. I would also
27:11
say be careful of the
27:13
name because when you are
27:15
doing the duker, a local
27:18
private networking, it's also like
27:20
kind of a name that
27:22
you are using. So you
27:24
cannot like put any characters
27:27
you want there, you know,
27:29
just stick to normal letters
27:31
and dashes and then you
27:33
are fine. So, so we
27:35
are not surprised later that
27:38
it doesn't work. Then you
27:40
specify the image. which is
27:42
your container registries username like
27:44
slash the application name basically
27:47
and then you can put
27:49
the IP address among servers.
27:51
When you do that you
27:53
are configuring your application server
27:56
by default the role called
27:58
web and you can. return
28:00
just after this one, how
28:02
Kamal splits the application circuit.
28:04
roles and accessories. But for
28:07
now if you just put
28:09
there the IP address that's
28:11
enough and then you will
28:13
configure proxy you will say
28:16
okay I want SSL and
28:18
you will put their host
28:20
which is your domain name
28:22
or it can be also
28:25
sub domain. It can be
28:27
even more hosts if you
28:29
want. So very very flexible.
28:31
This is very nice. Then
28:33
you finish up with the
28:36
registry and then there's builder
28:38
configuration, but by default I
28:40
think there's some reasonable value.
28:42
And once you have all
28:45
this, then you only need
28:47
to provide the environment, which
28:49
is the secrets fee. We
28:51
talk about like common registry
28:54
password, but it can be
28:56
many more secrets that the
28:58
application have, obviously. So you
29:00
list them. There is basically
29:02
some environment variables you can
29:05
list directly, but the secret
29:07
ones you actually just put
29:09
under like end secret in
29:11
the amo file, and then
29:14
you only list them, but
29:16
they leave somewhere else. When
29:18
you did the Kamal in
29:20
it from before, Kamal also
29:23
created.coma slash secret file. That's
29:25
where the secret is. And
29:27
of course, then you can
29:29
also call password managers and
29:31
so on. But at the
29:34
very basic one, you would
29:36
just put the secrets there.
29:38
You will not check it
29:40
out. Check it in the
29:43
source control. And then your
29:45
configuration is done. You run
29:47
Kamal setup. And Kamal does
29:49
everything for you. It will
29:52
connect to the server. It
29:54
will install the occur. It
29:56
will install the... come out
29:58
proxy and then it will
30:00
book your application. So that's.
30:03
the most minimalistic way of
30:05
the point with Kamal. Gotcha.
30:07
So I'm walking through the
30:09
commands, like as you were
30:12
reading through that, and just
30:14
so like we can, for
30:16
the most people know, Heroku,
30:18
very like, Heroku new, and
30:21
then deploy, you know, get
30:23
push for Well, everything you
30:25
just said, right, which is
30:27
pretty wild. Where we have
30:29
like, come all in it,
30:32
creates all the configuration files,
30:34
come all config, like, you
30:36
know, starts to create your
30:38
initial configuration file to add
30:41
all of the stuff to,
30:43
and then you have come
30:45
all deploy that just, like,
30:47
push that up and proxy
30:50
to the new version, right?
30:52
of the app. Yeah, yeah,
30:54
basically, as you say, I
30:56
mean, the camera config is
30:58
already created if camera in
31:01
it and come out config
31:03
simply rejects the configuration. It's
31:05
good. That's actually good point
31:07
to run before the deploy.
31:10
Yeah, that's awesome. I mean,
31:12
that's where we want to
31:14
head, right? Like, it's like,
31:16
it's pretty close. I mean,
31:19
I guess like, like, uh,
31:22
Yeah, I mean so many
31:25
like so many hosting providers
31:27
now have that like one
31:29
clip process to just get
31:31
your VM up that It
31:33
almost doesn't even make sense
31:35
to abstract away that process,
31:37
right? To make it easier
31:40
because they already provide that
31:42
for the most part But
31:44
this is really cool. So
31:46
I'm trying to think like
31:50
We walk through a very
31:52
simple like example, right? And
31:55
I imagine like with all
31:57
of the push to solid
31:59
Q and solid X Y
32:01
Z that like this is
32:03
all running on a single
32:06
machine? How does all of
32:08
that work? Like is it
32:10
by default running the database
32:12
on the same web server?
32:15
Yeah, so that's a good
32:17
question for talking a little
32:19
bit about how Kama actually
32:21
splits your application and what
32:23
it actually does for you.
32:26
Because this was a simple
32:28
example. You have one VM,
32:30
one. one container, right? But
32:32
your application probably does a
32:34
little bit more. It has
32:37
to run jobs or some
32:39
kind of other scheduling or
32:41
maybe are running an API
32:43
server or some marketing website
32:46
and then all those needs
32:48
databases. So at the high
32:50
level, Kamel splits this into
32:52
servers and accessories. So servers
32:54
are your application servers. Those
32:57
all run your application image.
32:59
So you cannot build like
33:01
from multiple images. It has
33:03
to be one image. There's
33:06
just different command that it's
33:08
being drawn. But it comes
33:10
from the application. Of course
33:12
you can package whatever you
33:14
want in the container and
33:17
you for example can have
33:19
application. How to have fun,
33:21
anytime, anywhere. Step one, go
33:23
to Chumba Casino.com. Chumba Casino.com.
33:25
Got it. Step two, collect
33:28
your welcome bonus. Come to
33:30
Papa, welcome bonus. Step three,
33:32
play hundreds of casino-style games
33:34
for free. That's a lot
33:37
of games, all for free.
33:39
Step four, unleash your excitement.
33:41
Chumba Casino has been delivering
33:43
thrills for over a decade.
33:45
So claim your free welcome
33:48
bonus now and live the
33:50
Chumba Life. Visit Chumba. Ryan
33:56
Reynolds here from it mobile.
33:58
I don't know if you
34:00
knew this but anyone can
34:02
get the same premium wireless
34:04
for $15 a month plan
34:07
that I've been enjoying. It's
34:09
not just for celebrities, so
34:11
do like I did, and
34:13
have one of your assistance
34:15
assistance to switch you to
34:17
Mint Mobile today. I'm told
34:19
it's super easy to do
34:21
at MintMobile.com/switch. Up front payment
34:23
of $45 for three month
34:25
plan, equivalent to $15 per
34:27
month required. Intro rate for
34:30
three months only. Then full
34:32
price plan options available, taxes
34:34
and full taxes available, taxes
34:36
and fees extra. a jungle
34:38
application next to it, you
34:40
know, but you have to
34:42
put it to the image
34:44
because that's kind of a
34:46
constraint that come on puts
34:48
and you. And with this
34:50
server roles, it's important to
34:53
say that there is a
34:55
primary role by default. It's
34:57
called web, but you can
34:59
rename it. And the primary
35:01
role assumption is that this
35:03
is your main application server.
35:05
That's your rails S, basically,
35:07
or like your puma starting
35:09
up. And why is important?
35:11
Because it plays in a
35:13
role, how come I actually
35:16
does deploy on multiple servers
35:18
and also on each particular
35:20
server. Because when it puts
35:22
your application, it usually puts
35:24
your accessories, which are the
35:26
databases, all these low-running services
35:28
that are not necessarily, I
35:30
mean, they're connected with your
35:32
application, but it's... but it's
35:34
something else. You know, they're
35:36
not part of the Kamal
35:39
deployed process per side. They
35:41
should already be running and
35:43
you are simply taking use
35:45
of it. But the primary
35:47
was important because Kamal changed
35:49
a little bit regarding health
35:51
checks and how it ensures
35:53
that actually the container is
35:55
healthy and can serve traffic
35:57
or can run. before we've
35:59
tried. we had something like
36:02
a court file. I won't
36:04
really go into it because
36:06
it's already kind of obsolete.
36:08
But I will say that
36:10
the new way, there is
36:12
something called the barrier. Maybe
36:14
you won't find this name
36:16
in the dogs, but you
36:18
might find it in the
36:20
code or somewhere in the
36:22
issues. That's how common maintenance
36:25
call it. And the barrier
36:27
means that common weight first
36:29
for your that container to
36:31
boot up successfully. the new
36:33
one, for example, for the
36:35
new version. And once it's
36:37
healthy, then it assumes it
36:39
can boot everything else. So
36:41
all other roles, whether it's
36:43
jobs or marketing sites or
36:45
whatever you put there, will
36:48
also start without any further
36:50
health check, because the only
36:52
camel proxy checks is for
36:54
this primary role. So that's...
36:56
very important to realize, for
36:58
example, you might be deploying
37:00
front and back end, you
37:02
know, split. And if come
37:04
out, you can have front
37:06
and application as one application
37:08
and back end as one
37:11
application. But if you are
37:13
putting it together and you
37:15
are simply splitting it into
37:17
roles, then one of them
37:19
has to be the primary
37:21
that come out will wait
37:23
on and then it will
37:25
also boot the others. So
37:27
that's like. one important thing.
37:29
You can still have health
37:31
checks also for other containers,
37:34
but then it's just the
37:36
regular docor health checks that
37:38
you can add there, but
37:40
nothing to do with the
37:42
come out proxy process of
37:44
booting. Which docor registry would
37:46
you personally recommend people use?
37:48
I personally use the care
37:50
hub right now. I want
37:52
to support them because I
37:54
know they have... hard time
37:57
as a company to actually
37:59
make money out of Tucker.
38:01
And it's great that is
38:03
free and everything, you know,
38:05
but to support them, I
38:07
use them currently. Maybe the
38:09
smart answer is use the
38:11
registry with your provider because
38:13
it might be faster for
38:15
you, you know, might be
38:17
even cheaper because I think
38:20
they're increasing prices right now
38:22
with But I like the
38:24
idea of supporting them in
38:26
some way. So right now
38:28
I'm using the registry. Cool.
38:30
And so the thing with
38:32
this more of a broader
38:34
question around self hosting as
38:36
opposed to using up a
38:38
pass, the two things that
38:40
kind of scare me about
38:43
self hosting, which is why
38:45
I haven't actually deployed an
38:47
app by myself yet I
38:49
use render. The two things
38:51
that kind of scare me.
38:53
One is database backups for
38:55
like, I use postgras personally,
38:57
but I probably use SQLite
38:59
for the next project, which
39:01
would make life a bit
39:03
easier in that regard. But
39:06
database backups and OS upgrades.
39:08
So like for someone who's
39:10
only ever used like Heroku
39:12
or Ender never had to
39:14
worry about this kind of
39:16
stuff. What would you tell
39:18
them? You mentioned backups first,
39:20
right? So in the docor
39:22
way of doing backups is
39:24
likely to simply run a
39:26
docor container that does backups,
39:29
right? That's the docor way
39:31
because you have to run
39:33
everything in docor. You can
39:35
still do manual backups as
39:37
before. I actually mentioned it
39:39
in Kamalhan books, how to
39:41
do it. So you can
39:43
still do manual backup. You
39:45
can call, you know, the...
39:47
The command is a bit
39:50
larger because you have to
39:52
use the... It is actually
39:54
a good point. come out
39:56
to edit aliases so you
39:58
can prepare these commands and
40:00
then have like nice come
40:02
all backup and it will
40:04
do backup right so so
40:06
in a way it works
40:08
the same as normal self
40:10
hosting but it's definitely more
40:13
work than just using managed
40:15
database and I would say
40:17
it might be good for
40:19
people to first just move
40:21
with their server load like
40:23
application servers and wait with
40:25
the database just used to
40:27
manage the database. There's nothing
40:29
wrong with that. In fact,
40:31
I think most people will
40:33
run it like that will
40:36
take advantage of the managed
40:38
database because it saves you
40:40
a lot of hustle which
40:42
is true. But yeah, if
40:44
you want to do it
40:46
yourself, you will try on
40:48
a container there. Then you
40:50
can upload it, for example,
40:52
every day to S3 or
40:54
something like that and also
40:56
have a way to pull
40:59
it back if something happens.
41:01
I also recommend to always
41:03
turn on the automatic VM
41:05
backups, which means the whole
41:07
VM is backup like every
41:09
day on your cloud hosting
41:11
provider. This is especially cool
41:13
for like this project that,
41:15
for example, I deploy, you
41:17
know, they are not big
41:19
yet, they are one per
41:22
server. So I know I
41:24
have snapshot every day. database
41:26
and but also everything else
41:28
so I can just with
41:30
one click to return there
41:32
and continue which is really
41:34
really good but you know
41:36
as it is with backups
41:38
it's good to always have
41:40
like two different backups maybe
41:42
just to be sure so
41:45
I think that extra extra
41:47
assurance can be this virtual
41:49
machine backups as a whole
41:51
yeah And actually with
41:53
the system updates, I think
41:56
it's kind of similar because
41:58
if you have backup of
42:01
the VM and you can
42:03
return and return to
42:05
the to the process later.
42:08
And if Kamal, if you
42:10
have more hosts, you
42:12
can simply put the host
42:15
that you're upgrading like kind
42:17
of offline, you know, upgrade
42:20
the system there and then
42:22
you put it back to
42:25
the pool of servers. That's
42:27
ideal. If you have more
42:30
service and you can do
42:32
it, that's like a safe
42:35
way to to run
42:37
it. Does the current Kamal
42:39
proxy handle like low balancing
42:42
to do like slow
42:44
rollouts of versions of the
42:46
app or? Yeah, yeah, it
42:49
will, it does so-called blue
42:51
green deploy. So on every
42:54
host it will put a
42:56
new application, you're running also
42:59
the old one, then after
43:01
the house check, it switch,
43:04
but then also it switch,
43:06
but then also it
43:08
like goes and runs it.
43:11
across all hosts, right? So
43:13
yeah, there's some settings,
43:15
some little settings around that.
43:18
And it will do the
43:20
rollout for you. Yeah. That's
43:23
really cool. So I'd love
43:25
to shift gears a little
43:28
bit into this whole, like,
43:30
Kamal accessory stuff, because this
43:33
is something I wasn't immediately
43:35
obvious, like, how it all
43:38
works and when's the
43:40
best. Use case, right, where
43:42
when it's not good thing
43:45
to use as an
43:47
accessory, like what is an
43:49
accessory, right? Do you want
43:52
to just give us
43:54
like a high level like
43:56
what the Kamala accessories are
43:59
and like one example of
44:01
like the most common
44:03
one that you would add
44:06
to in that new app?
44:08
Yeah, so basically accessories.
44:10
are come away of running
44:13
like some kind of permanent
44:15
services, you know, that are
44:18
not part of that deploy
44:20
life cycle, they simply run.
44:23
Next to it, whether that's
44:25
relational database is key value
44:28
stores, search, maybe headless browsers,
44:30
you know, anything else that
44:33
you just run as
44:35
a service, basically, as your
44:37
application is using. Most people
44:40
will simply use a
44:42
database as an accessory or
44:44
first accessory. And then you
44:47
can run accessories on the
44:50
same host or different holes.
44:52
Basically, that's what I really
44:55
like about, come out, you
44:57
simply put the IP there,
45:00
IP address, and it will
45:02
deploy on that host, you
45:05
know, whether that was
45:07
an application role or accessory,
45:09
it just puts it there
45:12
where you want it.
45:14
If you want to collocate
45:16
it with the roles, you
45:19
can also just say, just
45:21
put it where the role.
45:24
That is... Ryan
45:29
Reynolds here for Mint Mobile.
45:31
I don't know if you
45:33
knew this, but anyone can
45:35
get the same premium wireless
45:37
for $15 a month planned
45:39
that I've been enjoying. It's
45:42
not just for celebrities, so
45:44
do like I did, and
45:46
have one of your assistance
45:48
assistance to switch you to
45:50
Mint Mobile today. I'm told
45:52
it's super easy to do
45:54
at MintMobile.com/switch. Up front payment
45:56
of $45 for three-month plan
45:58
equivalent to $15 per month
46:00
required. Intro rate for three
46:02
months only. Then full price
46:05
plan options available. Taxes and
46:07
fees extra. See full terms
46:09
at mintMobile.com. it will automatically
46:11
put the application next to
46:13
your, I mean, your database
46:15
next to your application on
46:17
that server. So you don't
46:19
even have to specify the
46:21
IP again, for example. But
46:23
in principle, you can really
46:25
spin it up anywhere, anywhere
46:28
you want. That's neat. So
46:30
like, let's say a more,
46:32
maybe more advanced one would
46:34
be something like sidekick or
46:36
like a background processor. How
46:38
do the employees then work
46:40
like as you deploy a
46:42
new version and it needs
46:44
to like do like a
46:46
rolling restart to wait for
46:49
you know whatever jobs to
46:51
finish before it it cycles
46:53
over to the new version
46:55
for new jobs? What's that
46:57
kind of process? you would
46:59
call it like jobs for
47:01
example, right? And as I
47:03
said before, it's not a
47:05
primary role. So the health
47:07
check there is not silly
47:09
done. It waits for the
47:12
web container to boot. And
47:14
once at least one of
47:16
them boots, so it doesn't,
47:18
it can be on different
47:20
hosts, you know, like once
47:22
it successfully boots, come on,
47:24
okay, I know the application.
47:26
I probably built well with
47:28
the assumption, then it will
47:30
simply start the good process
47:32
for also the other roles.
47:35
So for roles that are
47:37
not web-based, there's this assumption
47:39
that you can simply decommission
47:41
them and start them again.
47:43
If you have more web
47:45
roles, you can. you can
47:47
also say that, okay, run
47:49
the proxy, come up proxy
47:51
with this role, and then
47:53
the request will... be still
47:55
trained. So come up, we
47:58
will still bait for the
48:00
request to finish before it
48:02
will be switching, you know,
48:04
but that's really just the
48:06
roles that are what we
48:08
could call proxy roles, roles
48:10
that use proxy. But the
48:12
other ones, they are not
48:14
really a big assumption of
48:16
like, Kamel is the tool
48:18
that doesn't know that you
48:21
are deploying sidekick or that
48:23
you are deploying post-ge sequel
48:25
accessory, it doesn't know, you
48:27
know. That's why it is
48:29
also not like some kind
48:31
of plug-in to run post-ge
48:33
sequel or my sequel. It's
48:35
the configuration you have to
48:37
do. That's the simplicity, but
48:39
maybe also annoyance for some
48:41
people that you just does
48:44
what you tell it to
48:46
do. Gotcha. So you... It's
48:48
just the interface, you have
48:50
to like kind of figure
48:52
out all the implementation details
48:54
of it, how you're using
48:56
it. Yeah, in the simplest
48:58
way, it's really just trans,
49:00
ducar containers with ducaram, and
49:02
sometimes they are health check
49:05
involved, you know, and it's
49:07
important to learn how the
49:09
life cycle goes like that,
49:11
okay, accessories are booked first,
49:13
then then the servers are.
49:15
who did first, primary role
49:17
than the others, and then
49:19
you realize that then you
49:21
can think about how to
49:23
write a configuration you even
49:25
need. So what are the
49:28
latest releases in version two
49:30
that has gotten you pretty
49:32
excited about? Yeah, so I
49:34
think Kamao is now probably
49:36
interesting even to people that
49:38
very interesting in common one,
49:40
you know. For one, deploying
49:42
to a single server is
49:44
so much easier and straightforward.
49:46
There were ways how to
49:48
do it in common one,
49:51
but you have to configure
49:53
traffic and it was a
49:55
bit annoying. And now it's
49:57
all seamless in the config,
49:59
you just write which holes,
50:01
as is all true. And
50:03
there you have it. It's
50:05
like number one thing for
50:07
Kamal 2, that it out
50:09
of provision to your as
50:11
a cell certificate with lots
50:14
and encrypt. You don't have
50:16
to do anything. It's just
50:18
in the configuration. But there
50:20
is one pivot I would
50:22
just say with that. it
50:24
does not apply for multi-host
50:26
deployment because again Kamal is
50:28
so simple there is no
50:30
centralized really way of sharing
50:32
the the issued certificates for
50:34
example you know the different
50:37
host doesn't know about each
50:39
other so if you would
50:41
be issuing certificates again on
50:43
every host then maybe you
50:45
run out of the attempts
50:47
at that's encrypt or something
50:49
like that. But for single
50:51
server, this big leap forward,
50:53
I would say. But in
50:55
general, the depots get faster,
50:57
you know, because of the
51:00
process I described, so there's
51:02
maybe a little bit less
51:04
health checks done, because there's
51:06
just like one for the
51:08
primary roles, and then we
51:10
are rolling, we are going
51:12
for it. But that makes
51:14
it really faster. Also, Traffic
51:16
has one nice side effect
51:18
that the server CPU utilization
51:21
went down because that was
51:23
one thing that was constantly
51:25
pulling for like. Hello, it
51:27
is Ryan, and I was
51:29
on a flight the other
51:31
day playing one of my
51:33
favorite social spin slot games
51:35
on Chumba Casino.com. I looked
51:37
over the person sitting next
51:39
to me, and you know
51:41
what they were doing? They
51:44
were also playing Chumba Casino.
51:46
Everybody's loving, having fun with
51:48
it. Chumba Casino is home
51:50
to hundreds of casino-style games
51:52
that you can play for
51:54
free anytime, anywhere. So sign
51:56
up now at Chumba Casino.com
51:58
to live the Chumba Casino.
52:00
sponsored by Shumba Casino. No
52:02
purchase necessary VGW Group void
52:04
were prohibited by law 21
52:07
plus terms and conditions apply.
52:09
State of Docker containers, right?
52:11
Because the configuration doesn't live
52:13
on the traffic side, but
52:15
on the container side, so
52:17
it's constantly polling. So if you
52:20
would look, you would have some
52:22
CPU utilization all the time and
52:24
that that's not the case with
52:26
the new new common proxy, you
52:28
know. The proxy is... pretty like
52:30
simply doesn't do too much
52:32
the roads to host, you
52:35
can register service, it takes
52:37
care of draining the request when
52:39
it's switching over, you know,
52:41
and there are not many
52:43
features of like what proxy
52:45
could have like keddy or
52:48
engine X, you know, either
52:50
some basic request response buffering
52:52
or handles like maximum
52:55
request sizes and proxy
52:57
headers, but It doesn't even
53:00
do anything with, let's
53:02
say, your static assets, right?
53:04
For that we have truster,
53:06
so they didn't really
53:08
copy, for example, this
53:10
functionality to come out
53:13
proxy. It's still simple.
53:15
I think simple is
53:18
good. Some people might find
53:20
it limiting. Let's see what
53:22
we'll see in the future, because
53:24
I would say the development of.
53:27
Kamal, since I started
53:30
to look into it, and
53:32
then even since I started
53:34
to rank Kamalhan book,
53:36
was really, really fast.
53:38
Right. I did already like
53:41
two updates, like basically two
53:43
editions, the first one, with
53:45
a big update for
53:47
Kamal 1-7. So yeah, it's
53:50
faster, it's much easier to use,
53:52
I would say, and things are
53:54
things are going well. Yeah,
53:58
you did. You'd
54:00
bring up something that I
54:02
was trying to work through,
54:04
how you were doing Kamal.
54:06
I guess, like, let's say,
54:08
like, you know, you want
54:10
to, like, configure a tune,
54:12
some, like, engine X caching
54:14
or proxies specific in engine
54:16
X or some other system
54:18
level configuration. Is that all
54:20
handled, like, in whatever server
54:22
that you would configure with
54:25
Kamal? Like, it's... it's a
54:27
step away from that aspect?
54:29
And maybe how does it
54:31
like, can it work with
54:33
it? To auto generate that
54:35
kind of stuff? So, come
54:37
I'll work with some assumption.
54:39
As I said, it doesn't
54:41
provision load bonds in front
54:43
of your servers, right? And
54:45
similarly, it doesn't really handle
54:47
some... serving of static assets.
54:49
The assumption is that you
54:51
either use something like cluster
54:53
inside your image, for example,
54:55
so you have one more
54:57
little proxy there. You could
54:59
also have, for example, your
55:01
own engines load balancer, that
55:03
also does the sketching, but
55:05
you will have to deploy
55:07
it yourself. That's the thing.
55:10
Kamal won't do it for
55:12
you. Or there's this assumption
55:14
that most people maybe will
55:16
just proxy with cloud player.
55:18
and do the cashing there,
55:20
you know. So there's some
55:22
limitation to it. For most
55:24
people, I think there's a
55:26
way how to do it.
55:28
It's just like, it's not
55:30
handled directly and come out
55:32
right now. Gotcha. Yeah, that
55:34
makes sense. I mean, still
55:36
early days. Yeah, yeah, I
55:38
think so. Well, cool. So
55:40
is there any like, dashboard
55:42
or monitoring or something like
55:44
that, that's available to like
55:46
kind of see things. I
55:48
see there's like a, you
55:50
know, come all details. where
55:52
you can kind of peek
55:54
at the apps and services
55:57
running. Is there any like
55:59
UX stuff out there that
56:01
people are using to visualize
56:03
or gather metrics or things
56:05
like this? Well, I believe
56:07
that for the sounds that
56:09
they use something like from
56:11
elastics, such tag like a
56:13
phenomena or something like that.
56:15
thing server depots for example
56:17
I take advantage of digital
56:19
ocean agent because you can
56:21
just click you want it
56:23
and then you have very
56:25
beautiful dashboard that you get
56:27
for free basically you can
56:29
even set up alerts so
56:31
for very small hosting for
56:33
example what I do I
56:35
think that works very nicely
56:37
I know that somebody is
56:39
making something but it was
56:42
not announced so maybe there
56:44
will be some come out
56:46
specific tooling but right now
56:48
we don't have it so
56:50
you have to do the
56:52
usual way if you want
56:54
host monitoring install that data
56:56
dot agents you know or
56:58
being Grafana is definitely something
57:00
that's not really solved in
57:02
the I would say easy
57:04
way to just to just
57:06
like enable and run with
57:08
but I think that would
57:10
be some nice Nice project
57:12
for somebody for sure. Hey,
57:14
you definitely got me wanting
57:16
to deploy a couple of
57:18
apps just for fun. So
57:20
what are maybe some things
57:22
that you're looking forward to
57:24
or maybe hopeful that they
57:27
get added? I mean, outside
57:29
of like the two items
57:31
that we just talked about
57:33
with the, you know. maybe
57:35
making proxying a little easier
57:37
or the metrics aspects like.
57:39
Is there anything missing from
57:41
the process that you like
57:43
hope gets at it? For
57:45
me, I was kind of
57:47
already happy with Kamal 1.
57:49
I mean, now that I
57:51
see Kamal 2, I'm even
57:53
more happy. But I kind
57:55
of already made it work,
57:57
you know, it did the
57:59
job. And for example, when
58:01
you, when we were comparing
58:03
with Kapistrano in the beginning,
58:05
you know, it doesn't also
58:07
have some kind of dashboard
58:09
for you, you know. because
58:11
the tool is limited. And
58:14
in some way, I think
58:16
it's good that it has
58:18
some kind of limits or
58:20
some kind of philosophy of
58:22
what it wants to be.
58:24
And then there can be
58:26
a sister project that provides
58:28
the extra features. So I
58:30
will talk about, of course,
58:32
like this kind of dashboard
58:34
or maybe even nicer backups,
58:36
all these things would be
58:38
nice or maybe provisioning. Actually,
58:40
it was my idea that
58:42
I could develop. this project
58:44
that it would be like
58:46
zero config provisioning for Kamo
58:48
with the headline, you know.
58:50
I don't know if I
58:52
will get to it, but
58:54
it's an idea I have.
58:56
So personally, I would see
58:59
it as sister projects. I
59:01
also think that David suggested
59:03
that yeah, Kamo will probably
59:05
stay focused and I think
59:07
I think it's a good
59:09
thing because when I look
59:11
at Docu for example, it
59:13
was like the single server
59:15
pass and it was very
59:17
well for that. But now
59:19
I checked the docs recently
59:21
and I see that there
59:23
is also a way how
59:25
to spin up a K3S
59:27
scheduler. You know, and then
59:29
you are like kind of
59:31
deleting the tool to be
59:33
everything for everybody. And that's
59:35
also in the end negative.
59:37
for me. So I'm happy
59:39
if it stays simple, you
59:41
know, improves in little ways.
59:44
Yeah, I hear you. It's
59:46
going to be hard to
59:48
shake, like, the existing, like,
59:50
larger infrastructure stuff, focusing on,
59:52
like, the very specific, simple
59:54
utility of Docker maintenance and
59:56
services. Definitely is appealing. Like,
59:58
going off of that, then,
1:00:00
is there anything like you
1:00:02
would like to see removed
1:00:04
from the overall, like, architecture
1:00:06
process that maybe is just
1:00:08
causing more headache and confusion
1:00:10
than is adding value? Not
1:00:12
really. I have to say
1:00:14
that the change with secrets
1:00:16
for me was a little
1:00:18
bit maybe a downside in
1:00:20
my specific way because what
1:00:22
I was doing, since I
1:00:24
knew how Kama really worked,
1:00:26
I kept on CI maybe
1:00:28
just like two amps and
1:00:31
I could like just do
1:00:33
deployed and not until it
1:00:35
put my secrets to to
1:00:37
get up, you know, which
1:00:39
I was very happy about.
1:00:41
And now you either have
1:00:43
to put it there or
1:00:45
use a secret manager, which
1:00:47
of course, if you are
1:00:49
a company, you should be
1:00:51
using secret management. But for
1:00:53
me, I was like, I
1:00:55
was just little projects and
1:00:57
I was happy that I
1:00:59
could do it this way
1:01:01
and now I can't. But
1:01:03
in other, I still think
1:01:05
it's probably better. It's just
1:01:07
like, in my specific case,
1:01:09
I was happy to deploy
1:01:11
without the without the change.
1:01:13
two environments because before it
1:01:16
was two steps, come on
1:01:18
with five, this is push
1:01:20
the amps and then come
1:01:22
on deploy. But now it's
1:01:24
all together. So you do
1:01:26
need all amps because if
1:01:28
you don't have them, then
1:01:30
it will fail. So there's
1:01:32
maybe like one thing in
1:01:34
my specific case, but I
1:01:36
think generally it's still a
1:01:38
step forward for for common.
1:01:40
And you know, I wish
1:01:42
people would Maybe replace some
1:01:44
Kubernetes clusters, but to be
1:01:46
honest, it's probably not what
1:01:48
will necessarily have. I think
1:01:50
the most value from come
1:01:52
out can get people that
1:01:54
are now deploying with just
1:01:56
look at compose. Because look
1:01:58
at compose, it's originally a
1:02:01
deaf tool, you have to
1:02:03
put all the containers down
1:02:05
and up. And I know
1:02:07
there are some third-party proxies
1:02:09
that tries to solve this
1:02:11
get-less deploy, but Kamel is
1:02:13
so much nicer in my
1:02:15
opinion, you know, and whatever
1:02:17
criticism we would have for
1:02:19
Kamel. It would probably apply
1:02:21
there as well. So I
1:02:23
think it's just like a
1:02:25
plus, just a better tool.
1:02:27
It is Ryan here and
1:02:29
I have a question for
1:02:31
you. What do you do
1:02:33
when you win? Like are
1:02:35
you a fist-pumper? A woo-hooer!
1:02:37
A hand clap or a
1:02:39
high-fiver? If you want to
1:02:41
hone in on those winning
1:02:43
moves, check out Chumba Casino.
1:02:45
Choose from hundreds of social
1:02:48
casino-style games for your chance
1:02:50
to redeem serious cash prizes.
1:02:52
There are new game releases
1:02:54
weekly plus free daily bonuses
1:02:56
so don't wait. Start having
1:02:58
the most fun ever at
1:03:00
Chumba Casino Casino. But
1:03:06
yeah, we'll we'll see.
1:03:09
Yeah, I think we've
1:03:11
we've covered quite a
1:03:14
lot of topics here.
1:03:16
We're kind of coming
1:03:18
to, you know, time
1:03:21
here, but is there
1:03:23
any other things you
1:03:25
wanted to cover before
1:03:28
we move into our
1:03:30
pick section of the
1:03:33
show? Not not
1:03:35
really cover but if I
1:03:37
can I would just like
1:03:39
want to thank you David
1:03:41
for even starting come out
1:03:43
and Also think don't I
1:03:45
mean who? Done a lot
1:03:47
of work on come out
1:03:49
too and also wrote a
1:03:51
forward so thank you Donal
1:03:54
and also to Kevin McConnell
1:03:56
because he was the main
1:03:58
guy behind Kamal proxy. She's
1:04:00
a very important aspect of
1:04:02
Kamal too. And then also
1:04:04
a final shout out to
1:04:06
Rosa because she kind of
1:04:08
sent Don't all the information
1:04:10
that I am writing the
1:04:12
book and then he wrote
1:04:14
me in the email and
1:04:17
that's how it all happened.
1:04:19
So yeah, thank you. Thank
1:04:21
you guys. And everybody else
1:04:23
that you know works on
1:04:25
Kamal, I would like to
1:04:27
think. Yeah,
1:04:30
seriously. Thank you. All this
1:04:32
stuff is definitely going to
1:04:34
make it easier to dock
1:04:36
or at least. Should be
1:04:39
should help with deploys in
1:04:41
general. It's definitely helpful to
1:04:43
have a definitive rails process
1:04:45
for deployments, which was missing
1:04:48
for quite a long time.
1:04:50
So it's exciting to see.
1:04:52
Well, great. We're going to
1:04:54
move into PICS. It's a
1:04:57
segment of their show where
1:04:59
we just... Find some things
1:05:01
that we're excited about in
1:05:03
life or code or whatever
1:05:06
it may be that pique
1:05:08
your interest. And I can
1:05:10
kick us off. I have
1:05:12
this particle, I guess, infatuation.
1:05:15
It's a little hardware devices,
1:05:17
little microcontrollers. They have this
1:05:19
little development board called the
1:05:21
Muon that lets you do
1:05:24
things with cellular and mesh
1:05:26
it with like You know
1:05:28
Wi-Fi so you can get
1:05:30
like kind of like a
1:05:33
blended solution on a microcontroller.
1:05:35
It's a lot of fun.
1:05:37
I'm messing with Open A-I's
1:05:39
new pipeline for fine-tuning stuff
1:05:42
They call it distillation. It's
1:05:44
a lot of fun where
1:05:46
you could just send all
1:05:48
of your... AI prompt and
1:05:51
responses to open AI and
1:05:53
they'll automatically fine tune a
1:05:55
new model for you based
1:05:57
on the outputs and inputs
1:06:00
that you give it, which
1:06:02
is just wild. So I'm
1:06:04
having a lot of fun
1:06:06
just messing around and seeing
1:06:09
what I can get it
1:06:11
to do. Yeah, I just
1:06:13
wanted to say like, also
1:06:15
like this, just little improvements
1:06:18
in life that you can
1:06:20
do, for example, on my
1:06:22
travels this year, I switched
1:06:24
to finally using e-Sem, so
1:06:27
I didn't have to like,
1:06:29
you know, by physical Sim,
1:06:31
change on the airport when
1:06:33
I was like, 30 and
1:06:36
tired and everything, because I
1:06:38
just like clicked on my
1:06:40
phone and I had service.
1:06:42
And it's like this little
1:06:45
things that like actually are
1:06:47
really amazing that I love.
1:06:49
But since my book is
1:06:52
about also like kind of
1:06:54
doing something independently, you know,
1:06:56
like in the in the
1:06:58
hacking spirit, I want to
1:07:01
do a recommendation for one
1:07:03
show. It's called the Indie
1:07:05
Life. It's by Dagobert. He
1:07:07
was doing. a startup, he
1:07:10
kind of failed, he also
1:07:12
got divorced, and now he's
1:07:14
like starting this show where
1:07:16
you, where he discusses these
1:07:19
people, also the not so
1:07:21
glamorous side of this in
1:07:23
the acting entrepreneurship and stuff.
1:07:25
It's a nice show, so
1:07:28
I would recommend this to
1:07:30
check out. Cool. Is there
1:07:32
any easem provider that you'd
1:07:34
recommend because I'm traveling to
1:07:37
New Zealand in a couple
1:07:39
of an hour? about three
1:07:41
weeks and I was looking
1:07:43
at reasons as well. It
1:07:46
was just my first time
1:07:48
I picked one that... some
1:07:50
of the countries I go
1:07:52
and that's it, but it
1:07:55
worked, it worked nice. It's
1:07:57
probably a bit more expensive,
1:07:59
but I mean, I really
1:08:01
appreciate the leveling up in
1:08:04
the comfort of travel, so
1:08:06
for me. Yeah, yeah, yeah,
1:08:08
it's definitely worth the price.
1:08:10
Right, my picks, I've got,
1:08:13
I've got a movie in
1:08:15
a TV show, so. I
1:08:17
watched a movie last night
1:08:19
called A Night on Earth
1:08:22
by Jim Jarmush. I think
1:08:24
it's from 1991. Absolutely brilliant
1:08:26
if you like character driven
1:08:28
movies that don't have a
1:08:31
lot of plot but have
1:08:33
very colorful characters. This is
1:08:35
the kind of movie for
1:08:37
you I think. Really enjoyed
1:08:40
a guy. I met at
1:08:42
the Haggis Ruby Conference last
1:08:44
week. I recommended this movie.
1:08:46
That's why I watched it.
1:08:49
and yeah I'd recommend it
1:08:51
to everyone else. And season
1:08:53
two of a show called
1:08:55
Shrinking has just started on
1:08:58
Apple TV. I loved season
1:09:00
one and season two started
1:09:02
off really strongly as well.
1:09:04
I think four episodes are
1:09:07
at. It's starring Harrison Ford
1:09:09
and Jason Siegel from any
1:09:11
of my who's familiar with
1:09:13
how I met your mother
1:09:16
would know who he is
1:09:18
know who he is who
1:09:20
he is know who he
1:09:22
is And Ted Lasso fans
1:09:25
will also be happy to
1:09:27
hear that Brett Goldstein has
1:09:29
now has joined the cast
1:09:31
for season two. So if
1:09:34
any of the names ring
1:09:36
a bell, I'd be sure
1:09:38
checking out because I'm a
1:09:40
huge fan. Yeah, those are
1:09:43
my two picks. Awesome. Yeah,
1:09:45
I always love a good
1:09:47
TV movie show combo. Well,
1:09:50
you also it was it was
1:09:53
really great having you on today
1:09:55
Thank you for sharing all
1:09:57
of your, you know deep diving
1:09:59
on Kamal and Those that haven't
1:10:02
checked it out yet, check out
1:10:04
all of Joseph's great books that
1:10:07
he's putting together. The small
1:10:09
handbook for sure. I'm gonna be
1:10:11
diving into that myself. So I
1:10:13
appreciate you taking the time today.
1:10:16
And honestly, you're spending all that
1:10:18
time putting this content together
1:10:20
because it's much needed. Thank you.
1:10:23
And thank you for having me
1:10:25
on the show. I enjoyed. Awesome.
1:10:27
Well, we'll have to have you
1:10:30
come on again when Come
1:10:32
All Three comes out and we
1:10:34
can get you to tear apart
1:10:37
all the great new features that
1:10:39
are to come, I'm sure. Perfect.
1:10:41
Well, that's it for day
1:10:43
folks. I'm Valentino. Thank you, I
1:10:46
wish. Thank you, Joseph. Until next
1:10:48
time. Hey,
1:10:53
it's Ryan Seacrest. Life comes at you
1:10:55
fast, which is why it's important to
1:10:57
find some time to relax. A little
1:11:00
you time. Enter Chumba Casino with no
1:11:02
download required. You can jump on any
1:11:04
time, anywhere for the chance to redeem
1:11:06
some serious prizes. So treat yourself with
1:11:09
Chumba Casino and play over a hundred
1:11:11
online casino style games. All for free.
1:11:13
Go to Chumba Casino.com to collect your
1:11:15
free welcome bonus. Sponsored by Chumba Casino.
Podchaser is the ultimate destination for podcast data, search, and discovery. Learn More