Hacker News new | past | comments | ask | show | jobs | submit login
SwimOS: Distributed platform for building stateful, real-time streaming apps (github.com/swimos)
83 points by yoquan on April 20, 2020 | hide | past | favorite | 15 comments




Nice work! For those interested in similar projects, microsoft Orlean (.NET core) and Tarantool Cartdridge (C/lua) were bringing very nice concepts when I searched for a robust distributed platform for applications a few months ago. https://dotnet.github.io/orleans/ https://www.tarantool.io/en/doc/2.3/book/cartridge/


Is there any paper describing the concepts behind this project ? Is this seems very similar in its goals from the OTP architecture (from a distance), i’m curious to understand more about the first principles that guides the design.


"Any sufficiently complicated concurrent program in another language contains an ad hoc informally-specified bug-ridden slow implementation of half of Erlang."

They do tag their project as "actor-model" so there is some similarity. However I see their communication model is designed to be more protocol agnostic.


Funny thing is that a distributed, resilient, asynchronous message passing program in Erlang, is their equivalent of a "Hello World". It's so natural, and so well baked into the runtime itself, that it's hard to do something different.

Good for the SwimOS folks to keep working in this important space, but I would have expected at least some mention of Erlang/OTP in their site, if nothing else, to understand the difference in approaches.


More (and clearer) documentation coming very soon, but here's a good start for the basic SwimOS concepts (Web Agents, Lanes, and Links): https://www.swimos.org/concepts/


For what does OTP stand for? Would like to google it.



Open Telecom protocol....the name is basically meaningless but I'm guessing ericson had no way of know how genetically useful it would end up being at the time.


Looks very cool, and I bet it works great, but that is a lot of technology stack to learn, adopt, and trust to solve all my problems without being too complicated.

I feel like user adoption will be hard earned because it is such an integrated and new solution.


@integrii There's a bit of a learning curve, but more than worth it to build real-time apps like traffic.swim.ai and transit.swim.ai

Quickest way to get started it here: https://www.swimos.org/start/


This is super cool!

I’ve been idly thinking about something like this for a while so it’s cool to see it actually exists.

Has anyone used this? If so what’s it like, performance and ease of use? Are there any similar projects?


Scale and performance and the primary benefits of the SwimOS architecture. We've run the entire traffic.swim.ai application (monitoring real-time events from traffic infrastructure) for the City of Palo Alto, CA on a Raspberry Pi, for demo purposes. Most apps we use SwimOS for are at the scale millions/events/second and distributed across many machines.


can someone explain how persistence work in swimOS. Some kind of distributed database running on each node ?


@skyde SwimOS apps are interconnected graphs of Web Agents (stateful objects that persist relevant state locally). They subscribe to peers via streaming links to receive event updates in real-time. You can read more about Web Agents here (https://github.com/swimos/swim) and here https://www.swimos.org/concepts/agents/




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: