If it's only a cache it should be on EBS, which is still way faster and 2x less expensive.
I started a migration to s3 for such a project (container image caching) but then stopped when I realized what I was doing.
Yes, EBS is the gold standard but managing a EBS to scale up and down instantly, be available to multiple instances, lifecycle management, managing replica, switchover etc. are definitely not easy. And EBS are bad choice when throughput needed is very spiky.
*axum
I migrated a rocket project to axum 1~2 years ago, due to rocket being dead at the time.
Both frameworks contain all you need to build an API really.
But personally I found that:
Rocket is easier for beginners, and once you know what you're doing, Axum is cleaner and better integrated in the ecosystem.
I'm not a lint fascist, but enforcing them gave our team:
- less time reviewing: no more "you forgot to indent here"
- less git conflicts: because of differences in trailing comas, line breaks, ...
- less (to no more) code style debates: the linter is the benevolant dictator
- less time making our code clean, thinking about line breaks: just get it done, the linter and CI will handle formatting !
We use Tempo and python, implementation was super fast, it now permits optimizing our API endpoints.
My conclusion: opentelemetry is great, go for it, find a lib to easily instrument your code
Looks like grammarly but open source, with custom rules and easy to add to CI.
I currently use crate-ci/typos in my CI runs (it's great, humans often miss dumb typos), vale looks like typos but supercharged (but limited to markdown files?).
Typescript does compile time checking only. Almost all TypeScript programs I've seen just decode JSON received and slap an `as SomethingType`.
TypeScript is not strict, so it's easy to write but you can still get type errors.
For instance I am currently trying to file a patch for a TS project. It is advertised as an npm module, which means if you pass a string to a function expecting a number it will happily do string concatenation on it instead of addition. There are no internal checks because TS, but that only works if you call it from TS. Otherwise authors have a false sense of security and make bad decisions.
Looks to me like a vendor specific language with limited capabilities compared to others. Just use Pulumi TypeScript (self hosted).
I'm not affiliated with Pulumi, it's just that unjustified vendor lock-in infuriates me.
You could also use postmarketos, mobian, etc. Have a look at the pmOS wiki for device support, most support USB OTG, and usually you don't need GPU acceleration nor screen/audio/cameras, which are usual pain points.
It's what you get with opensuse MicroOS, you upgrade from snapshot to snapshot that are released regularly. I think silverblue works the same but opensuse is easier.
I also use Tumbleweed on personal servers, never had issues.