Hey, what's going on? Everyone? Welcome back to another episode of Adventures
in dev Ops. Joining me once again in the studio today Warren Parade,
CTO of authors. What's going on? Warren? Hey, thanks for having
me back, Will And last time I promised a fact so you know,
I know you were waiting a whole week to hear one. What it was
going to be a Google at the edge of my seat. Well, this
is a good one. Actually. Google actually just released a report not that
long, really short, about zero days and I think it's so relevant given
what's happened with the XX compression library recently, and was interesting in there that
I found most interesting actually was that in twenty twenty three there were ten exploited
zero days in it hardware vendors. So you can think of these as like
Cisco boxes that are running in your corporate environments. You know, if you
ever thought about, you know, should I have one of these or not?
Uh? They do they add security? Now you may have an answer,
right. That's cool, especially on the heels of the that exploit,
because I could talk about that for quite a while. But you know,
we've got Jose here waiting to jump in. But just for the patience and
diligence of that attacker. I mean, that's just a slow clap from me.
Bravo for playing the long game, but meanwhile joining us. Also in
the studio, Jose I Dias Gonzalez, creator of Doku, which this is
gonna be cool. I can't wait to hear this story. I just assumed
that the name came from a Star Wars reference, but Jose is going to
set the record straight. Jose, welcome to the show. Thanks for having
me. Yeah, I'll just get into the story. Actually, so I
think I'm not the originally Tainer's a guy named Jeff Lindsay there maintains quite a
bit open source and started this I think in twenty thirteen, and so I
think the original pronunciation he used was Daku. I never heard this pronunciation until
like years later. So I like, for background, Doku's somewhat of a
Herokue clone a Roco being a platform as a service, and so in my
head I was like, Roku okay, Doku because there's a dm front,
which is great, So like I've been mispronouncing it for about ten years.
The other part of this is that the Star Wars reference here is actually pretty
good. I tracked references to the project on like social media and various platforms,
and about half the time there are references to Doku on like Twitter,
for instance, they're all references to Star Wars because people miss mispronounced Count Dooku's
name. There's one K and two o's. There's also a Korean pop star
whose dog is named Doku. He's got three dogs, that's my understanding.
And then in Japanese, Doku is the word for doc. I believe,
Wow, if you can cash in on the K pop reference, that could
be huge because I mean that's like that's legit internet traffic right there. I
don't know what that overlap is between like K pop fans and folks with needs
like servers, but well there's a there is a thing of preferential attachment,
so like you know, even seeing it or hearing it, even if there's
no relation, if you know the small overlap, you'll get those customers and
brand value eventually, So you know, maybe you're doing something right. You
got to play the long game. Just look at the attacker for the XY
exploit. The long game pays off, you know'd Yeah, Actually, when
I when I saw the platform, I was thinking docker. So Docku was
where I was going initially because it seemed because like, I think the logo
is like the whale or something, right, Yeah, yeah, so the
whale logo is actually also another interesting story. I don't actually remember where the
whale reference came. I know that Who's like a long time ago. A
lot of their media was like Japanese samurai my references, that type of thing.
A lot of Japanese like top culture references. Sushi kind of made sense
to me, and I was, all right, cool, let's put a
little whale like sushi on his head. At a friend of mine, I
bottom lunch and he designed me a whale logo. And then he said he
would never design a whale logo for me ever again. So that's the way
up on a picture. I unfortunately am not an artist. If you wait
long enough, you may be able to use the image as a source image
with one of the l m's and get image creation going to pop out some
you know, the exact same well low go, but in different poses and
backgrounds. Long game, I like this, that's hilarious. So let's talk
a little bit about Well now I'm even like, I'm like, how do
I say I do say doc who or do I stick with my name Doku?
Pick the one that you prefer, and then this is the official branding.
Like whatever you say right now, well that is what it's going to
be from now on and going forward. Dude, you don't want to trust
me with big decisions like that. Look, I'm gonna yeah, I've got
quite a few decades of experience here that show that I am not the guy
you want to count on. No, we'll go with We'll go with Doaku
because I think, after hearing Jose's explanation, we've got doctor as a replacement
for Heroku, and if you smash those two together, you get Doaku.
So that's what I'm gonna try to stay until until I get into the middle
of a sentence and my brain goes, you know what, say it this
way, dude, and then I do and butcher it. You broke it.
Really. You know. I noticed that I should never guess on pronunciations
because if I do that, whatever one I guess wrong first is now stuck
in my brain forever. So if I get in one of those situations where
I'm like, it could be either way, just like stop, take a
moment. Look it up and then commit because you know otherwise you're broken for
life. Yeah. So, so Daku is an open source past alternative to
Heroku. And if you're not familiar with Heroku, it's a hosting platform that
makes it just incredibly simple to launch and build your app. I've used Heroku
multiple times in the past, and I that used to be like my go
to thing for all the early stage startups that I worked with. I was
like, just launch on Heroku. It will get you so far down the
road without your infrastructure becoming like a thing in your company that it's a no
brainer solution. And then I think in the last year or so, I
thought Heroku was going out of business, but I just checked and it looks
like they're still up. But something happened where Heroku got like shamed and I
can't remember what that was. Weren't a sleeper and yeah, a salesforce bought
it, right, that was? I think that was the shame is that
it wasn't that the trigger. I don't know. I I thirteen that they
while ago they My understanding there is that a lot of the product development shipped
that Heroku, A lot of a lot of things went into maintenance mod and
a lot of things went into like very forward looking as opposed to like immediate
delivery, and so they stagnated it as a platform for quite a while.
And I think, like a lot of other platform as the surface platforms have
come out since then and have picker and shaping themselves a way or another.
There they're starting to re release new features and punch jobs, but it's kind
of like a long game that they're playing. I think, gotcha, gotcha,
and then there's it. Also, it feels like I have no data
to back this up, so this is a certifiable fact, but it feels
like there's a big shift in people's preferences to not use AWS and GCP anymore,
Like people are looking for alternatives to that, and so I think having
doco here might be a segue into that. So Jose, can you tell
us a little bit? First of all, I want to know how you
ended up being like the primary maintainer of this where you just like the last
one to leave the room and just like, oh damn it, or is
this something that you're actively pursuing. No, my university, I went to
Pace University here in New York. I will ran like a like a software
media consulting firm within the university, like play potend for something. And when
I left, another student took over that room. Part of that was also
like me giving them the actual server that we ran all the like project.
So I didn't want to pay for this thing anymore. I didn't want to
paper like software. I wasn't really involved. It didn't really make sense for
a lot of perspectives. But I knew for a fact that those folks were
like very focused on like a particular language or particular framework, not superfamily like
the server stuff. And if anyone remembers like infrastructure work from like ten to
fifteen years ago, I was actually like pretty significant amount of work, Like
that's spending as much time setting up a server as you are working on actually
like product. And so I looked around before projects that maybe could like fill
in the gap. We didn't have them, like as a sort of like
student run consulting firm, We didn't have the money to spend on actual work
or any of these other plant in the service, and like they had had
actual needs for some of these features emunctionality, and so I looked around at
projects that were available that like previously looked at as a contribute to Dooku was
one of them that I had previously contributed to a very small patch. I
was like, oh, I wonder how that project is going. It was
effectively un maintained for about a year, but it was like close enough that
I was like, Okay, I can give this to students and they can
kind of like loot. Okay, it's not very complex product like software.
Their needs aren't very complex, So let me go see if I can like
kind of arrive it. Uh. And it took a little bit, but
I was able to convince Jeff Lindsay, who was a ritual maintainer, to
grant with commit rights and slowly and suddenly took over the project from there where
this is going. The university never actually the students never actually ended up installing
the software. They just shut down a bunch of those projects that were like
cool, we don't need to run these anymore. But I kind understanded to
maintaining this project mostly so for the past decade. Dang, that is that's
commitment. That's commitment. So what do you what are the like the the
big goals that someone is trying to achieve that would lead them to picking Doku
as their as their as their past service. Yeah. So it's we have
like a pretty eclectic mix of folks. There's there's a huge number of folks
that like just ran away from like posted platforms such as or managed much such
as Rokuroku. I think in twenty sixteen, maybe twenty seventeen, they change
their pressing to remove their free tier or at least significantly back on the free
tier. And I think that that that makes sense for a lot of these
uh passes. It's it's it's a money sink and potentially not something that like
increases you know, their finances. So we have folks who are just like
I can't for to spend you know, seven dollars, and that that incluse
folks who are like developing countries where they literally cannot afford to spend or they
actually like physically cannot pay for the service. We have. We have users
who are like in countries that like just cannot use like financial systems that were
comfortable with. We have folks who have like dozens and sometimes even hundreds of
like Tory applications that like also cannot spend seven or eight hundred dollars, like
here's my first baby toy appen, but still want to running, and so
those folks use it. On the other side, I've known of companies that
use the WHO as part of their offering, right, so they have a
managed path and they use it as something on the base, whether they're like
side products for that person or actually like physically like like large startups that like
have as part of their offering in some sense. WHO. I've also known
of universities that install it for their students because they need something that like maybe
professor's run air Force or something similar, and then their strokes are just like
I want to run something locally for like my whole office. I think it's
kind of like all local the place. It's not just like culture tinkering.
It's actual companies. It's culture running businesses that sort of thing. I mean,
I think you're hit on a really important aspect there. If we're going
to take the sort of thread that we've had in the last few few weeks.
You know, if you look at these providers, you you learn that
the users that come on that want the free version into these platforms, they
don't graduate or scale up ever. Right, they're almost like a completely different
set, so like, I totally get the idea originally, like, oh,
yeah, more users is better. But what we found out in at
least the last five, maybe even decade at this point, that they don't
convert to higher paying They don't these these engineers that are using in their free
time don't convince their company to move over to say the Herokers of the world.
So maybe they have a core a need to go that way. But
it's also weird because I feel like a lot of those platforms have anchored themselves
to solving the very early engineering stages sort of thing, and not at scale,
so it's sort of like a you you're going up to customers who will
never pay you. Yeah, I think it's it's weird because like, yeah,
you need that initial base of folks. And I think there's a certain
like I'm not like, let's say I have a Roco account. I pay
for a service there that I manage of someone. I'm like, I probably
wouldn't use for Roukhu for my personal stuff, but I managed and I'm comfortable
running that. But certainly, like that's one of the things I like,
I'll say, hey, like I've used this in the past, maybe we
should use this as at work, and I do that with a ton of
software. So I think there's part of it, like the growth strepty is
not just necessarily like here's that seven dollars for you app that like someone should
pay seven dollars for, but like that developer is comfortable with the experience they
have, they're going to bring it to their work and then like adopt that
software. You mentioned something interesting there about not wanting to run this at home
so or heroc at home specifically, so you do like a home lab and
you're utilizing this instead of say having to run an expensive thing like Kubernetes or
converorbid doctor Swarm or like a nomad. So actually, one of the I
think the final traits of Joku is that it's so extensible. It's built on
like a plugging system, and it's effectively like a pipeline. You run a
command and that command, I mean, the first demand that you might do
is a get push, and that actually triggers using a ton of Bash logic,
the actual building process. Right, it just happens to be like you
start a container jo who actually supports Kubernetes and Nomad as schedulers. So you
can build your application, push it to a registry and then like scheduling Sugarnet
or a Cobaetus cluster or we have folks doing that in production. I run
it on a couple of different one for like testing purposes, but I run
my local software just because it makes sense. Like I'm running I'm running like
almost a SAM for instance. I don't want to like figure out like,
okay, this is the command I needed. This is you know, it's
like abb costor push to the server to go right. And I think that's
one of the things that strikes me as interesting about this is the number of
things that you do support via the plug ins, because that like that's the
that's the initial hurdle. Right you're building your application, You're like, okay,
well I need engine X, and oh I need postgrass as well,
and okay, now I need elastic Search, you know, or reddish or
whatever. And so getting away too quickly install and launch these makes it just
makes it an easier process so that you spend more time building your application and
less time configuring services that you need. But like you're not really emotionally attached
to them, right, Like I need a cash but I don't really care
where it comes from as long as it's there when I need it. So
what's the what's the startup experience look like for someone to get started with Doku?
I mean you mentioned that it's just a plug in based system and your
your typical first response is just a get push? Is it from a like
a config file there? What's the what's the level of overhead to get it
up and run in? So you install the software, if there's a shell
script that you've been download on, like cur bash it. If you want
we provide Apple costs, that's kind of You can create an app. All
of the commands, try really like I try really really hard to mirror the
command on the experience on for better or worse. A lot of engineers at
least you know, ten years ago, were super comfortable with that. Sure,
and it's it's while there's some things I don't like about the design,
it's actually like pretty straightforward to understand all the coroman pretty tribal to like kind
of remember and having a pattern. And so if you've ever used a Roku,
like the demands that literally say, right you app, create your app.
You can add a domain, you know, you can come fixed,
set and environment variable and you push your application. I think that the hardest
two parts of getting an apptiployd are one, getting a server that you can
install toe I've got to insult somewhere, uh, and then the second part
is ensuring your initial build runs correctly. I think like it's if you've ever
like to set up something with c c D, that first set of like
I'm adding CI, it's going to take ten or fifteen commits, and regardless
of what we do, I think that's pretty and any service that first setup
is actually like pretty hard. In some cases, the software has gotten a
lot better over time. There's a lot of auto detection we can on.
There's a lot of builder plogans that I have. So if you are if
you're comfortable for Roku, you can continue using that. And many applications just
brought out a box if you want to use a doctor Bob support that,
et cetera. But once you do that, you're kind of you're up and
running right your application. You've got a domain, it's hopefully networked from the
outside in via DNS, and youre you can actually kind of continue on your
life great one, and so then like Roku, you can run multiple act,
multiple independent applications on a single Doku instance. Is that right, Yeah,
that's correct. You can constrain the resource utilization if you want. So
let's say you have an application that's supposed only run under forage and MAGA,
so you can give it just that point and many bites everything else consume the
entire server. Many of our users don't do that, especially the ones who
are just like, I need a single server. It's got two bigs of
ramp. They don't really care to constrain that, and their case and their
head they might not like really understand what it means to constrain or like why
you want to. We have folks who are like, as they scale through
they were like, okay, fine, let me start like being a little
before sensitive to research realization and therefore costs, so that they know, okay,
like I need to scale horizontally, I need ten of these, so
this one takes a bigger rand because is what I need. Likewise, if
you're using one of our schedule O plugins, it's almost certainly one of the
first things you're going to do is resource constraints. But otherwise, yeah,
you can run as many applications as you want. On listener, right on.
And as it's built I think I heard you say this. It's built
so that you can have a single Dooku instance that spans horizontally across multiple physical
servers. Yeah, that's correct. So the kuberneteslug in, which was a
recently release, allows us to basically, if you have a blank service running
somewhere else, you can pluster ad give it as long as that joker stage
on to the other server, give it the I P and then it will
install on the software connected and you're deployment. We'll go to that servers a
corporate wow. Right on. Yeah, I really like seeing the extension of
more technology in this area because personally, and I'm sure I'm gonna get a
lot of mail now, I'm not a fan of Kubernetes specifically, and uh
I mean okay, yeah, you know what, I also didn't like Doctor
Swarm, so you know, I've had a problem in these spaces, and
you know, I always sort of like I'm not a fan of what hashikorp
is doing. That's a personal preference. So you know, I fink I'm
out right like that. That was like the full set, Like what else
is there that you know supports virtualization at this level. Uh, and so
like I'm always sort of curious because like you know, someone's like, oh,
yeah, you know what I'm running on It's like we're going to use
cumminnetes. I'm like, you don't need to. It's like, oh yeah,
we're on prem. Like, well then I have no recommendation for you.
So you know, it's really it's really awesome to hear that there are
projects like at this level of the stack that are you know, up and
coming that are you know, both have the on prem answer. And I
think I saw that you also have a cloud solution as well. Is that
right? I don't have a cloud solution. I think I don't know.
I feel as though like running a cloud solution is like an entire company is
in there. I mean like the cell and yeah and after and all these
companies exist. Yeah, so I shied away from that. Soku has a
pro offering, which essentially provides like a uy bi IT'SPS and like team management
and things that like you might need if you're slightly larger organization. So I
feel like consulting firm that you have most folks, or maybe you're a natural
startup and you're concerned about, like who has that, just what that might
be for you, but by a large a lot of folks to get away
with, like I'm just going to install this, and would a joking cloud
ever come again? I'm very hesitant to say yes. I know that there
are companies out there who use THEIRKU as part of their underlying cloud offering.
It seems like a lot of works. I wish them the best. Maybe
that's not for me today. I've got my plate full with just running the
projects. So along those lines, we talked about running this on your own
physical servers and not really making this like an a w S or GCP or
as you're plug in offering. But there are other providers like Digital Ocean jumps
out first in my head for companies that just say, hey, here's a
server, do whatever you want, we don't care, just pay the bill.
And it seems like there's quite a few of those popping up, you
know, like I mentioned earlier in the episode, where it feels like there's
a movement away from aws and cloud providers of that nature, who are so
many of the other compute instance providers that you're seeing your customers use. So
I do want to say that many of these managed offer or many of these
like host hosting providers also have with a kugerneggies offering, right, So in
many cases, folk like they're there's maybe like a graduation of books through like
I need a server and then I need multiple servers that run something in a
cluster. So like LINOD and Hester Digital Motions as a big one, those
are the big three. I would say that like folks are like gravitating towards
past like a WS TCP. I do see like a lot of a lot
more folks are using like smaller, more regional hosting providers right in many cases
because they are concerned about like privacy laws or latency issues and that sort of
thing. I think latency is actually like a bigger one than a privacy law.
So like if if if ah wus up a data center in your region,
you might I'd say, okay that they're the tried and true, let
me use them over something that's been around for a little Yeah, for sure.
And I think there's like that regional aspect is huge because there's these entire
like niche markets that exist and just in certain areas of the world, and
it will never scale beyond that, but it's a valuable offering for that area,
and I think good. Yeah. I mean for Roku is a good
example of that. They are hosted in Northern Virginia. Right, you might
be able to get something in Europe, but I don't believe so. But
if you're using in the Asia, like your all of your users are going
to North Virginia and back tracking. So, like a platform a service that's
native to whatever pop provide of your app in Australia, for instance, probably
not going to be like a global you know it, but at least locally
you will be pretty decent. Yeah, for sure. For sure? What
are come of the some of the common use cases that you see people using
this for? Is it for like like a static website, service, side
apps, back end APIs? Is there any kind of pattern that you're picking
up that like suits itself really well towards this platform. Unfortunately not everyone kind
of like is developing their own stuff right for better worse. We have like
I have users that are like all I wanted to do is deploy a background
worker for a corontast right yea, like folks who like write this sport thoughts
is a good example they're just like, yeah, like I don't need a
web process, it's just ones in the background. We have companies, I
know, companies that are using it as like an alternative, a cheaper alternative
for preview environments for Rooko right where they might be paying a Rooku handling fist
for you know, their entire engineering team, but they can set up one
big server and installed can kind of get most of the same experience there.
So there's no real I don't know that it's necessarily like a specific type of
user per se. We haven't gone after a niche of users like ourself aves
where they're like, yeah, we own the front end space. We're kind
of just like off in terms of like ants, office changes, like what
people install and use them people, which is good in bad right. Sometimes
I've a support requests It's like I don't know if I can load up this
page right now. This is not maybe say for work, let me wait
until later, but you know, generally speaking, it's whatever the users.
Again, that's actually a really cool idea that you mentioned of using it to
stand up your poor request environments, so you would have this running off to
the side, completely independent from your production infrastructure and then your gith hook just
builds and deploys your application for the poor review environment, and then when the
poor request is closed, it just tears us down. Yeah, that's correct.
We have a ghetto action and like a get lab and integration with other
CI platforms that allow folks to do exactly what you're saying. You open up
a poor request that automatically clones like a test application that you have. It's
something that has on your variables, pushes your applications to that, and then
once full request disclosed or marriage, it will shut that down. It's actually
like a pretty common use case. I always get scared having a different infrastructure
running for my non production environments. Like I always think that, like you
know, wherever the differences that are, that's where the bugs are. Yeah,
that's certainly an issue that like I've seen some larger companies come upains,
especially when they're running I think more cloud specific offerings. Right, So if
you're talking about like down on TB for instance, I don't have a ANOD
plugging, right, is an a US specific thing. So it's not like
I can replicate how that works, and so there are casionally workrooks. So
like, yeah, I have this part of my staging environment is over here
and this is over here. That said, I feel as though, like
for especially for a lot of these companies, they'll have like a primary integration
environment that is on their primary provider and then the shoes off the side where
this review rap case. That's pretty common because this review apps are like spin
up in your tear down. You don't really care how long they live for.
You know, they're probably going to add bugs, but you're going to
integrate all that into your pre production environment anyways. So it's like fine,
interesting, if you find yourself in the spot where you need to create a
Dynamo dB plug in, you should probably reevaluate your life choices. What stefps
did? I take? It led me to this point, I mean luckily
with that though it's not that smart, like I think, yeah, I
mean honestly, at this point, given our extensive integration with it for managing
permissions and roles and whatnot, I think we found a lot of information about
how it works just by understanding where the limitations are. Like it's not just
a key value store, you know, and you can really think about how
they built some things because they sort of leak through right, Because the less
leaky of an abstraction you have, then the more of a layer there is
of that abstraction, which adds, you know, potentially complexities, and especially
services at aws, they don't change that much over time, Like they don't
deprecate things. I mean, they make them better as far as the internals
go, but the API stays, you know, the same. So unless
there's a huge rewrite over of diamond YB, you know, I actually don't
think it's that that complicated enough so that a WOS even has like a dynamody
B local version that you can run, and local stacks got one as well.
I'm not saying to do it. I'm gonna be re evaluating decisions.
All I did was agree to go in this podcast, and that's where my
life turned around, folks. Right, And so let's talk about that.
How much time do you spend reviewing the plugins that you have and evaluating what
plug ins would be good additions to the platform. What's that process look like?
So I traditionally always try to use other platforms out there, like like
I'll go in and say, okay, released something new self neat feature like
running some technically or whatever happens to be just just to play around to get
a sense for like how it's useful, how it could be useful in there
through like whether there is even a possibility to be doing the same thing right,
not just for the project, but also for like actually like data day
work. Right, I've worked with change where like our manager or build the
platform, and so how do those how do those speeches that like we don't
have on our platform, how could we utilize them? How do we take
advantage of that sort of stuff? So like I've done that an offer as
decade and that's kind of like a regular thing that I do, uh,
in terms of like how I decide walk gets into the product. A lot
of it's just like how often there's a request come in and is that request
serviced by something that's already there at right? You know, the folks have
asked for features that I just don't make sense for the project, right,
someone like maybe once a year or two I'll get some on the last Hey,
I've love to run this on previous D And I'm like, cool,
I don't think you have a doctor on PREVIOUSD. So that like we'll stop
there. Right. It's like it's just out of stope, and it's like
it's unfortunately I don't have the bandwid for that. Likewise spokes will last or
like again, like a Dynamo d people a game, right, and I
know that there's software to run something similar to anamoy be locally, but until
that software existed, the answer was, you know, I can't run that.
There are features that are like, yeah, this comes up once a
month and it's great, so much workflow, and like they'll file a ticket
and I'll be like, oh, that's not supported, or like, oh
that's a note bug. Eventually it'll work me enough that like I'll fix it,
or like someone will come and say, like here's a partial fix,
in which case going out help them bring that over the finish line. There's
also features that like would be awesome to support, or like would have been
awesome to support, or just such a massive amount of work, or like
require a number of steps to get to that like by the time everything's ready,
or even just then, I'm just like this isn't worth the time that
it would spend. Docos Form is a good example of that, where there
were foundational changes that people performed in order to support anything like the next frontal
scheduling for years, like I was just like, yeah, okay, this
is the next step that we need to do. Uh. And only recently
as I gotten to the plot where I'm like, okay, this is in
a place where like we could comfortably add another scheduling. Isn't just doctor local
and that's what organized schedule? Uh? And I looked again, it's warm
because it's in some sense built into the doctor, but it hasn't been developed
in years now, So it just didn't make sense from like a maintenance perspective,
why I support something that isn't being actively maintained A strength for sure,
and so like it kind of like really advances in case my case basis,
if something small and like it's easy to meet implement, I might do it
on alarm. If it's something that like I see is actively turning users or
like causing them to onboarding correctly or causing downtime for them or whatever happened to
be, I'll look into those. And if there are things that I just
like that they're kind of out of stop the project or it just don't really
make them street today, i'n't put it off or just saying this isn't this
isn't gonna happen. I'm sorry, makes sense, so worrying. You probably
have a similar process too, just from your own work over at offer us,
Like how do you determine what features are going on the board, what
features are just going to be flat out rejected? And how do you curate
those? Yeah, I mean you're you're really trying to get into the product
management space. I see you really want to go and get the PM role
right there? Well you know it, you know, I mean two rewards
for life. Yeah, I mean, honestly, for this my CEO would
probably be the more of the expert here. But realistically, we categorize things
that I mean, as I say said, you know, there's a lot
there that's just straight on, like one hundred percent the same sort of thing
that we do realistically. You know, who are our customers and what do
they need to keep going? We definitely categorize them as like, oh yeah,
like for sure this is in our sort of roadmap already. It may
be further out and we just pull it back and increase the priority or this
is really cool, right, Like we didn't really consider that, but this
would be a great use case, A great both user story as well as
something we can publish on our blog to get future customers as well a real
case study. So I mean all those sorts of things sort of pull in,
and then there's maintenance as well. I mean, I think, given
my experience, the biggest trouble in companies often in this area is not paying
enough time to spin down the tech debt or reduce the amount of fires that
you're fighting. So you know, in the example of we're getting a support
ticket every month on this that's probably too much for my liking on that specific
topic, like that would cause us to revisit documentation or change the feature.
Like the thing I hate seeing on our product the most is an explanation,
Like if we have to write an explanation to our customers, to our users,
to you know, this is how you use the feature, then there's
an education component that makes it more complex. And so like eliminating those really
improves the UX and reduces the burden on our side to handle every single one
of those coming. And so those are really the interesting things, Like we
like seeing where our customers are getting stuck and then try to figure out how
could we design our system differently to avoid those and that's where a lot of
our time goes. So I think that's a really cool end to end perspective
there, because Warren, you're running a funded company and then Jose you're running
an open source product and you've been maintaining that for over a decade now,
So how does that fit into like how much non coding work do you put
into the product, because that's that's a big piece of it, right of
like spreading the knowledge that this product exists and showing people what it does and
trying to capture a larger audience. And I'm assuming that part of that is
a hope of getting people to use it in sort of a way that they
would also contry be to the project, so that you're not the sole person
building on this day in and day out. How do you approach that?
Yeah, you know, I've spent a lot of time trying to make the
documentation super clearit like, like Laarren mentioned, if there's something like in the
documentation it's like this, I mean, I don't know why I'm writing this.
This is weird, you know, Like maybe I'll spend more time on
the coding side of figuring that out. I mentioned before that there's a lot
of like products sort of investigation, like seeing what the competitors in the space
are doing, right, whether there are other open source projects and there's a
ton of them out there, or if they are you know, funded companies,
like what are they doing and how being something? Right? Oftentimes like
you know, it's just it's a party of one here, right. I
don't have the time to market or to build out the features, and you
know whatever, I have to kind of be judicious about how spend my time.
And so the less time I can, the more time I'm spending on
the product I think, is it is better? And then on the SOURI
project. But you know, there's there's certainly like a ton of you know,
extraneous stuff that I need to do that like is not necessarily like fun
or interesting for cons right. A lot of it's just like, hey,
this this person has an issue. How do I replicate that I cannot replicate
it on my end? Okay, well there's something weird about my environment.
Let me go see if I can exactly replicate their environment, right, whether
that's my investigating with that person getting more information or like figuring out Okay,
like I pre's a step here that I'm not asking the right question or something
like that, or not gathering the right de too for that, No,
delegation is a huge aspect for sure, getting them to do it and just
taking the time and effort to dig into those things. Like that's a labor
of love. Like right, I mean you've just got these you just have
to absolutely love this product to spend this much time and effort into it to
trying to make sure people are successful with it off for free because you don't
get paid for this. Yeah, you know, sometimes I stay here and
I'm like, what steps and what decisions that I say, No, no,
I really, I really do enjoy working in this space. I've done
that for most of my professional career. It's interesting to see how people are
making other developers more productive and like helping them ship code and ship products in
front of customers, right, and like I love doing that. And so
there's certainly like an aspect the where I'm like, yeah, this is great.
But sometimes like I'll wake up and I'll see a ticket that it was
wild, but I'm like, this is going to take thirty hours for me
to investigate because like it's pulling team because the person isn't providing the right information,
refusing to or like, actually, this problem is pretty difficult and I
don't have a way to replicate it just now, So I have to build
out an application that does that thing. How I can figure out what exactly
is going on? Right, So you know, there there's some there's some
times where I'm just like, yeah, this issue isn't working. We're just
not this is it's working as intended. Sorry, But certainly there's like a
love aspect for it where I'm just like, yeah, this is this is
super interesting work for me. How do I how do I make this better
for other folks? Those are the things you don't want to actually even let
someone else do. You want to do those yourself. So you know,
even if you had someone else come in and help you, they're just taking
away the work that you actually enjoy. But to a certain extent, I
feel also there's there's certainly places in the Toku like ecosystem where I've said,
hey, I don't have time for to maintain this. It's super awesome that
you are doing this. Would you like to take us on? Right?
We had a better maintainer. Michael Hobbs, who worked on the project for
about four or five years maybe six. Uh. He used has part of
their working with a boutique investment shop where they basically like provided services to the
companies that were running under that shop. And so like you could just your
product is supposed to doing like marketing and sales or whatever they provide you like
a micro cto or micro platform team. So they use their part of that
and so he contributed. He started contributing to it. Was like this is
great. I use it all the time, but like you're the rate of
changes that the rate of change that you're having on this project and the rate
of breakings that you have in this project is not great necessarily on in the
project. So it was like the first thing I'm gonna do is write test
for you, so we have a test and so like now I contribute to
test. And that was like a labor of love for him, and he
was just like this is what I do for the five six years even past
that company. Similarly, like there's another part of the project or antible modules
where like there's someone who maintains on a spare time. He doesn't use it
at all anymore as my understanding, like he just contributes to it when he
can, right, And so whenever I can step away from a particular part
of the project, I'm like, yes, please do that. You have
a big seem to have a good head on your head on your shoulders.
You can kind of take that as you will. There's a little bit of
trust to ask to be involved there. Right, I have someone wants we
just talked about them. You know, I'm still reviewing prs and releases,
and that's sort of to make sure that nothing's going out well my automate as
much of that as possible that in the worst case that person leaves or I
haven't forbided on if something happens to me, folks can continue on the project.
And so, you know, whatever you can do to ensure the providence
of the code that gets shipped is super important to the project. Other than
that, you know, if someone wants to attribute to a particular area and
really own that, I'm more than happy to like help guide them into that
path and like make sure that they're comfortable and then allow them to almost free
reign essentially to get the project. And that's certainly like how I started under
a guy attributed a bunch of prs and then suddenly I was maintaining a product
right then. So what's the future of docu look like? What are the
big things that you are hoping to accomplish, whether those that's utilization, recognition,
or new features. I have been working on this project for about a
decade now. I'm not tired, but I certainly do want to get a
solar point. That's my goal for the year. There are compe of tickets
that are like if we don't if we implement these, they're breaking changes,
uh, and they're about the last ones I can think of before I'm like,
hey, this is how a bit to go. We can continue adding
creatures but not necessarily break things, right. They're stuff around security adding I
see Whenex support for instance, or at farm or and that sort of thing.
Not necessarily anything that like is detrimental today, Like our users don't are
impacted to launch, but like there are folks who are like very inclined,
couldn't like to care about these features. So the one point, it would
be super great to have. The other part that I'd like to you know,
once we hit that also that I'd like to focus on as our data
stores service this area. As you mentioned, we have a first press clubbing.
We have I think sixteen different data stores that we support, many of
the common ones. So if you need retis ADP, right, it's pretty
easy to like to stand that up and you're kind of bid to go.
And I think, like the a lot of folks, it's a lot easier
to do that than to say, go figure out the even just like figure
out to read me on the doctor file the official doctor pile and figure out,
okay, like this is how I start, how I stop it,
how I like where I'm putting data, how I back up, how I
connect to it? You know what I mean. Sure, but there's a
ton of features in the data school signe that like I'd love to implement that
have been requested for years. I just haven't had time to implement. Likewise,
I'd like to make it easier for folks to contribute either new features on
that on that side, or even just add new data stores. I mean,
like we over the past five ers years, we've seen a pluffor of
new data stories just come out that are used for particular use cases, like
grapt databases, like the databases some of these like new fancy AI databases.
I'm not really too sure of but like maybe one or two of them will
stick, but don't. I don't have time to spend on investigating and figuring
out how does how do create it, how do you like maintain et cetera.
But if I can come up with a standard that allows folks to contribute
those I think that'll allow folks to say, hey, like I can use
this on my my personal project. It's great. And then if they want
to, if they need to, to graduate to whatever the managed environment is.
And then the last part of that is better multi service support. But
that's been like just the constant pain for our users. They'll get to a
former they like they're running it on one hundred and twenty take abyte memory server
right, and they're like, this is good. We have two of them.
It's awesome, but like we we can't scale horizonaly and they have to
move onto the provider to build up the team to manage their infrastructure, et
cetera. And I think it's unfortunate because, like you know, if your
company, you only find that number of resources, and now you're spending some
of those resources on building a platform where that's not really germane to running your
business. We should just be running your product, and so anything that we
can do to kind of like support those folks as they move on, whether
they decide that Doku is you know, a good fit for them in the
future or not, I think is super important. So continue to support for
cluster environments and making those simpler and more practice for course ers. That was
a huge understatement there, like spending time and effort building out infrastructure that's not
core to the business that you're in. I mean, by definition that is
develops. I'm putting myself out of business, putting all of us out of
business, which I am going to be transparent. I'm one hundred percent for
like whenever I go engage with someone new, like that's my primary job is
to make it so that you don't need me anymore. And you're wondering,
like, who's the smartest to keep showing up to our meetings and why is
he here? You know, I've had I had quite the experiences with containers
in my life, and I still to this point, I feel like I
still have no idea what I'm doing. Every time I get to a new
doctor file, I'm just like I'm getting it wrong in some way, and
I feel like, you know, uh, fortunate or unfortunate. I feel
like, you know, you've got uh maybe a secret view into here on
something that everyone still gets wrong, some words of wisdom or advice that those
of us who still can't figure out, you know, how to get the
container file to do what we want. No, I don't, honestly,
like I wish, I wish there was like some magic sprinkle me too,
me too. There's a ton of like this space is very very vibrant.
There's a ton of folks tackling at all levels right the roku and and boundary
now uh Capital they they maintained the new version of build tax out data build
tacks, which you have a lot of promise for a lot of security,
like focused on books out there, mixed packs for railways is super cool,
uh and provides like an alternative for like building that problem and you have no
idea what to talk about is but like all of these technologies that are that
are out there, they seen absent. But all of these things like they're
obtuse in some way, shape or form right there, Like even for me
and I've been in the space for more than like it's pretty difficult time tickets
started. So there's there's no there's no like magic sprinkle like Verry does.
I can like sprinkle on your project, except to say, like, you're
gonna struggle of this for the first ten or so commits, and then you'll
have something working. You probably need to revisit it in about a year when
you need to something. You know. I I am totally with you.
I mean, the one that always thumps me is the entry point versus c
MD at the bottom of the And I'm like, which one is? What?
You know, if it was me and I had to design this technology,
I at least would have called it like run with overrides, run without
over you know, allow overrides, right, you know, that's that's that's
what I think what I would have gone with you. This is probably why
you don't like kuberdriddies, because communities also had a confusion around that they call
and I use them. It is also like just different enough, doctor,
Just like, what are we doing here? Right, Let's take a confusing
thing and make it even more confusing by not being consistent with it. Yeah,
let's make them new words. I love that, right? Yeah?
Cool? So what else should we know about Doku? It's it's mit license
everything in the community is an I license. I have no desire to the
company around this. I sell to still growthing on top. Most of our
users don't really need that, UH. And you can be productive with it
in a smaller environment as possible, obtou like a large company. Again,
as I mentioned, folks are running it in their own labe, they're running
it as part of consern firms, they're running it as part of what an
offering that they sell lot for other customers. So you can be successful with
open source. I think as far as you need to, as long as
you need to, right, And that's kind of like the core ethos.
We we want to be as extensible as possible to make you successful. And
if we're not as successful, like maybe we're not the right fit for you,
but maybe we are on a small chance team, right, So goe
free to support us. UH feel for their contribute back up fixes, I'll
issues support problems, and we'll take a look at them with the do you
think that though, maybe maybe this isn't the right question this UH for this
talk, but you know, I feel like with the calamity of szation and
x Z like, I feel like the future of how open source will be
contributed to going forward, the you know where the liability uh you know falls
could be changing in the future. And it's like as an open source maintainer
or at least you know, with a company that has open sources, d
ks and things like that, you know, it's something that I'm at least
trying to keep on my radar. I wonder about that. I don't know,
like I don't have a lawyer for the project, right, so it's
not like what happens is some act when they run Doku and actually we removed
features from dope to make it more secure. We had a feature that allowed
folks to have this like a little webuy to actually set up their server.
All folks would install and not go through that webuy, and so we had
just reports and folks saying, hey, I have a minder on my server,
what's going on? Because someone else would go through their ips set up
there as STAGEP and then start pushing code and so like the like, I
can't say that I'm on the for some of that decisions. I can take
that or use it friendly, but I do I do wonder about that,
you know, especially if you know their companies that are like, I can't.
We don't use it because of what you mentioned. We need someone to
be live. No one ever gets fired for like buying IBM and myself at
some point, at some point, at some point, we're going to be
old enough and people are gonna be like what, I don't know what that
is? Uh, you know my theory. My theory is that in order
to commit or push a package to an open source repository, you'll need to
have verified uh real identity attached to it. Uh. That's where I think
it's going. So everyone that does it with the right goal or mentality in
mind will be totally fine. Right, Like I'll just throw my my copy
of my passport up next to whatever packages have my verified commitment. I don't
know if I'm going to do that. I have. I would rather just
publish to think to my website, like, just go to a bit is
tom slash down the debt package. Good luck figure it out. That's a
good package, you know. I like, I do wonder about that because
we have users that are like, you know, like they'll come in they'll
have like an actual serious question about their server. Right it's behaving correctly and
honestly. I can't think about the running to a group demand. It's very
apparent once I run them. But it's also difficult to explain to folks they
run these street commands, because they'll run a command and then just like copyfaste
out what they think is Germany, but like, actually not what I wanted,
right, and so like they were like, oh, in many cases,
I look, yeah, I can, I can grant you a stage
access, can we do a pairing? And weah, great, let's do
that. Also some cases the user is technical, but they can say,
hey, I can trust them to run that command, don't given the exact
output and all. But also which is great, but there are many users
who are like I can't do that, Like I can't grant you access to
my serv I can't grant you group I don't trust you. Right, this
is for working right, Which it's a totally fair statement to me, for
sure. It's also really interesting to me because like I published the project,
so in theory I can just root their box, like I'm like, oh,
here's a new Debian package specifically for you. Here, like it's it's
built by CI. You know what's good. I don't run it, and
it's it's effectively the same thing. So it's you know, in this space
in particular, it's kind of like a weird place to be in where it's
like, like, how do you trust the software maintainer to do the right
thing when he already has roots to your box potentially? Right? For real?
I mean that's what happened to you as a stage, Right, they
already have root to your box. What do you do? Yeah, it's
going to split two directions. One like Warren was staying where it's KYC.
But instead of know your customer, it's customer, it's know your committer,
and any other part will be like the pirate bay for open source software,
like, oh, here's the link. Is this actually going to be the
Debian package or is this actually a virus? No way to tell, let's
do it. Are you guys not calling your software from tired thing? I
do that all the time. I think that was the last time I used
Windows, and that was like probably almost twenty years ago or something like that.
Uh, I mean you had to get that. You had to get
the coffee from somewhere, right, Yeah, for sure. I was a
four college student at the time. I pay for all my software. Now
I understand I also am like, I gotta pay for this, because like,
if I don't pay for this and I get it from somewhere, lord
knows what's gonna apple. Well, you know what they you know, never
never a tribute to malice. What can easily be abscribed to a neglig chance.
For sure, it's probably not that weird copy of Adobe Acrobat, because
it's probably that screenshot I took up my desktop and put on Twitter. It's
like, oh, look at what I'm working on that, Like right,
here's a note in the corner of the Azrod Bank information You're master. So
for real, I stressed over that, you know, posting screenshots like what's
on here that I'm not seeing that I'm gonna regret as soon as I hit
sand. But that's why I got this whole white wall thing back here.
Like I know for sure, like all my notes are here, like off
screen, There's no way the camera is going to catch those. I've definitely
posted a screenshot and slashed in the past. It's like, okay, now
I have awesome Well cool, so should we move on to picks. Let's
do it. Let's do it all right, morn putting you on the spot
first, This week. Yeah, well, maybe I'll be a little lamb
so uh in a couple of weeks, I won't be here hosting on the
podcast. Just for one day, authors is going to be DevOps Days Zurich
and my CEO is giving a great talk on the ROI of security and the
challenges of calculating and right on there. Yeah, that's cool. I haven't
been to DevOps Day Zurich. I mean there's like twenty or so conferences around
the world that all the develops Days Moniker, And honestly, out of all
the conferences I've been to or spoken at, I liked it the best for
sure. Yeah. Right, I've spoken at dev up stays in Amsterdam,
Austin, Salt Lake City, Phoenix, maybe a few others. Amsterdam does
puts on a great devop Stays event. Yeah for sure. Yeah, Jose,
what'd you bring for a pick? I'm gonna go with food. I
am a huge fan of Wings. I can't do hot sauce, I can't
do spicy food, but I can do Wings. There's a hotel I'm blanking
on the name right now. It's a hotel President and Uh in Nashville that
makes a probably my favorite Wings they are kan Wine Wings, which are super
This hotel is like five minutes away from the airport. It's not the place
I would have expected if you're very nationale China. And if I'm not mistaken,
Nashville is like the self proclaimed home of wings. Is that Is that
right? Or am I just completely making that up? It depends on how
you count it. There's there's suppose who, like, all, where's the
hot sauce like come from? There's a bar? I know, I go
through that like makes one flavor of the hot sauce. I think there's something
the war about two different competing places making like wings for the first time and
like having a different way for carrying them. So you can never go wrong
with food as your pick, Yeah, for sure, for sure, And
then the opposite category of food I'm going with. I'm gonna stick with my
pick for the last couple of weeks and I will be back next week with
a new pick, a different But for this week, I'm sticking with right.
Yeah, I'm sticking with platform Con coming up in June, five day
virtual event on platform engineering Virtual It's one hundred percent free, tons of great
speakers and if you haven't listened, to the last couple of weeks. At
the end of the event, I'm going to be doing a live Q and
A with some of the speakers from the event. So if you have specific
questions you want me to ask, specific people you want me to talk to
after the event, hit me up on Twitter, let me know who you
want me to talk to, what you want me to ask them, and
I will work those questions into the live session, assuming that it's questions that
I can legally ask on air. There is that disclaimer because it's the Internet.
You wouldn't have had to, you know, give that disclaimer unless someone
already sent you some questions which you know you can't share there. There are
a few that I will not be sharing right just just I'll just say that
the Internet has not disappointed my request. It is alive and well. And
on that note, jose thank you for joining us on the show. This
has been super cool. It's been really interesting and I'm excited to go and
try this out because I loved Heroku, haven't used it, and I think
this kind of fits in with the the trajectory that I see the industry moving
as far as like being away from the big cloud providers and towards regaining control
of your own infrastructure. I think this is a cool way to accomplish those
objectives. So thank you for coming on the show and telling us all about
it. Thank you for having me Yeah for sure. If people want to
reach out to you and learn more about the project or how they can help
or something like that, what's the best way to hit you on the internet.
We have a slack and we have a discord. You camp me up
at the twitter at twitter handle. If you have massed on around hackey gun
as the and again, we can go to dokey dot com and we'll get
awesome. Right on, Arren, thanks for joining me on this episode.
Appreciate having me here. Of course I enjoyed it right on, And to
all the listeners out there, whether you're listening to us on the recorded podcast,
do your favorite podcast player, or you're catching the live streams on LinkedIn,
YouTube, Twitch, or x that are broadcasting every Tuesday at seven thirty
or ten thirty am Eastern and Pacific, thank you for listening and we'll see
y'all next week.