39 karma · joined July 24, 2014
This can be solved by building statically (or using something like Nix) or by at least using containers.
A language is released too prematurely -> some companies start to use it -> design problems become clear, but the language is in a compatibility trap at this stage -> e.g. it becomes a swamp or it slowly becomes a monstrosity of design afterthoughts and crutches.
It probably even wouldn't require much more spending from corporations, only some initiative. They anyway already invest considerably in language&toolchain development, but often with wasteful goals.
- what happens if this stuff fails (and how to test it, how to analyze it)
- what attack surface that stuff has
- how to scale if it receives x10 requests or becomes x10 bigger
- how can you explain to a new coworker how it works, how all the decisions were made
It will rapidly give you the real understanding and practice. System design is about dealing with problems, making compromises. It is very hard to make an effective book (probably even impossible - it should probably be an interactive course at least) that will walk you through this process, not just throw a bunch of "patterns" at you (which is not useful and can infect you with the shallow cargo-culting that our whole industry is so full of).But if you use the cloud carefully, selectively and avoid vendor lock-in as much as possible, you will be OK and it will be not hard to move to Hetzner (dedicated) incrementally later.
But probably it's still a good idea to use them.
I would very much like to use Podman as a finally proper container launcher in production (non-FAANG scale - at which you maybe start to need k8s), but having an unnecessary daemon moving part in thousands lines of C makes me frown so far.
In reality eyes can adjust the "exposure" on the fly because they recieve all the needed information always. But in a displayed digital image this information is already lost - eyes don't recieve all these bits, the display doesn't send them.
In the editor you can adjust the "exposure" for the RAW files too - they have the needed information - but! - it is not a static image, because you are adjusting it, you are sending continuously different information to the eyes.
https://github.com/fastos/fastsocket#nginx
>on Linux 2.6.32 achieves 470K connection per second and 83% efficiency up to 24 cores, while performance of base 2.6.32 kernel increases non-linearly up to 12 cores and drops dramatically to 159K with 24 cores. The latest 3.13 kernel doubles the throughput to 283K when using 24 cores compared with 2.6.32. However, it has not completely solve the scalability bottlenecks, preventing performance from growing when more than 12 cores are used.