Hi Kevin,
Thanks for reinforcing my belief in Chef.
The deployments and nodes are managed by a single admin team as the customizations are hosted and managed by us.
My worries were mainly about managing the databags/environment specific values - but a bit more of googling led to me believe that this is one use of environment variables/databags.
Until we move to a situation where complete files can be managed and pushed out for each stage and client I think it is OK to map a node to a given customer and stage and keep the config values there.
Only hurdle to cross is finding a cookbook/recipe which would handle prop and xml file edits-clumsy but something we have to do.
I was afraid our usage was more of a wrapper on ANT like approach - something that chef enthusiasts might question.
~Vikas
It sounds like chef is indeed a good choice for you.
The only question is how isolated the environments need to be. Generally speaking, you would probably want to set up ONE chef server for all your clients. That means that each client can see the configuration information for all the other clients.
You could also set up a separate chef server for each client. It can be difficult to keep all these servers consistent, though.
Or you can use a single Chef server with multi-tenant support to ensure isolation. The hosted chef server supports it, and I hear that the new version chef server 12 also has that feature.
Kevin Keane
The NetTech
Our values: Privacy, Liberty, Justice
See https://www.4nettech.com/corp/the-nettech-values.html
-----Original message-----
From: Vikas Roonwal < " target="_blank"> >
Sent: Monday 10th November 2014 22:43
To: " target="_blank">
Subject: [chef] Correct use of Chef
Hi,
This is more of a newbie's confusion than a dev's request for help. Just trying to ascertain if Chef is a good choice in the given scenario.
I am part of a services team which customizes a product for client usage.
There are multiple clients and each has their own environment for QA, Staging, Production and Dev.
Since the customization is done on a similar product the build and deployment options are same across.
We have been using ANT and Shell Scripts till now - with a lot of manual intervention and have looked at chef.
Are the following assumptions and usage pattern correct -
1. Create 1 environment per customer + environment [QA, Staging,etc.]
2. Tie the servers/machines or nodes to these environments
3. Use Environment specific databags or properties to pass config data to nodes
4. Enable different teams like DB, Networking to populate the relevant config values
5. Get each node to install required apps like JBOSS, MySql, etc. and update the config files based on entries in databags [ basically edit xml or prop files]Any insight or pointers to user experience would be of great help.
Thanks,
Vikas
Archive powered by MHonArc 2.6.16.