Thanks so much. Yeah, I would love to give you just a quick overview of who we are and what we're doing. For the last five and a half years, we used to be called Kubefirst. We just recently rebranded. Now our company name is Konstruct. That's because we just introduced our second product called Colony. So now the Konstruct company has really two product lines.
One of them is called Kubefirst. Kubefirst is an instant GitOps platform, completely MIT open source and free. We believe aggressively that Cloud Native has gotten quite complicated and that there's a better way to start. So basically we look at the surveys to find all the most open source and free stuff that people are using - we look at the popularity of the products. We figure out the pieces that fit together really well so that you can start out with a production-ready environment in a couple of minutes instead of 18 months.
That was kind of the origin of our company. Our mission was just enabling people to adopt Kubernetes and Cloud Native faster. Over the last year, we have been working through the commercial line for Kubefirst, which is an optional user interface called Kubefirst Pro that sits on top of the Kubefirst platform.
You can use it. It's got a great free tier and you can just delete it to get rid of it and keep the platform if you want. So it's a pretty risk-free implementation, but the user interface has a nice sexy way to create clusters, to add applications to your clusters, stuff like that.
Our new product that we're equally excited about, but is very new to the cloud native space, is a product called Colony that we've built to do a couple things. We needed a way to get into data centers. The Kubefirst platform works in nine or so different clouds, but we've never had a data center oriented way to do bare metal provisioning, to do hybrid cloud platform building.
So Colony is very selfish to Kubefirst - it's allowing us an opportunity to repurpose hardware and turn into Kubernetes clusters so that you can have a Kubernetes cluster platform in your data center as well.
With that implementation, we're able to do a lot of really cool tricks. We have the ability to host private clouds. We just recently added a deep integration with the Civo Cloud so that you can privately host their public cloud in your data center, which is pretty cool.
As we deepen the integrations between Kubefirst and Colony, we're going to start expanding into the hybrid data center, multi-cloud ecosystem so that you can start in your data center and just extend it into all of the clouds that you want to - however many of them that we support that you're interested in.
It's a ton of work. It's kind of the infrastructure underbelly of Kubernetes. We're very GitOps forward, but that's really the agenda that we're up against. Our mission is to enable organizations with faster ways to adopt Cloud Native.
I enjoyed our booth. And I think honestly, like you're right, they are pricey and calculating the ROI is hard as a startup. I'd say to anybody who's listening, it's hard as a startup. Once you hit that Datadog, HashiCorp scale I'm sure it's a straight ROI calculator.
We have a customer from a conference last year and we're almost to nine months into negotiations with them, right? And it's just like some of the bigger companies just take forever to go through. And it's hard to try to hold on to that, to put it into like your ROI calculations: Do we get them? Do we not? When do you abandon a sale? Those are all hard questions and it makes it very hard to calculate - I put a hundred grand into this or 30 grand (whatever it is), did I make money? That conference I'm talking about, we wrote that off as a wash, and now it turns out that we may make multiple times the amount that that conference cost us. So it's super duper hard.
For people that are watching on the YouTube replay, I was pointing at my hairline when he was talking about all the stuff you have to plan for. It's exhausting. It is so exhausting.
We had a great time at our booth this year. I think one the hard things for people is like you see it as sales. Everybody that's walking up to you as a potential sale, and it's not.
I think that's one of the hard things that we did not learn at our first couple of booths. They are conversations and those conversations, if they go well, may turn into a lead. Not everybody that scans that badge for a t-shirt wants to receive your emails, right? And I think it's just hard. You have got to figure out very quickly, is this a person that's genuinely got a problem that we solve? And then do they like our solution? That's your potential lead that may lead to a sale.
A lot of people come up, they just want a shirt or whatever, and it is what it is. And a lot of people come up and they don't like your idea and they want to talk about it.
But the hallway track, I mean, honestly, every time we staff a booth, we staff it with our full sales team and full founder team every conference we go to. And the reason why is so each of the founders and even sales team can get out and spend a few hours on that hallway track. There is so much value in those conversations - seeing the other stuff that's there, seeing what people's responses are.
I hang out at my competitors' booths and listen to the way they talk. I listen to the questions that their competitors ask. I want to know that stuff. It's very hard to get that from SEM rush or whatever, right?
And gives you the keys and says, time to onboard your team to your new platform.
The way that it works is that we have this upstream GitOps template repository that we pull down and we have to ask you three questions in order to give you this platform:
- We have to know what cloud you want to put it in and you have to give us your keys to that cloud.
- We have to know what Git provider you want to use and you have to give me the keys to the Git provider.
- Optionally, if you want to use a separate DNS provider like Cloudflare, you would have to give us those details as well - what domain you want to hook it into.
Then you hit this magic go button and we pull down this GitOps template repository, hydrate it with the details about where you want this thing placed. Then we'll run some infrastructure as code that we manage to create in your own cloud that you self-host and self-manage.
We'll create for you your network, your VPC, eventually we'll work our way to a management Kubernetes cluster that we provision in your cloud. And then we bootstrap that Kubernetes cluster with Argo CD. Argo CD then hydrates using the app of apps pattern, all of the usual suspects that you need in that management control plane. So that's how you get Crossplane. That's how you get Atlantis. That's how you get GitHub and GitLab self-hosted runners. That's how you get all the stuff that makes sort of that management control plane work.
Now you don't need to go beyond the open source platform if you don't want. But at the very end of it, we also dropped this nice user interface on it called Kubefirst Pro. So that's kind of like… imagine the platform was just YAML, Kubefirst Pro is a UI that understands that YAML and knows how to write more YAML. So if you want to use Kubefirst Pro, which has a nice user interface experience, you can just start clicking and saying, “Hey, I want a dev cluster, a stage cluster, a prod cluster. And I want them to be managed with a fleet of these 8 or 9 or 10 applications so that every time I create a cluster, it always has the same usual suspects.”
We have all of that mechanic built into it all the way down to like external secrets operator. When it installs in your workload cluster, it automatically checks back with your management cluster and ties into your secrets manager and all that kind of nice stuff. So it's a really good user interface for a good cluster management user experience in Kubefirst Pro.
On the free tier of Kubefirst Pro, we give you three clusters for free. And then once you need that fourth cluster, we're like, all right, that's where the paywall comes in. And even then it's just 33 cents an hour per cluster to manage clusters beyond that. So it's a very reasonable approach.
Yeah, it's a really good question. It's unfortunately terribly nuanced and intricate. The general stance that we've taken with Kubefirst is that the platform, because it's a GitOps platform and because it's a GitOps platform that delivers other open source tools, we want that ecosystem to just be 100% ejectable from anything that is closed source.
We know that there are huge enterprise organizations that just have hard requirements about what their license models are, about what their policy is to build into their platform and to rely on tools. It’s just not okay for it to not be open source in a lot of environments.
That's just in terms of compliance, but it gets worse than because as a platform engineer, if I'm going to buy into the Kubefirst platform, I have to trust this company Konstruct. Who is this company Konstruct? How long have they been around? Five and a half years, still not good enough for me. What are their credentials, right?
When you're talking about the infra of your org, it scales depending on how mission-critical your operations need to be from a compliance and security standpoint, but there's just no reason to trust another company. You should not have to trust another company for how your platform got put together. And to make any part of that closed source is putting that end user at risk that they're buying into something and that entity is going to make a bad decision. It could be any bad decision and they're not going to be able to do anything about it. And that's unacceptable to us.
We think that if you're going to rely on us to do your cloud native platform construction and engineering, and use it as a foundational tool for how you put pieces of cloud native tech together, then it's just as much yours as it is ours. That's just the stance of what we wanted to build.
Now the billion dollar question is, how the heck do you commercialize that? And that was a tough thing to get to the end of the road on. First of all, it's a GitOps repository that we literally hand you, right? So it's yours, it lives in your org, we don't have access to it. You're the only person on God's green earth that has access to it after an installation. And it's literal YAML source code that put all that stuff together. So any of that is just like impossible to close source because we give it to you the second you do an installation.
So there's really only an area of the platform that's valuable to monetize on. And we found that to be in the user interface and the user experience of cluster lifecycle management and application management of what goes into those clusters. So we edged out this nice little user interface section where we could say, “Hey, we're going to give you the sun and the moon for free, but we think we can convince you through the user experience and through the information that we're going to be able to present to you in that user interface in a single pane of glass… we think we're going to be able to convince you to become a paying customer and help support that open source initiative.”
We'll see how it works out. We've literally just turned on our paywall last month. And we're just starting to get our first users in the dashboard ecosystem. We’re still waiting on that very, very, very first celebrated swipe. To be determined on how much tuning is in our future at finding that exact right spot.
Basically, the things that we need to protect need isolation from the things that we want to be ubiquitous. And everything that we want to be ubiquitous and everything that we want companies to need to rely on, we believe must be open source. So that if we make a bad decision, you're able to continue on with the initiative of what you thought you were buying into.
Very much like the HashiCorp ecosystem. We bought into HashiCorp years and years ago. To this day, we think that it makes a compelling argument to be still the best IaC tool in the industry. Despite the fact that a year or so ago they said, “Hey, we're not Apache anymore. We're going with the Boozle license.” That made a lot of people upset [Cory laughs] and companies like mine that looked at HashiCorp with sort of arms in the air saying, “Listen, we depended on you. You said that you were open source and we depended on you. And we don't like that decision.”
The fact that it was open source allows a really healthy thing to happen, which is OpenTofu. If there's enough interest to say, “Hey, we can pick these pieces up and run with it.”, then there is an avenue for a whole new thing to blossom that remains open source despite the business direction of a particular company. That's extremely valuable, particularly in the infrastructure space because you're putting so much of your company's discipline on the decision-making of the companies that you depend upon.
That's mostly what guides our decision-making - if we were to cease to exist, how do we set it up so that our commercial users are least negatively impacted and so that, with or without us, the companies that are running this software can continue to run and operate on all those open source software tools that are put together by our platforms? That's kind of our guiding light.
How do you do it though? You probably have to consider very, very many of the same types of scenarios, probably in all kinds of different weird ways.
Yeah, Colony was a huge shift for us. We probably should have had our heads checked before we said yes.
So here's how it broke down. We ended up getting acquired by this guy, Mark Boost. Mark Boost is the CEO of the Civo Cloud. Civo Cloud has a on-prem version of their cloud that you can self-host if you just buy their appliance. So you can call up Civo and be like, “Hey, you know, I want to host my own region of the Civo cloud.” They'll ship it to you. You plug it in, it phones home. Now you have a private cloud - it works just like your public cloud does, it's great.
That works for almost all their use cases, but it doesn't work in a scenario where people already have their own hardware. And you look at the virtualization space right now and it's a mess. There's a lot of commodity hardware that's being managed all kinds of different ways, but a lot of those users aren't very happy with what's going on in the virtualization space.
Mark was like, “I’ve got to have a way to take advantage of hardware for Civo but, if you guys have that same need, maybe we could just build it up under Konstruct and do integrations instead. Because if we're able to host Civo’s cloud privately, then we could do the same thing - rinse and repeat - with Azure's variation, with EKS Anywhere, with you name it.
If it runs on hardware, once you solve the problem of auto discovery and auto registration, and you have bare metal provisioning and orchestration ability, it doesn't matter what you're doing with that hardware. It could be to host public clouds. It could be to host Kubernetes clusters.
Which is what we selfishly wanted Colony more for - it was to be able to build our stronghold, not in AWS or Google or Azure, but to build that stronghold in your private data center in a way that allows you to extend into those clouds. Because we already have all these different clouds. We're paying that cost anyway.
We natively support AWS, Civo, Vultr, GCP, DigitalOcean, Akamai, you name it. There's a ton of work that goes into all of that. And there's an environment that would love to burst into that. But that environment is a data center oriented environment, generally speaking. And we didn't have any foothold there. So we were like, “All right, let's do it.”
We staffed up, we got into the bare metal space - which is a dark, ugly space. Think Kubernetes maybe seven years ago - that is how bare metal feels. It's just like this gross, poorly blogged…
[Cory laughs]
…dark section of the internet that everybody knows is valuable, but nobody wants to touch because it's ugly and it doesn't work the way they say it works on the internet.
So we just had to roll up our sleeves and learn a whole bunch of stuff that we didn't know. It took way longer than we thought it was going to take. We came in a little arrogant and we thought that it was just going to be like, you know, three months max. It ended up taking us a lot more like six to get it to the point that we have it right now.
Right now we have this cool new product called Colony that you can brew install or grab our binary - however you want to grab it. And if you're on a network and on that same network you have machines that can PXE boot, then all you have to do is run the single Colony init command to register your data center with our Colony cloud. And then you reboot machines on that network and we automatically can drop an operating system onto the machine, figure out everything that it's got inside it (all the disk devices, everything), push it all up, make it available for you to transform that hardware that you already have and turn it into K3s clusters or Talos clusters. I think soon we're going to do Flatcar clusters as well.
Once we have a cluster, you can do anything on it. You can run the Civo Enterprise stack on it and have a private cloud. You could host Kubefirst on it and have a Kubefirst bare metal platform that doesn't touch any clouds - It could just be a privately hosted ecosystem for something that's more sensitive. Or, we can also like flash operating systems onto it like Ubuntu or whatever. And there may be a day when we try to do some hypervisor virtualization stuff as well. We started messing around with Proxmox just a little bit ago for home labs scenarios. It seems to play really nicely with the way we organize the tech.
It's got a really bright future. I think the virtualization bare metal hybrid ecosystem is just ripe for a renaissance. I don't think it's ever going to get that renaissance without it being a cloud native renaissance.
We're leaning on this really neat product that's a CNCF project called Tinkerbell.
I agree with what you're saying. I hope that ends up being true for a whole section of the industry. It's hard work. The amount that goes into repurposing hardware in a data center is hard enough on its own. And then needing to build up the rig that's able to provision stuff on that hardware - that's a whole other section and that's also hard enough.
And then Kubernetes itself… man, that is a bear of bears. And it's not that Kubernetes itself is hard, but it is so unorthodox from everything that led up to it. Everything that led up to it led you to believe that everything was going to continue to work a certain way. There was always going to be a binary, there was always going to be some kind of job that runs through some kind of script through some kind of Git thing that happened. And none of that is fully wrong, but Kubernetes changed the paradigm to a data-driven paradigm to describe the contract between what you want and the API you're talking to.
That just blew everything out of the water, right? So as soon as you adopt Kubernetes for the first time, as a SysAdmin or whatever, what I found over and over again is there's this tendency to look back at where you've been and keep trying to lean on that stuff. And it's all incorrect for what you're trying to do. That script is wrong. The security paradigm is wrong. The delivery pattern is wrong. The IaC is wrong. The groups are wrong. The users are wrong. Everything is wrong about what you were doing when you're trying to do what's next, which is Kubernetes, which is cloud native.
That doesn't mean that you can't now learn some new tricks. You can. But my watch says that it's going to take somewhere between 12 and 18 months. And that's a huge cost to organizations. Maybe some organizations, they shrug - millions of dollars, who cares? But for most of us, we have a budget that matters. We have to defend the decisions about our evolutions of our platforms and our infrastructure against the business value that you're going to get out of it.
That's what drives me crazy about Kubernetes - it's so powerful that literally me on my project, I had at one point three… and my co-founder and I, so we should count ourselves too… we had five total engineers. We were supporting eight clouds with five engineers.
Name any other technology where you can run your infra in eight clouds in a way that makes perfect sense to everyone, with only the people that you can count on one hand. It's very unheard of with older practices. But in order to get that, you have to buy in. You have to take that evolutionary leap in the way that things are structured and organized.
I think that's where the whole platform engineering products that are trying to organize this stuff, like Konstruct and so many others, are just trying to level the playing field a little bit in various different ways.
Our way is just like, “Hey, we know you won't agree with all our opinions, but let us give you these anyway so that you can be running in production today. And we'll let you change them.” Have those debates about what the best Ingress controller on Earth is. It's an important debate. You may not land where we did. You might say, you know what, Ingress NGINX, it's great, but there's something newer and hotter and I just need a little bit of that juice.
That is a fine thing to discuss and debate, and to even decide that we were wrong and you were right. But while you're spending that two months, really just doing all the hard science behind which one's going to beat NGINX, let's be shipping a prod and get the business to take the value out of Kubernetes. Instead of trying to get it all right up front and take forever.
I think if we can change that game a little bit, it'll only further embolden how deep Kubernetes roots go into the cloud computing industry. And it's only going to make everybody start to see things in the same ways.
You could drop in to our Slack community right now and you would find 500 engineers that have all in one way or another decided, “Hey, if I was using these set of tools, I would have all these people in here that were all also using these same set of tools.” And if you're a person on a team of four, that might be really valuable to you.
That's what Cloud Native was supposed to give us - that community, that ability to tap into each other and to take advantage of the skills that we're all bringing together. Because we're all basically up against the same challenge. It's not one product versus the other. It's us against the machines. And we're all just trying to survive the swell of tech coming in our direction.
No, I think you're exactly right. Sometimes I look at my own platform and I'm like, “How valuable is a portable platform?” And you should stop and question if it’s valuable to be able to leave AWS and go somewhere else. Because I've worked a lot of places and for one reason or another, it was always a monumental undertaking to abandon a cloud for another cloud.
As a founder of a product like mine, you have to wonder if that message is even important - that it's portable. But then I got acquired by an owner of the Civo Cloud, right? [John and Cory laugh] Which is fun. Meanwhile, all my infra is running in AWS. Kubefirst started in AWS. I'm an old AWS head.
So how do I put my money where my mouth is here?
We were like, all right, we'll move production to Civo. No big deal, obviously. There were nuances and threads about it that lasted like a couple weeks because this domain and blah, blah, and this email and blah… But the actual migration of our management ecosystem… through a stealth operation, mind you. We're doing all this stuff in secret. We're not telling anybody that we're Konstruct.
According to everyone in our open source world, we're still Kubefirst. And meanwhile, we have this whole other Kubefirst on the other side of GitHub that's called Konstruct, and we're building it up in Civo. And we're replacing our AWS ecosystem with a Civo version of that exact same platform.
We don't have that many apps, like we're Konstruct. What apps do we have? We have some charts, we have some CLIs, we have some APIs. In terms of like production facing stuff, we have maybe like 20 things. It's not that huge a footprint in terms of what's public and forward facing.
Still, we were able to take prod and move it out of AWS and into Civo. We didn't even tell half of our team that we were doing it. We just did it in the middle of the afternoon, and we were in Civo late that afternoon.
The only reason we could do that was because the platform was built to avoid the hooks, right?
It's funny, I have a slightly similar anecdote. We had a customer at my day job that is small, they're a startup. And when they were getting started with us, they were like, “Oh, we're going to roll out on AWS.” They were on a platform as a service and they were trying to get into the cloud. And they're like, “How should we run our apps?” I think they had them in Docker containers or build packs, I can't remember which. But they already had some packaging format. And we're like, you should run on Kubernetes.
And they're like, “Oh, we're a startup. We've never used Kubernetes before. Should we try ECS or something else first?” And we're like, “Look, our platform already takes away a decent amount of the pain. The EKS control plane takes off some more of the pain. And then the IaC - we have like a template library - the IaC that you get started with for your cluster gives you a pretty good place. And we've already got several hundred people running Kubernetes clusters on these modules. You're going to be fine.” And so they sign up, they get on Kubernetes, they're having a great time.
We got a little customer (not a huge customer, not massive), but a few weeks later they canceled their account. And I was like, “What the f**k?” We just did this whole migration, we helped them, they canceled their account. Like, how dare you guys?
So I emailed the guy and I'm like, “Hey, like what happened? What's up? I noticed you cancelled your account. I hadn't heard anything from you.” I was like, shit, what do we do? Right? It was one of those panic founder moments.
So Massdriver (my day job), we're the official infrastructure partner for startups that are a part of Azure's startup program. They do this big credit package thing and as a part of that, you get Massdriver for free for a year.
What happened was he got into that program and was like in their dashboard and it was like, you get Massdriver for free if you go through this. And so what he did was he just built all this stuff on Azure and just literally moved his apps over from his EKS cluster to his Azure and just he migrated off.
The reason he canceled his account was like, I get you guys for free now. And I was just like, “Kubernetes, it's so easy. It's stealing customers from us.” I was like, “Should we cancel this? Should we like tell Azure that we're out, we don't want to help them anymore?”
It wasn't a big enough contract to freak us out, but it was one of those things like, “What is going on?” And when he told me why, I was kind of proud of that. Like I enabled you guys to not pay us. Cool.