Hi I am new to Chef and trying to figure out how to best organise our servers and products into the chef environment. I work for a startup company that has 3 products, all of the products are ruby on rails web applications. So each one is very similar but also they are all also somewhat unique. An example of this is some run in Jruby some run in Cruby some require sphinx some do not.
I am trying to figure out how to best organise these different projects within Chef. I am thinking about creating an organisation for each on in managed.opscode and then share the shared cookbooks but recreate things like roles and data bags for each different product. But, before I go down this path I wanted to check and see if this is the correct way to organise chef or is there a different mechanism that I am missing that would be better suited to this type of organisation?
There's really no reason you should require multiple organizations to
support your applications. Within a single org you can support many
different systems via roles, environments, and the run lists (i.e. cookbook
recipes) you apply to each system. Only the items that are defined in the
run list will be loaded onto your clients.
I would expect, at minimum, that each of your applications would have a
unique role that determined what was needed for that application.
Hi I am new to Chef and trying to figure out how to best organise our
servers and products into the chef environment. I work for a startup
company that has 3 products, all of the products are ruby on rails web
applications. So each one is very similar but also they are all also
somewhat unique. An example of this is some run in Jruby some run in Cruby
some require sphinx some do not.
I am trying to figure out how to best organise these different projects
within Chef. I am thinking about creating an organisation for each on in
managed.opscode and then share the shared cookbooks but recreate things
like roles and data bags for each different product. But, before I go down
this path I wanted to check and see if this is the correct way to organise
chef or is there a different mechanism that I am missing that would be
better suited to this type of organisation?
I agree, I don't see a need to go as far as using different organizations
for this! You should be able to achieve the required level of separation
simply with environments, roles and cookbooks.
There's really no reason you should require multiple organizations to
support your applications. Within a single org you can support many
different systems via roles, environments, and the run lists (i.e. cookbook
recipes) you apply to each system. Only the items that are defined in the
run list will be loaded onto your clients.
I would expect, at minimum, that each of your applications would have a
unique role that determined what was needed for that application.
On Sun, Mar 22, 2015 at 9:28 PM, Joshua Moore <josh@resumecompanion.com
<javascript:_e(%7B%7D,'cvml','josh@resumecompanion.com');>> wrote:
Hi I am new to Chef and trying to figure out how to best organise our
servers and products into the chef environment. I work for a startup
company that has 3 products, all of the products are ruby on rails web
applications. So each one is very similar but also they are all also
somewhat unique. An example of this is some run in Jruby some run in Cruby
some require sphinx some do not.
I am trying to figure out how to best organise these different projects
within Chef. I am thinking about creating an organisation for each on in
managed.opscode and then share the shared cookbooks but recreate things
like roles and data bags for each different product. But, before I go down
this path I wanted to check and see if this is the correct way to organise
chef or is there a different mechanism that I am missing that would be
better suited to this type of organisation?
I agree, I don't see a need to go as far as using different organizations for this! You should be able to achieve the required level of separation simply with environments, roles and cookbooks.
There's really no reason you should require multiple organizations to support your applications. Within a single org you can support many different systems via roles, environments, and the run lists (i.e. cookbook recipes) you apply to each system. Only the items that are defined in the run list will be loaded onto your clients.
I would expect, at minimum, that each of your applications would have a unique role that determined what was needed for that application.
On Sun, Mar 22, 2015 at 9:28 PM, Joshua Moore <josh@resumecompanion.com <javascript:_e(%7B%7D,'cvml','josh@resumecompanion.com');>> wrote:
Hi I am new to Chef and trying to figure out how to best organise our servers and products into the chef environment. I work for a startup company that has 3 products, all of the products are ruby on rails web applications. So each one is very similar but also they are all also somewhat unique. An example of this is some run in Jruby some run in Cruby some require sphinx some do not.
I am trying to figure out how to best organise these different projects within Chef. I am thinking about creating an organisation for each on in managed.opscode and then share the shared cookbooks but recreate things like roles and data bags for each different product. But, before I go down this path I wanted to check and see if this is the correct way to organise chef or is there a different mechanism that I am missing that would be better suited to this type of organisation?