4 ms·
Simple question to the founders, in a world where software is increasingly the sum of not just code, but cloud services and APIs; how does Sandstorm scale to re
by ykumar6 11y ago
Simple question to the founders, in a world where software is increasingly the sum of not just code, but cloud services and APIs; how does Sandstorm scale to real-world SaaS? Are you going to require your users to configure lots of API keys and services manually and manage these vendor relationships?
How does Sandstorm create an update-model for SaaS when developers are deploying hundreds of changes a day?
I like the idea, but I wonder if this idea would have worked better in an era when software wasn't always continuously evolving to the needs of customers
- kentonv 11y ago> how does Sandstorm scale to real-world SaaS? It doesn't! Sandstorm is the anti-SaaS. Sandstorm is all about running fine-grained instances of apps (e.g. a separate Etherpad instance for every document) in a decentralized way rather than huge centralized "scalable" SaaS apps. Supporting SaaS-style apps is explicitly a non-goal for us. Sandstorm is meant for people hosting personal servers for themselves or for businesses hosting corporate-internal apps for their employees; generally not for external-facing apps. It turns out that decentralized apps are trivial to scale, without any fancy distributed systems architecture. > Are you going to require your users to configure lots of API keys and services manually and manage these vendor relationships? No. "Managing vendor relationships" is not a thing that one needs to do in Sandstorm's usage model. Sandstorm apps are generally self-contained; they include all their code dependencies directly in the package, including the full stack of front-end, business logic, database, etc. The only time a Sandstorm app needs to reach out to other apps and services is when the app logically needs to interact with other objects. For example, imagine a chart app which renders charts based on the contents of a spreadsheet (another app). These apps need to be connected, but this kind of connection makes logical sense to an end user. They know what a chart is, they know what a spreadsheet is, and they know they need to connect them. Sandstorm will provide something we call the "powerbox UI" to allow users to create these connections in a user-friendly way. https://docs.sandstorm.io/en/latest/developing/security-practices/#capability-based-usable-security https://docs.sandstorm.io/en/latest/developing/security-prac... > How does Sandstorm create an update-model for SaaS when developers are deploying hundreds of changes a day? It's like mobile. You ship an app to the app market, and then users get updates from there.
- ykumar6 11y agoMakes sense, but mobile developers have realized why this update model is a problem, and have created frameworks that wrap content served up by a server. It gives them the ability to continuously iterate.
- mnutt 11y agoWhile I'm sure there's certainly some refinement to be done on how app updates work, Sandstorm explicitly closes the WebView loophole. An app you run doesn't have access to make backend network requests or frontend javascript requests unless you grant that permission. So it's not really possible to build an app that pretends to run on your server but is really just a wrapper for a SaaS.
- ykumar6 11y agoAlso, are business style corporate/internal apps going out of existent when they are faced with a fierce SaaS company competing for that business. It's almost like the SaaS DNA is to move very quickly (break things) and react to customers. If your developers cannot continuously deploy to their customers and make changes behind the scenes, how will your developers compete with a Slack? Is your only value proposition data security?
- kentonv 11y agoDevelopers on Sandstorm don't have to maintain infrastructure. They don't have to protect and back up user data. They don't have to implement authentication, sharing, document management, search, etc. They don't need to think about consensus algorithms or distributed infrastructure problems. They can relax their security diligence as many common security bugs are mitigated by Sandstorm itself. A guy in Turkey and a guy in France working in their free time built Wekan, a Sandstorm app that easily replaces Trello. Two people in their spare time vs. a whole funded company. There is no way that they'd be able to build and run a SaaS service competing with Trello -- and no way I personally would use a service run by two random guys in their spare time -- but building a Sandstorm app was no problem for them, and has been incredibly useful to me. To me the question is: how will SaaS developers be able to compete against Sandstorm developers that can build apps so much more easily?
- ocdtrekkie 11y agoI feel that the *aaS model is obsolete. I don't think it was ever particularly good in the first place, but it was convenient, and of course, quite profitable for the providers. But it has security problems, privacy problems, and leaves users out of control of the platform they are using. And in many cases it's an excuse to charge a subscription fee for something where a one-time charge will do. Service-oriented infrastructure is a distinctly consumer-unfriendly way to operate. In an age of poor Internet speeds and insufficient PC processing power, the 'cloud' may have briefly made sense. But I think we're well past the point where it does, and consumers should have better options. The great part about Sandstorm (to me), is that people happy to have cloud hosting services, can, and people who want to self-host, can, and both can use the same apps and software without a problem. Companies that want to pay for a managed hosting service can, and companies that want (or need) everything on premises can, and they can both use the same apps and software.
- ykumar6 11y agoI look at things through a different framework. The products that end up winning in the very competitive world of software are the products that evolve very quickly. Almost all the value creation that's happening in the cloud is about enabling agility, and very fast release models. Agility is far more valuable then the time/effort it takes to maintain these apps. Agility is the ability to launch a new product or feature faster than your competitors When agility is no longer valuable to a business, they already have a dominant position in the market or have been disrupted by something else.
- ocdtrekkie 11y agoBut is that agility good for consumers? In my world, it's not. I deal with a lot of seniors, and you know what they hate? How people in Silicon Valley feel obligated to move stuff around every six weeks. In fact, most people not in Silicon Valley hate it. And something like Sandstorm puts the user in control of whether or not their stuff changes. Someone can have auto-update on, and have the latest everything, and someone else, even on the same server, can choose to keep a stable version that does what they need.
- ykumar6 11y agoAlso, there is this notion that somehow open-source solutions are competitive with SaaS solutions. Give me one example where the distribution or usage of an open-source solution is comparable to it's SaaS competitor People misunderstand what open-source really is. There is a selfish reason to maintain open-source projects. Developers are above fixing their own problems when working on open-source. This is the only reason companies and developers invest in open-source. Hence, the type of projects that become massively successful are components, frameworks or platforms... things that are re-usable for the solutions or apps these developers are creating for their companies. There is real economic value being unlocked there. Recent examples being Docker, AngularJS, etc that are supporting by lots of companies Creating an app or solution is a whole different ballgame. They are usually side projects because there is little or no incentive for a company to take away resources from building their own apps/solutions, to save a few bucks.
- ocdtrekkie 11y agoI think you just noticed what Sandstorm is, in part, created to do: Make open source solutions competitive. Sandstorm, as-is in beta, already allows me to do more than I can do with Google Drive. To my needs, it's not just competitive... It's winning.
- ykumar6 11y agoI am very interested to know what are the specific capabilities that you are able to unlock that Google drive can't deliver upon.
- ocdtrekkie 11y agoWell, first of all, I can run the sorts of apps directly on Sandstorm that I might otherwise have to order AWS or GCE style hosting for. I can publish a website out of this as Drive is actually retiring that functionality. Also, unlike many Drive apps, where I have to share my information with a third party provider, or "trust" the app, Sandstorm doesn't let my apps betray me. Privacy is inherent in the design. But the key thing, is if I don't like my host, I CAN LEAVE. I am at the point that I loathe storing my data with Google. I love Gmail, and I wish I could take it with me and put it on a server run by a company I trust. But I can't do that. With Sandstorm, I can. I can run the app I want on the host I want. I have control of my app, my experience, and my data. Google ruins my experience on a weekly basis. They change things without my permission that breaks my workflow and makes it hard for me to go about my day. I KNOW my Sandstorm hosting will do what I want it to do. Google can't do any of this for me.