1,203 karma · joined May 21, 2015
https://www.thelis.org
(original poster)
And this is why I don’t think it’s as black & white. An absolutist, deontological view of the right to privacy is something I absolutely empathize with (although the fourth amendment does not enshrine this anywhere for companies; the bill of rights applies to government action.). I’m just saying there is a utilitarian argument as well for doing something like this.
And the dialogue between technologists who understand what technology can/can’t do vs those who advocate for exploited children —- is what is needed.
I liked Alex’s suggestion though: when it’s a highly complex issue, the best solutions happen when you can bring together the right experts in their field together, and collaborate, and I think it’s a very fair critique of Apple. It’s hard for me to imagine a situation where showing up at the conference, sharing a preview of what they were thinking, and then hearing the feedback would not have been beneficial.
(Speaking as a reasonably happy Apple user, I wish openness for some of these things was a little bit more of their DNA. When you’re as big as Apple, people need to just recognize that the standards are different. It may not be fair. But it’s just the way the world works.)
- Heroku. Sure it’s a bit expensive but it’s still super easy if you’re a dev. - OpenShift. If you’re a really big enterprise, OpenShift is a reasonable choice for PAAS. But only if you’re huge. - Kubernetes. Yes, it’s complicated. Yes, it has a steep learning curve. But it’s open source, has a huge and growing ecosystem, and it has less lock in than any other PAAS-like thing that I can think of.
The main downside of Kubernetes beyond its complexity is that you still have to build abstractions on top of it for your developers. But that world is improving regularly.
Regarding the thread on liquidation preference, I don’t think any amount of liquidation preference is on standard VC terms in this market.
There are people who are very happy at a well-run BigCo, with a well-defined cadence for making decisions. Others chafe at that level of process, and instead thrive at an entrepreneurial startup. (This of course is a gross generalization.)
A culture that has generic values is in some ways meaningless.
(I do think that xDS is a non trivial interface to learn and standardize on though and is probably overkill for most.)
(Disclosure: We use Envoy as part of Ambassador, and so of course we're big fans!)
We just cut over all of our stuff (Ambassador API Gateway) to Docker Hub. Lots of the Kubernetes ecosystem is on Quay. I wonder how this affecting others. Our users are definitely affected, as well as our development team.
etc.
- General best practice for Kubernetes clusters is to have a proxy that routes external traffic to internal services
- This is because Kubernetes provides its own internal network space so each of your internal services aren't directly exposed externally (although you can do this if you like)
- Kubernetes has a spec for how this is done, the "ingress" spec
- An ingress controller implements the ingress spec
- The ingress spec is pretty limited in functionality (basic routing, no support for timeouts, as an example)
So if you just need to do basic routing, any ingress controller is going to do the same thing, more or less.
If you want to do more than that (which is very likely), then you'll want to compare the ingress controllers beyond basic ingress. That's where NGINX vs Envoy Proxy vs Traefik etc come into play as your core data plane proxy, and then how much stuff comes on top of it.
Hope that helps.
(Disclosure: I work on Ambassador, one of the Envoy-based ingress controllers)
Edited: formatting
I personally believe that going to a lawyer at this stage is 1) expensive and 2) unnecessarily confrontational. I understand the argument about understanding your legal options, but at the point where you start to rely on the law, you're entering a contentious negotiation which can be unpleasant and expensive for everyone.
So I'd just say "Hey, Employer, I've put in a lot of my personal time into this project. So I think it's fair that if you want it that I should be recognized in a concrete tangible way since clearly you want it because it adds more value to the business."
And I think depending on the kind of company you work for, I'd ask for additional equity in the company (since you'd be making the company more valuable) plus additional cash (because you were working on this project night-and-day) and some sort of recognition would all be reasonable asks.
I updated the article to clarify that there were 8 configuration options at the time of testing (we started this effort awhile ago) and now there are 25.
We'd definitely like to rerun the tests with the official controller to use the Runtime API.
https://kubernetes.github.io/ingress-nginx/how-it-works/#whe...
The NGINX ingress controller goes to some lengths to avoid reloads because it recognizes the hit from reloads. In Ambassador-land, we use Envoy's xDS APIs to avoid this problem. Not clear what the HAProxy ingress controller does.
Thanks for the feedback.
So regarding your hypothesis on the spikes being sent to pods that no longer exist/are starting: 1) it is the responsibility of the ingress controller on K8S to properly handle that situation 2) it would be highly unlikely for people to implement their own custom ingress controller around a given proxy (it's actually somewhat complicated) and 3) the pod theory wouldn't address the latency spikes seen on reconfiguration.
But you're right that there probably should be some explanation around why we think this is happening (I just didn't want to speculate too much; I suspect that the issue is with the hitless reloads implementation in the proxies which is tricky to do well).
(disclaimer: one of the authors)