3 ms·
Ask HN: How do you handle server install of a web app for customers?
If you provide a web app to customers that they can host themselves, how do you ensure they can easily install your app on a server? (By server, I'm referring to either an internal company server, or a server provided by a hosting provider, including shared hosting options.)
Have you managed to make the deployment process easy enough that your users can install the app by themselves?
Or do you handle the server installation on behalf of your customers?
I'm particularly interested in your experience of letting users install a web app by themselves. Do you have to provide copious amounts of documentation?
My impression is that server installation is needlessly complicated. It's no wonder SaaS solutions are so popular.
I'm learning Python at the moment, but PHP seems to be the only language where installation (even on shared hosting plans) is as simple as uploading files to a folder and that's it.
Is it possible for web apps written in other languages to be installed as simply as this? PHP's huge advantage is that you can shop around for hosting from hundreds of hosting providers. For a customer, that equals lots of choice in where to install your app if you don't have your own server.
I'm aware of sandstorm.io, but it's more of a hub or container for other apps, and installation is not something an end-user could do.
If you're a developer who doesn't want to provide a SaaS service (or wants to provide a self-hosting solution in addition to a SaaS one), a simple installation process for your customers should be a big win. But the needlessly complicated process of server install makes this difficult to impossible.
Thoughts?
- paktek123 10y agoDepends how you want to distribute it. You can provide the web application via a package manager (apt, yum, pip etc). If its infrastructure related maybe provide a puppet, chef or ansible module. Documentation is always good as complementary to the above. Hope this helps.
- open-source-ux 10y agoThanks for the suggestions. I was thinking of options for less technical users e.g. here is a zip file and install script. Upload these to a folder on your web server and then open this URL in your browser (e.g. /install.html or /install.php) to start the installation. Even this would probably be too complicated for some users. Are such types of installs simply unrealistic for many languages? Or, rather is it unrealistic to expect non-technical users to install web apps even if step-by-step instructions are provided?
- paktek123 10y agoI'd say depends on what operating system is being targeted. If its windows then creating an installer will be good enough. On Linux using package managers is the norm. It doesn't matter about the language as such, python is only preferable simply because it is widely available on Linux (although that's changing now). I'd personally never trust a zip file from the internet that tries to install something with /install.html or /install.php unless I know its from a trusted source.
- deleted 10y ago[deleted]
- deleted 10y ago[deleted]
- deleted 10y ago[deleted]
- brudgers 10y agoContainers and virtual machines are common ways to address the deployment of software environments at the systems level by providing a standard interface. These have the advantage of being language agnostic (particularly for products that are written using heterogeneous languages). Another advantage is that container and virtual machine technologies are largely commoditized, relatively inexpensive, and have somewhat standardized interfaces across implementations. Another way to handle it is to ship the software already installed on hardware provided by the vendor: call this 'The Appliance Strategy'. In this case it's all provided as a black box. Network hardware such as routers and switches are examples of software commonly distributed as an appliance. Good luck.
- simplehuman 10y agohttps://cloudron.io https://cloudron.io ?