Scaling Knative to 100K+ Webapps
render.com
render.com
And from my experience devops is a really welcoming community - people take great pride in making sure their infrastructure tooling covers unorthodox use cases, and meeting them as a collaborator (not just an end user) can be incredibly fulfilling for all involved.
(That said, yak shaving is definitely a risk, especially since testing can be complicated with these systems when making low-level tweaks. But it's still often useful to roll up one's sleeves and read Go code rather than just restricting oneself to coloring within the existing configurability lines.)
Google and Facebook were fined over this[1] and fixed their UI.
Many providers of cookie popups respect that too; possibly this will get better long term.
[1]: https://www.lexology.com/library/detail.aspx?g=6001cd19-ecbf...
It also sounds like their knative solution is slowly getting flattened into a load balanced or "smart" L7 proxy.
Also curious is they submitted these changes upstream. Seems like a pretty clear use case with numbers behind it which usually helps with interest.
Finally, I really love a solution that net deletes code and makes everything faster (and simpler).
> With a little experimentation, we discovered that the activator could both wake Pods and reverse-proxy to a woke Pod, even though that behavior wasn’t documented! We just needed to set the right headers.
Are you setting those headers on call #2 (tell [knative] autoscaler to bring up pod) in the diagrams from y'alls other post?
It was in step #1. Most knative tutorials we found have you set up istio, which was the one setting the headers. There was separate work to rip out istio (which did not scale well either) that we didn't include in the post.
So istio used to sit between our proxy and knative's proxy. In order to figure out what headers it was setting, we ran a caddy container as a sidecar to the activator, and had it output the request metadata. We then read the code to confirm
This reminds me of my time building a similar platform back in 2015-ish. It was also a free tier for back then 40k apps. Built on top of cloud foundry. Before k8s was GA.
We also suffered from scalability issues which required creative solutions.
Good times.
Would love to hear some thought. May be I am missing something.
On the tech side, IPAM can fail to assign IP in k8s. It could be of various reasons. What do you guys do in that case?
But I don't think Render is competing with AWS head-on in regards to cost. They're very much trying to fill that Heroku niche of hosting providers geared towards developers who don't want to manage VMs let alone a k8s cluster. And as Heroku has proven, there is money to be made charging a premium for such convenience.
Heroku proved you can get many people to use your service by offering free stuff. Maybe there was a reason they sold the business.
Plus AWS has spot / reserved instances.
You gotta really hate AWS's UX to use a service like that.
<rant>I am pretty pissed off by their per user per team pricing that was introduced early this year. Specially since you still need to pay for multiple teams to get network segmentation between envs WTF</rant>.
BUT on the compute, it is on par with fargate. I dont know how you arrived at 4x the cost but lets take 1 vcpu + 2GB ram. Render is 25$/month and fargate is 35.50$/month. For 2 vcpu and 4gb, render is at 85$/m and Fargate is 71.10$/m.
For our business, I am considering migrating off render within the next year. Unsure where to yet, I would like to avoid using another PaaS but managing a k8s cluster doesnt appeal to me so still looking.
We are offering a credit program for early stage startups that you can apply for here. Happy to fast track your application! https://porter.run/for-seed-stage-startups
IPAM has not been an issue with how we use K8s.
We started with a free tier (copying the Heroku model) and had to fight with 'free users' as well.
The free tier created a lot of noise distracting us from our paying customers. Support requests from users with no interest ever upgrading, often beginners and noobs. Cat and mouse games with script kiddies trying to abuse the service. Fraud and phishing … Most free tier Apps are just tests, maybe there is an index file printing a hello world. Yet you need to keep some responsibility to keep that data around.
After a while we changed it to free trial (try before buy). That works much better for us.
Could you share some light on the unit economics of your PaaS?
I would assume the cost of acquisition is fair low now that you have a fix trial but how is the customer retention cost. I would assume theres huge amount of support cost as generally there always various edge cases that you wouldn't accommodate in your generic PaaS.
Not elegant, but we lost nothing of value.