Adolfo Ochagavía, a Rust developer in the Netherlands, writes about low-level programming, tooling, networking and dependency resolution.
HN links his posts on config files, S3 as a container registry and the JIT calculator challenge; a commenter calls him a friend and shares his broadcasting essay.
I should preface this by saying that I figure you know all this, but I'm laying it out anyway. :)
Theoretically (I haven't read the parent article yet) it's just GET and HEAD requests for a Docker Registry[1], so if CloudFlare or another CDN supports large binary files, you could cache the images from the low cost box.
That said, obviously I'm suggesting adding "cloud" CDN infrastructure to your tiny ARM box. In a more normal scenario, most would probably pick a free Docker Registry and just upload a mirror of the images to multiple registries to spread out the bandwidth load. E.g. Docker Hub, GitHub, etc.
For a better solution, don't serve 10GB container images. Instead, start from someone else's 10GB container image and add the layers you need on top of it. Or consider a solution where you don't need to ship 10GB of data in your application, but could perhaps side-load only the necessary data.
Another workaround: because Docker images can be pushed and pulled with identical signatures, it's also possible to encourage your end users to keep their own Docker registry of the image and refer to it from an internal or private copy of the image. This is a best practice for pretty much every kind of production deployment of a Docker container, so you don't have 100s of boxes pulling from your shared infrastructure, and leads to more reliable Docker deployments. An example is, in fact, pulling an image - because it stores a copy locally that you can refer to and run multiple…
Location: Utrecht, The Netherlands
Remote: Yes
Willing to relocate: No
Technologies: Rust, Haskell, C#, Java, Typescript, Angular
I am great at finding my way quickly in existing codebases (e.g. the Rust compiler), architecturing software in such a way that other developers can actually read it, and helping non-technical people understand the software development process. Recent work includes enhancing a legacy Java codebase at an European pharmaceutical company, creating a desktop app in C# for data analysts at an European chemical company and coaching a self-taught C# programmer to improve his technical skills.
CV: see https://ochagavia.nl (and from there my LinkedIn and GitHub accounts)
Contact: email is in my profile
Role type: freelance / consulting
You might enjoy this recent article from my friend Adolfo: https://ochagavia.nl/blog/to-broadcast-or-not-to-broadcast/
But yeah, broadcasting has been great for my career. I don't even broadcast maximally employable things (but maybe that's a way to stand out) and am not even trying to get hired, but putting yourself out there does good things.
KSON? (I'm a complete ignoramus in this area but recently read about KSON in a piece posted here at HN.)
https://ochagavia.nl/blog/configuration-files-are-user-interfaces/
https://news.ycombinator.com/item?id=45291858 (135 comments)
The link to at the bottom update post should probably point here https://ochagavia.nl/blog/solving-the-jit-calculator-challenge/ instead of back to the article