4 ms·
That's pretty amazing how quickly I can install and use an app. It's instant as far as I can tell. This makes me wonder - how difficult would it be to take a sa
by nobodysfool 12y ago
That's pretty amazing how quickly I can install and use an app. It's instant as far as I can tell. This makes me wonder - how difficult would it be to take a sandstorm app and migrate it to the internet? And how difficult is it to migrate an app to your platform?
- kentonv 12y agoSandstorm uses a native-code sandbox on Linux which can run standard Linux binaries, so generally porting an app to Sandstorm is pretty easy. Most of the work is actually in removing the app's existing login system and relying on Sandstorm's authentication instead. David touched on this in his post about porting ShareLaTeX last week: https://blog.sandstorm.io/news/2014-07-25-sharelatex.html https://blog.sandstorm.io/news/2014-07-25-sharelatex.html Most of our existing apps are actually ports of existing open source Linux-based servers. Most were ported by Jason Paryani over the last month, which tells you how easy it is. This includes apps written in PHP, Python, Node, etc. Note that the dev tools (and all the platform source code) are available to anyone. There are some WIP docs on the wiki: https://github.com/sandstorm-io/sandstorm/wiki https://github.com/sandstorm-io/sandstorm/wiki It's probably actually harder to port _away_ from Sandstorm simply because you have to add a login system and other such features. Adding is a lot harder than removing. :)
- nobodysfool 12y agoBut I see on some I can download data - couldn't I just port away by copying the data over? Anyway, this is wonderful. One more question - web2py?
- kentonv 12y agoOh, maybe I misunderstood. I thought your question was about porting code, not data. It's actually incredibly easy to move your data between Sandstorm hosts. Unlike, say, Google apps, Sandstorm apps are not tied to the hosting, so you can change hosts while still using exactly the same app. You can also run Sandstorm on your own machine if you want (it's open source). Porting data from a Sandstorm version of an app to a non-Sandstorm version is also relatively easy. If you click the "download a backup" button, it's just a zip file that contains the app's database in whatever format it uses. But, how exactly to set up the app outside of Sandstorm depends entirely on the app. Regarding web2py: I don't know much about it, but I assume it runs on Linux so it should work fine for writing a Sandstorm app...
- nobodysfool 12y agoWeb2Py is a python-based website, like django, but it's a bit different. Since you say you are passing an authentication header, I don't see how it could work with Sandstorm, since it wouldn't really be used as a one-user app anyway.
- chatmasta 12y agoSo the apps on the platform are essentially forked versions of open source apps. If you're editing the authentication system, which I imagine can introduce some heavy dependencies, how do you plan on handling updates from the original developers? Presumably there will be manual labor involved with merging the origin master branch into the Sandstorm app. Do you plan to do this yourself? Nice implementation.
- kentonv 12y ago> If you're editing the authentication system, which I imagine can introduce some heavy dependencies... Not really true. Sandstorm acts as a proxy in front of the apps and adds headers which identify the user. It takes very little code on the app side to read these headers and use them rather than use the app's own authentication. That said, we do have some changes which we'll have to rebase from time to time. Eventually we hope that app developers will be interested in maintaining these changes themselves and explicitly targeting Sandstorm, but that is probably a ways away still. In the meantime, maintaining the edits doesn't seem to painful.