58 karma · joined July 1, 2019
* Traefik daemonset as a load balancer
* Helm controller that lets you apply helm manifests without the helm command line
* Upgrade controller
* Sqlite as the default backing store for the k8s API
* Their own local storage provisioner
K0S has a lot of the same goals: be light weight and self contained in a single binary. But K0S tries to be as vanilla as possible.
Choosing between the two it comes down to your use case. Do you want light weight and compatible (k0s), or lightweight and convenient (k3s)?
Edit: formatting
The waste is uncaptured value. It is some part of your software business's domain that is just too hard, expensive, or requiring physical intervention to encode the process in their system. So the business never chooses to build that feature. This leaves some part of your business's problem domain unsolved. Potentially someone else smaller could come in and try and solve that problem and capitalize on that wasted value.
A product team and dev team encode business knowledge and flows into code and leverage a human to make judgement calls when necessary. The outcome is a program that can either be used by skilled workers to multiply their output or allow unskilled workers to perform tasks that would have formerly required a skilled worker to accomplish.
There are already (arguably) optimized flows and design patterns for application UX. Companies have already spent years trying to build and optimize this "human programming". Dev teams have developed many DSLs to make it easier to encode business logic into their applications more quickly.
I am not saying line of business applications are good or near some optimal final form, but to call "human programming" untapped is taking a very narrow view of the definition.
Their stack is primarily comprised of other independent open source projects. The one component that isn't is their "realtime" server that serves updates from postgres' WAL over websockets, but that is open sourced[0] under Apache 2.0. From my understanding the primary part that has not been open sourced is their database browser / web UI. There are plenty of alternative management tools for postgres though. As you can export your database what else would you need to ensure your portability and independence?
Granted they make their docs fairly opaque for trying to self host. Presumably to encourage you to just use their hosted service. Hosting open sourced projects seems like a very ecosystem friendly way of monetizing.
May as well open up vim, write my 7 lines of python, and run it. Because I use it everyday and didn't have to look anything up it ends up far faster. Then when I am done I either delete it, throw it in a scripts directory, or make it part of some existing infrastructure repo. Now if I keep it because I used python it is much more readable than the awk 1 liner would have been.
I have tried in earnest to memorize awk's idiosyncrasies multiple times now. By the time I go to use what I learned the last time it is months later and I have forgot enough I need to go look stuff up.
So in a way, here I am: The guy that writes "one liners" in python.
If Intel is able to put out something reasonably competitive and that supports GPU sharding it could be a game changer. It could change the direction of the ecosystem and force Nvidia and AMD to bring sharding to their consumer tier cards. I am stoked to see where this new release takes us.
Level1Linux has a (reasonably) up to date state of the GPU ecosystem that does a much better job outlining the potential of this tech.
I usually only reach for it when I am building out a helm charm for a project and want to test it. Otherwise docker-compose is usually enough and is less boilerplate to just get an app and a few supporting resources up and running.
One thing I have been wanting to experiment with more is using something like Tilt [1] for local development. I just have not had an app that required it yet.
[0] https://k3d.io/ [1] https://tilt.dev/
I think what makes the difference is the proximity to the user. In your printing company you got to know the process then build a solution that directly helped your co-worker and boss. Even if it only helps in a small way that feels very satisfying. Where I get frustrated is and lose all that empathy is when the company keeps multiple layers of indirection between the devs and the users (customer report -> Customer Service -> Product Management -> devs).