Ask HN: How to create a on site version of my SaaS?

1 points by jorgecurio ↗ HN
I have a SaaS built on open source software.

I want to provide a package that they can install on their servers.

Some customers want to run the entire infrastructure inside their own company.

What is the best way to do this? Create a virtualbox image?

6 comments

[ 3.1 ms ] story [ 22.7 ms ] thread
I have had to think about the same issue. The best idea I got was to use a Docker image. The database can be created and maintained external to the Docker VM.
that's a very good idea.

is it possible to encrypt/secure it somehow from being pried open?

The database or the Docker file? Depends on the software, but locking down the database system is probably easy. I'll bet that is all you need. Locking down Docker is harder and makes less sense to me.

My application uses a secure HTTPS connection and does the decryption on its own. What this means is that the executable is useless to anybody else but that one enterprise customer.

I'm worried customer will poke around in it, and decide to steal whatever is in it.

Mind you that I am literally handing over the engine wrapped in plastic.

Last thing I want is customer becoming a competitor.

I suppose it depends on the application. Mine is in a compiled language. Hard to reverse engineer. If yours is in an interpreted language like Python, there might be a source code obfuscator that you can apply.

Do not underestimate the value of your expertise. Even if they had the source code, the chances of a paying customer becoming a competitor is low. Again, I suppose it depends on the application.

.ova container that the client can load in their virtualization environment. A way to install it in a fresh VM or a on physical box. Nothing to fancy, stick to stuff your clients likely can deploy easily. (As in, requiring virtualBox or vagrant or ... which is uncommon for production environments creates unnecessary work for them, and you don't want that)