Waste of money in my opinion. I would point you towards other tools - bash scripts and free configuration managers such as puppet, chef, salt, or ansible. Depending on what development you are doing, you may want a continuous integration environment. For a small company starting out, using a free CI, maybe SaaS, is a good choice. A professional version such as Bamboo, TeamCity, Jenkins are almost essential in a large enterprise if you are doing diverse builds.
When you create a VM, you can generally specify a script to run after the VM is mostly created. There is a protocol (PXE Boot) that enables this - a PXE server listens and hears that a new server with such-and-such Ethernet Address is starting. The PXE server makes it boot like a CD-ROM/DVD install, booting from installation media on the network and installing. Once that install is down, a custom script may be invoked. This script is typically a bash script, because you may not be able to count on too much else being installed. However, python/perl are also reasonable choices - just be careful that the modules/libraries you are using for the script are present. The same PXE protocol is used in large on-premises installations (vCenter) and in the cloud (AWS/Digital Ocean). We don't care about the PXE server - the point is that you can generally run a bash script after your install. The bash script can bootstrap other services such as puppet, chef, or salt, and/or setup keys so that push configuration management tools such as ansible can reach the server. The bash script may even be smart enough to do all of the setup you need, depending on what other servers you need to configure. Smart bash scripts are good for a small company, but for large setups, I'd use puppet, chef, salt, and/or ansible. What I tend to do is to deploy things in such a way that puppet (because it is what we use here) can setup things so that a "solradm" account can setup everything else, and solr and zookeeper are running as a "solrapp" user using puppet. Then, my continuous integration server, which is Atlassian Bamboo (you can also use tools such as Jenkins, TeamCity, BuildBot), installs solr as "solradm" and sets it up to run as "solrapp". I am not a systems administrator, and I'm not really in "DevOps", my job is to be above all of that and do "systems architecture" which I am lucky still involves coding both in system administration and applications development. So, that's my 2 cents. Dan Davis, Systems/Applications Architect (Contractor), Office of Computer and Communications Systems, National Library of Medicine, NIH -----Original Message----- From: Susheel Kumar [mailto:susheel2...@gmail.com] Sent: Tuesday, October 20, 2015 9:19 AM To: solr-user@lucene.apache.org Subject: DevOps question : auto deployment/setup of Solr & Zookeeper on medium-large clusters Hello, Resending to see opinion from Dev-Ops perspective on the tools for installing/deployment of Solr & ZK on large no of machines and maintaining them. I have heard Bladelogic or HP OO (commercial tools) etc. being used. Please share your experience or pros / cons of such tools. Thanks, Susheel On Mon, Oct 19, 2015 at 3:32 PM, Susheel Kumar <susheel2...@gmail.com> wrote: > Hi, > > I am trying to find the best practises for setting up Solr on new 20+ > machines & ZK (5+) and repeating same on other environments. What's > the best way to download, extract, setup Solr & ZK in an automated way > along with other dependencies like java etc. Among shell scripts or > puppet or docker or imaged vm's what is being used & suggested from > Dev-Ops perspective. > > Thanks, > Susheel >