Docker Community Forums

Share and learn in the Docker community.

Docker VS InstallShield?

docker

(Dlou) #1

I have no Docker experience, I am an InstallShield Developer. I was looking to see when the next version of InstallShield would be released, and found this link…https://community.flexerasoftware.com/showthread.php?223401-InstallShield-2017-or-next-version&highlight=2017, where it mentions Docker.

So, I am asking here if Docker is, or will be, replacing InstallShield functionality. Instead of sending out an installer setup created by InstallShield, that the user would then install on their system, would you instead create a Docker container (product already installed), and instead send that to the customer?


(Sam) #2

well, ‘replace’ is a difficult topic…

installshield helps INSTALL the product…

Docker supports RUNNING product

one of the cool things about docker is that the development ans support teams can create that perfectly configured container
and then the customer/user just ‘uses’ it…

a web server… always configured at port 80 and always wit /var/www/html as the basepath for the web server.

the customer can map the port anywhere they want (or not), and mount their web site source from anywhere.
the container doesn’t change.

if its multiple parts (containers), then a compose file can do the pre-configured wiring between the parts…

and because docker is mostly platform agnostic, the product team doesn’t worry about windows, linux (all versions), aws, azure, wherever… if the customer needs 5 of them deployed, no install 5 times… just start 5 instances… done…

cause YOU specify the runtime, and it works.

debug for the customer and developer is setup and consistent.

mo media to ship. docker pull container name, poof…
u ship another version… same details…

the container itself cannot be changed… so YOU KNOW what you provided…

install shield
different OS versions - don’t need that now
WHERE to install - don’t need that now
network setup ports, – don’t need that now
database setup… maybe need a tiny bit of work… (connection string, address and port)

etc,etc,etc…


(Dlou) #3

After I posted this, I thought about updates to the installed product. Sure, you could send out a container with a new version of the product, but how would you handle saving the user DB, and restoring it to the newer product version. Not sure that Docker could handle this.


(Sam) #4

well, careful system design (same as always) says that you would separate the db from the product code, have two containers…


(Dlou) #5

I hear you. It sounds like a lot of product changes would be required to go to Dockers, and at this point and time, I do not see management wanting to spend that money. If anyone has done this kind of thing (put out an installer product using Dockers), that could be looked at, with the documented justification for doing this, I would love to see it.


(Sam) #6

really the install program(per platform) mostly goes away. so, now you have that extra resource to do new doc, but the doc is a lot less complex, no out of disk, spaces in path names, wrong OS version, etc.etc.etc

the rocket scientist developers build it how they think it should be, and that is what you ship in the container…

YOU have to think about upgrade process, saving data, … which used to be a customer problem most of the time.
but if u start with NO modifiable stuff goes into the container (can be accessed via external volumes), it gets a LOT easier…

then all the upgrade path things u do in the product YOU own… instead of the customer… so the complexity burden goes down pretty far…

you move from supporting the install pgm (and all its fun problems), to JUST supporting YOUR product., assuming docker has the function to do what you need, and I think it does overwhelmingly, even if u just use the base containers. (no swarm, no compose, …)
so your staff can focus on product content.

I think it is very compelling…

AND you get platform independence and portability for free. amazon, azure, local, linux any flavor, wherever.
and YOU are in control of the packaging and configuration…

I spent a year at a prior company with over 600 products, creating a diagnostic capture tool to help the customers get the right diag info the 1st time, regardless of product and platform. it also helped the support and dev teams because they had the SAME stuff captured ALL THE TIME…

docker allows you to reduce that to ONE platform one set of diags… all the confusion and mis-steps by the customer and others go away… pretty compelling from my point of view… and you make resources available for the backlog of product features, not support components, not install components, … AND u reduce testing!


(Dlou) #7

Ok, I will point my management to this posting. I (like any developer worth his salt), always want to work with the latest. Thanks for the information.


(Sam) #8

and I would be glad to share my CV and discuss this with anyone. and I am sure we could go thru the backlog and support issues and identify the ones that would go away as a scoping exercise.