e2core
e2core copied to clipboard
Atmo over IPFS?
I've been tinkering with Atmo and some of the suborbital modules (specially Reactr) for a few days, and I love what you are building. I have been flirting myself with a similar idea to your SUFA design pattern but as a way to enable global computation over content-addressed decentralized networks (i.e. IPFS).
The basic idea is that if every peer in a decentralized network includes a common runtime, and all functions and data are uniquely identified in the network, you can run anything, anywhere. And the fact that content-addressed networks give a CDN-by-default capability, would allow an IPFS-based Atmo to scale seamlessly as long as is a peer with available resources to run your bundle. This would enable a global serverless infrastructure and a seamless developer experience (no more worrying about what cloud provider to choose).
The Atmo architecture could be adapted so that we have:
- IPNS names to register the root for function handlers of an application.
- An embedded Reactr runtime in every peer.
- Local coordinators to schedule jobs from local or remote peers.
- Global coordination to track available resources in the network (leveraging, for instance, Gossipsub)
I did a quick proof-of-concept of this idea for a hackathon before I learned about Atmo (code here, and presentation here) just to realize that some of the modules and challenges a system as the one I envision would require have been already hacked and tackled in Suborbital.
What are your thoughts on decentralizing Atmo? Would an Atmo over IPFS make sense? Would it be worth the effort? I would love to gather opinions 🙏
(I am also planning to actively contribute to the Suborbital ecosystem as far as my free time allows it in order to get familiar with the base code and the technology. I would also love to get some insight about things that may be needed and that I can start getting my hands dirty with.)
@adlrocha I love all of this very much!! Thanks for taking the time to try things out. I'd love to discuss these ideas more. I think the most productive thing would be for us to have a call, and then perhaps summarize the discussion here in the issue? If you're down, feel free to DM me on Twitter (@cohix) or email me connor @ suborbital.dev to set up a time :)