I'm a big fan of Kenton Varda's work, but my problem with Sandstorm is I don't understand how it's conceptually different and better than, say, Docker.
* Provides a command line interface to manage containers (containers being, essentially, linux kernel namespaces, groups and a union file system, all brought together).
* Each app needs to provide its own auth.
* You need some orchestration in place to deploy and manage your apps.
* Ultimately, it requires _technical work_ to spin up applications.
Sandstorm:
* Provides a web interface for:
* Fetching/installing packaged apps.
* Exporting data, so you can trivially move hosts.
* Unified authentication: you log in once, and then you can access any app.
* Apps only take up server resources while you have a tab open.
* _Uses_ containers behind the scenes, but that's not the selling point.
A metaphor: you can think of Docker as being a bare bones OS, and Sandstorm as being that OS _plus_ a unified app store. As a non-technical software user, that app store makes the OS accessible to me - with a couple taps, I can have all sorts of new tools installed and ready to be used, all without ever considering memory models, network firewall rules, command line invocations, etc.
So, if you're a writing software and you need the flexibility of orchestrating containers, firewalls, auth, etc, then Docker is what you want. If instead, you just want to be able to edit documents, send emails, read your RSS feeds, etc, then you want to click a couple buttons and have your apps ready to go - you don't really care _how_ it's implemented, you just want your apps.
Great! After this discussion, it's clearer to me that Sandstorm is "user-friendly [Docker]/[containers for web-apps]".
I think I was misled when Kenton repeatedly pointed out how, with Sandstorm, disappearing SaaS wouldn't be a problem. This implied that there was a relatively an easy way to take an existing web-app and turn it into a Sandstorm App. I now realize how naive that impression was, as making a Sandstorm App actually requires adapting the webapp to Sandstorm, which requires development work and access to the source code.
Which, as someone who is perfectly able to rev up a virtual server and install some web-app, including configuring it to use some shared auth backend, isn't as groundbreaking as I hoped for.
Sandstorm is a great value proposition for the reasons you cite, just not the amazing unicorn I unrealistically expected.
> Which, as someone who is perfectly able to rev up a virtual server and install some web-app, including configuring it to use some shared auth backend, isn't as groundbreaking as I hoped for.
While you may be capable of doing that, you are part of a very small set of people. We aren't going to see a revolution where everyone starts using self-hosted applications unless everyone is in fact capable of doing so. And without a large userbase to attract developers, the apps you are running on your personal server will never rival SaaS competitors in quality or variety. That in turn means that even people who are happy with the difficulty of self-hosting today have a lot to gain...
Yeah, I had read that and came out unsatisfied. Back then I was hoping that Sandstorm was fundamentally different in a better way, but it turns out to be that it's "just" a different solution using the same kernel-provided facilities as Docker uses, in order to provide a more user-friendly container solution.
On second reading, that post does actually answer my original questions, I guess I was hoping for something different back then.
I'm not sure, I think I was hoping that the guy who gave us Cap'n Proto would come up with a novel and awesome approach tocontainerization. :)
But to come up with some differentiation aspects: was it using Linux containers or lower-level virtualization? (it's using containers). Did it provide a powerful new way to automatically containerize an app? (it's not automatic)
Yeah, the goal wasn't to create a novel and awesome approach to containerization, but rather a novel and awesome approach to web app hosting and deployment. Containerization is just a tool towards that end.
I feel like everyone fixates on the containerization aspect mostly because Docker is hot right now and containerization is all they do. It's hard to get people to understand that containerization is not the point of Sandstorm. Putting servers under the control of end users is the point.
I mean no disrespect, but purely from how you phrased this - I hear things said of this form a lot - this sounds more like your problem than Sandstorm's.
That's quite valid :) However considering Sandstorm was crowdfunding, and I was interested in their idea and so did a minimum of reasearch and followed all their posts, I'll retort that in this case, it's their problem.
As a counter-example, it was pretty clear to me what Cap'n Proto improved over ProtoBufs.
perhaps, but assuming Sandstorm is a commercial venture and desires to make money, it IS their problem to educate prospective customers on their value proposition. we know what docker does.