Thank you for the kind words my friend. I enjoyed contributing to TinyKVM during my time at Varnish Software. It is nice to see that you are able to present and share it with the community.
Tinykvm is going to be the future
It's very much still a work-in-progress. But it works!
The main plugin repo is here: https://github.com/varnish/libvmod-tinykvm
I know couple of frameworks/systems support it, especially in php world.
Looks like that it's lost in layers - dev guys don't care much, sysadmins are sort of extincted, noone to bother to add Varnish into request processing queue. Needless to say, people ok HN even complain on Nginx configs,while for base caching it's much simpler, from my perspective.
Apart from moving it from windows to Linux, I put it in front of varnish and spent a few hours tweaking the config to make sure everything still worked. It was my first time using varnish so it took longer.
It performed flawlessly for years.
Varnish was a real workhorse.
TinyKVM is an impressive marvel and I wonder if it would help to separate the branding from the older name.
Features like the memory governer [0], because trying to predict how much memory (open-source) Varnish will use is an absolute PITA and a sure-fire way to run out of memory if you're not careful.
My clients can't justify the commercial license costs (as a sibling comment says, CDNs eat Varnish's lunch in that market) and yet what I can do with Varnish and the power it gives me makes it real magic.
It would be nice to see a modern reimplementation of Varnish, open-sourced, but I doubt that would ever happen.
0. https://info.varnish-software.com/blog/two-minute-tech-tuesd...
I’ve been running varnish/tinykvm using podman by using passing /dev/kvm into the container and adding myself to the kvm group. https://github.com/lrowe/deno_varnish?tab=readme-ov-file#run...
Maybe you would be better off with something like krun which is built to run OCI containers in a full Linux kvm guest. https://josecastillolema.github.io/podman-wasm-libkrun/
Tip, Although not entirely what you asked, but related: what about using more caving in your CI/CD Pipeline. Customers see incredible time savings when using Varnish on that context (mostly with Enterprise w/MSE4 as you will need a massive cache, but it can be useful even with Varnish Cache grounding on your pipeline and workflow). If you are interested, read more here: https://www.varnish-software.com/solutions/data-ai-accelerat...
Would you have read this if neither Deno, Varnish or TinyKVM would have been in the title? ;)
But we hear you. Will put a page on our website and should probably consider seeing up a community site as well as it is indeed, grabbing some attention.
But yes, Varnish Cache is not exactly what you would call Cloud Native.
Varnish Software have launched Pro currently on AWS only at a much lower price point, but it is still somewhat limited. I think that a Free-tier providing some of the goodies you mention would also cover much of what's needed for today's workloads including better memory management, in-core TLS and a better developer experience by having much better K8s support. Much of this could and should go into Varnish Cache, but that is a longer road as the project as such has a different focus than we do.
Expect more on that front this year @pbower :)
Do you think the whole MACH stack users would then move their workload to such a controller/ingress/gateway?
I think they wouldn't, because they don't necessarily understand (or need?) the advantages of caching at scale and flexibility that Varnish provides.
But if you say that you will accelerate everything in their K8s cluster... Then maybe ;)
We'll see. I have a wish for Kubecon in Q4
I will add a license (hopefully MIT like Deno) once there is clarity around the licensing of the TinyKVM guest API files.
Leaning towards making the modules/examples permissive, indeed.
No worries, I know how it is! :)
> But good to see you got your answer in the end.
Well, almost. Even outside that above usecase I'd still be interested in the capabilities TinyKVM needs and its overall security model & properties! There are far too many Github projects out there these days that claim to do sandboxing and for an outsider it's very difficult to compare them security-wise.
> what about using more caving in your CI/CD Pipeline.
The caching itself is not the issue. We already heavily cache image layers when building container images. The issue (one of them) is that on our platform AppArmor prevents containers from mounting anything, including overlayfs file systems. The latter, however, are needed for Docker/Podman to do proper image layering. The only non-mount alternative I'm aware of, Kaniko, avoids overlayfs but at the cost of severe I/O and performance impact AFAIU this is because it manually detects changes in a given image layer by walking the directory tree. See also https://github.com/GoogleContainerTools/kaniko/issues/875
Though when frontend devs cannot explain which CORS headers and for which origins they do need (again, I'm sysasmin, not even daily reader of Mozilla Developer Network), chances for server/infra level like Varnish to be mentioned is close to 0. With higher chances k8s cluster introduction to be mentioned.
If yes, you can store that data with fixed size tmpfs - while on servers with modern NVMe handling 5 Gbyte/sec I would not bother.