Surprisingly, 3GB is a real practical RAM limit for aws lambdas in 2025: you can only have more than that if you submit a support ticket. But it's not really mentioned anywhere in the docs.
> If you don’t upgrade to a paid subscription, Docker will retain your organization data for 30 days, after which it will be subject to deletion. During that time, you will maintain access to any images in your public repositories, though rate limitations will apply.
Doesn't it mean that in 60 days all the public repos for the org will be wiped completely?
Findify is a small and stable scaleup doing ML based search and personalization for e-commerce. We’re a fully remote company with an engineering team distributed across a number of different countries in CET +-2 time zones.
This is a great role for somebody who wants to have a lot of impact and take a lot of ownership over the work. We are seeking an open minded and enthusiastic DevOps engineer to lead and scale our DevOps team, the infrastructure and developer experience, and to help our clients (1500 stores in more than 50 countries) succeed.
Responsibilities will include managing a mix of multi-tenant and single-tenant microservices, leveraging GitOps and Kubernetes heavily; building and maintaining Findify's monitoring, alerting, CI and CD flows; expanding and improving our Terraform and Ansible efforts; planning our infrastructure roadmap, designing, developing and rolling out new services and changes.
The same question can be asked about JavaScript, but it's still one of the most popular languages in the world :) It's a common wisdom to use a language you know best for an MVP - that's the main reason it's Scala.
And it's not a framework, so you don't really need to write/read any Scala to play with it.
As people with heavy e-commerce background, we feel that the main pain point of typical old-school offline personalization solutions is that 80% of customers in medium-sized online stores are coming only once:
* you have a very short window to adapt your store, as the visitor will never come back in the future.
* even if you have zero past knowledge about a new visitor, there is still something to compare with other similar visitors: are they from mobile? Is it ios or android? Are they US? Is it a holiday now? Did they come from google search or facebook ad?
* this knowledge is ephemeral and makes sense only within their current session. But a visitor can still do a couple of interactions like browsing different collections of items or clicking on search results, and it can also be taken into account.
But compared to Amazon and Google, it's you who define which features should be used for the ranking and how long they are stored (see the "ttl" option on all feature extractors in our docs for details).
For example, here is https://github.com/metarank/metarank/blob/master/src/test/re... the config of features used in the movie recommendations demo - in a most privacy-sensitive setup you can just drop all the "interacted_with" extractors and will get zero private data stored for each visitor.
Right now it runs in a dev-mode on a single EC2 t3.large instance with loadavg ~0.30, but the inference load is quite tiny right now: around 3-4 reranking requests per second. And yes, as a typical open-source project it still crashes from time to time :)
There is an option to run this thing in a distributed mode:
* training is done using a separate batch job running on Apache Flink (and on k8s using flink's integration)
* feature updates are done in a separate streaming Flink job, writing everything in Redis
* The API fetches latest feature values from Redis and runs the ML model.
The dev-mode I've mentioned earlier is when all these three things are bundled together in a single process to make it easier to play with the tool. But we didn't spent much time testing distributed setup, as this thing is still a hobby side-project and we're limited in time spent developing it.