3

We have developed a web application running on Linux that is quite popular. We now wish to release it as an appliance so customers can run it internally on their own networks.

We are unsure of the best approach. We are flexible on areas such as: the Linux distro, whether it's a hardware or software only appliance. Does anyone have any advice on the best way to go about this? Links to any good resources on the subject? Questions we should be asking ourselves? Legal considerations for a commercial app? Security considerations?

UPDATE:

It's a Python based web application. We would like the user to be able to do everything via a web interface. No command line stuff etc.

Altair
  • 31
  • 2
  • Pleases consider that many networks ops don't like appliances in their network, especially if they know, that a full-blown Linux is running on them AND that they have no root access to the box. This is because they have no way of knowing if the box configured in a secure way (which is often not the case). This is not a problem for small business but if you aim on larger corporation too, you should always give the user to opt-in for root access. – Martin Thurau Feb 02 '11 at 10:13
  • Good point - my concern with this is that they mess things up and then we have to sort it out. Something we just have to live with I guess. – Altair Feb 02 '11 at 10:23
  • "running on Linux" and "No command line stuff etc." There is no Linux Admin on the planet who will tolerate an all-web, no-command-line interface. Have you talked to read Linux sysadmins about your plan? Have you canvasses potential customers? – S.Lott Feb 02 '11 at 11:02
  • Not really no. Customers have just said they would like a version they could run on their networks. I guess I was thinking about appliances like wireless routers that are Linux based and do pretty much everything via a web interface and they seem to be accepted or perhaps they aren't? – Altair Feb 02 '11 at 11:34

2 Answers2

1

I know when Github needed to do something similar, they contracted with a company who specializes in building installers called BitRock.

If you want to develop the solution yourself, you can't go wrong building a Debian package (or RPM if you prefer). That's what most linux system admins would be comfortable with, and there are very well-known ways to give them a mix of customization/control while also making the process easy to manage on your end. That gives you and your users a very well-known update path as well.

Unless you have had very specific requests from customers, I would shy away from a turnkey-style appliance where you provide hardware. It's extra work for you and could be a turn-off to customers. Different business have different needs though, so maybe your client-base doesn't have IT and would prefer an all-in-one solution. Until you ask, you can't be sure though.

Wes Winham
  • 2,080
  • 4
  • 18
  • 16
0

It depends on what langauge/tecnology application is written. If it is java, release war file + tomcat/jboss. If it is python, release eggs. If it is php... not sure, probably just .tar.bz2.

Linux distro or virtual image mught be advantage, but I dislike using them, because they are usually does not fits to my infra (why do I have to install some custom debian-based distro to my rhel-only infrastructure?).

rvs
  • 1,251
  • 13
  • 22
  • We don't want to release Python packages that the user has to install. We want to ship an appliance hardware or virtual that the user can setup via a web interface. – Altair Feb 02 '11 at 10:03