3 ms·
Yes, there are certainly some patterns that become challenging under the grain model (and some patterns that become easier). Note that nothing is impossible. Y
by kentonv 11y ago
Yes, there are certainly some patterns that become challenging under the grain model (and some patterns that become easier).
Note that nothing is impossible. You can always connect grains to each other using the powerbox (when it's ready, which will be very soon). Of course, if nearly every grain of some app needs to talk to all the others, that will get tedious. So the next thing you can do is fall back to course-grained apps, or write an app that creates its own grains internally and therefore can talk to all of them if it needs to. In this case, you're giving up a lot of the advantages of the granular model, but you gotta do what you gotta do. What you end up with is no worse than the status quo, at least.
With that said, in practice we have found that aside from a small set of common features -- e.g. search and backup -- these kinds of problems really don't come up much. Most kinds of inter-grain communications do in fact fit nicely into the powerbox model. By adding platform features to cover the things that don't fit, we can cover, say, 90% of use cases without compromising the model, and that's a pretty big win.
And frankly, these features usually make far more sense as platform features than as app features anyway. A search index that covers all your apps is a lot more useful than having to search each app separately. A backup system that backs up all your apps is one you'll be much more likely to actually configure. Etc.
Also note that these kinds of systems that need access to "everything" are a security liability, and so probably not the kind of thing that you want every app implementing in their own special way. By moving them into the platform, we can make sure they are designed with restrictions that make them secure. For example, the backup system should only get access to encrypted copies of data. The search index should be prohibited from exfiltrating data in any way except as search results displayed to the user. Etc.
Anyway, the point is, yes, there are challenges, but with a pragmatic approach, they can be minimized, and the gains far outweigh the losses.
- augb 11y agoDo you see sandstorm as ever hosting medium-to-large scale, externally-facing websites (as opposed to personal or intranet-type sites)?
- kentonv 11y agoSome day, yes. However, for now we are focused on the use case where the infrastructure reports to the user rather than the developer. Developers ship packages, users choose where to run them (whether on their own machines or a cloud host). We feel we have a lot more value to provide in this use case than we would have in the SaaS infrastructure market. Also, if we can make it just as easy to use apps on a user-controlled server as it is to use SaaS, then SaaS no longer makes sense -- it's biggest selling point is that it's easy. I believe a shift back towards more decentralized infrastructure would be a very good thing, so that's what we're aiming to create.
- augb 11y agoThank you for your reply. > I believe a shift back towards more decentralized infrastructure would be a very good thing, so that's what we're aiming to create. I definitely agree. Thank you for your leadership in this direction.