Kafka on Kubernetes: What could go wrong?
redpanda.com
redpanda.com
The only reason we did not lose data on the rook setup, is we run 5 brokers with replication factor 4, with 2 in sync.
It's basically a license that was created in response to how Amazon has been operating, co-opting open source technologies (whose business models focused on creating SaaS offerings of their open source tech) and creating their own managed services, directly competing with the creators (Redis even called this out a few years ago when they changed their license, see https://techcrunch.com/2019/02/21/redis-labs-changes-its-ope...).
They also indicate that at some point the license will change to Apache 2 ( https://github.com/redpanda-data/redpanda/tree/dev/licenses ); it's BSL right now likely to give them enough legal protection to keep competitors who'd operate Redpanda as a SaaS away, while they build up the enterprise (paid) features (which has a separate, far more wordy, license). I'd imagine they'd look to make the switch when they feel they have enough value and customers of the enterprise features.
I don't work on open source, or anything licensed by BSI, and from such an outsider perspective you sound...very dogmatic.
"The BSL does not meet the Open Source Definition (OSD) maintained by the Open Source Initiative (OSI). OSD does not allow limitations on specific kinds of such, such as production use."
> Q: Can I use BSL products to develop software that will be licensed under different licenses? > > A: Yes, as long as you don’t include any of the BSL code in the code for the software that’s being developed, and you do not make production use of the BSL code.
From the creators of the BSL license[0]: https://mariadb.com/bsl-faq-adopting/
BSL is not open source, period. It's just another startup source-available license parading "I want to be open source on GitHub.. but gosh please don't use my code without paying me!!"
Companies should stop instructing Heather to create these licenses IMO, and just split their code into open source and enterprise-only parts. It's easier, more honest, and ends this whole debate. It's the GitLab/Sourcegraph model too.
Isn't it "please don't create a competing service to us"? Considering how many tech startups struggled with that very same problem, it's a completely understandable concern. Some, like Sentry, have a time limited license - BSL for 2 years and then it switches to Apache/MIT. Sounds like a pretty good compromise.
> Companies should stop instructing Heather to create these licenses IMO, and just split their code into open source and enterprise-only parts. It's easier, more honest, and ends this whole debate. It's the GitLab/Sourcegraph model too.
It's not easier for them, because the codebase is split, they have to consider which features go where, potentially piss off people by moving features to the enterprise only parts (e.g. InfluxData). And that doesn't stop an Amazon selling your open core version with some custom additions.
From the article I linked for example, your stance is more akin to the second one:
- A pure open source enthusiast, one that is not at all influenced by the ideals of free software, will say, “I am surprised you were able to make the program work so well without using our development model, but you did. How can I get a copy?” This attitude will reward schemes that take away our freedom, leading to its loss.
- The free software activist will say, “Your program is very attractive, but I value my freedom more. So I reject your program. I will get my work done some other way, and support a project to develop a free replacement.” If we value our freedom, we can act to maintain and defend it.a. integrations with other systems which do not have very strict latency constraints
b. replication to disaster recovery site
The benefits are listed (between lines) in both article and below.
Price is is usually still treating those pods like pets:
- one pod per k8s node (taints&node selectors) - special sizing & tunings of the targeted nodes (resources, kernel params, etc)
- one LB per Pod. yes, costly and against what you would expect, but that's what is required for a bullet proof deploy. (delay is not always there, especially in clouds, LB have super efficient implementations (especially gcp)
- bullet proof storage, with the required performance computed in your sizing phase.
If you're going to look at Kafka inside of Kubernetes at all just look at running Apache Pulsar in K8s.
One of the main arguments in this article is worry about exposing the broker but in Pulsar there is a proxy for this and the helm chart supports ingress public endpoint by just enabling a flag.