thomask1995
Joined 9 years ago
Joined 9 years ago
Here are some of our differentiators:
- built with running in sandboxes to give users more flexible CPU and memory settings per DO
- declarative SDKs in Typescript/Python
- generated type-safe clients (no outer worker needed)
- built in debugging UI
- durability guarantee is using GCS rapid or other cloud technology for fast writes without having to manage a fleet
Happy to go more in detail as well!
I love the idea of tossing a decorator and modifying the durability guarantees.
Also, swift @sendable is really sweet, also want to add that in and flag when state data is about to leave the actor.
Actors really were a life saver at Apple. Agents are like what threads were to us on iOS
Do you have a reproducible set up I can try out to see this latency? We would love to offer an option to have 1ms writes
Celld is pretty cool in that you can configure a small fleet in the same VPS and get super fast durable writes (with a weaker guarantee). We are also going to allow you to tweak the durability guarantees so you can manage that trade off yourself!
Our biggest differentiator is the configurable compute. With our helm chart, you just add a decorator and can specify how much RAM, CPU etc... an actor class has.
We are pretty opinionated on how to host these. The helm chart gets you a fully horizontally scalable deployment.
thanks for the question verst. durable actors manages durable state, not durable execution. Azure Durable functions, temporal, aws lamda durable functions are for managing execution. each actor has its own sqlite DB and runs on one host at a time. Clients call it via RPC or Websocket message, changing state and actor pushes state changes back to every client. product is more similar to cf durable objects or orleans.
i took a look at durable entities, state model is similar but they don't support websocket handling.
Since we are so early, we can build this the right way. I agree, I think we need something you can set up to sync to a data lake. I started really simple with exporting at certain times, but I think there is more to do here.
I really want to nail this part of the experience. I agree, it is a big sticking point
We are actually a different API. I come from writing swift for 7 years (I was at apple) and really thought they nailed the actor model so modeled ours similarly.
Also, we make it really easy to configure each actors compute with just a decorator. So if you want to do something beefy like store file directory in an actor you can increase the memory to 4GB and you are good to go!
Happy to go into more detail here as well!
Want to make this the best product possible
Based on certain actions, choose a set of components to render. Want to give that a go once I get a chance.