[chef] Re: Push jobs vs SSH


Chronological Thread 
  • From: Brad Knowles < >
  • To:
  • Cc: Brad Knowles < >
  • Subject: [chef] Re: Push jobs vs SSH
  • Date: Fri, 6 Feb 2015 16:54:18 -0600

On Feb 6, 2015, at 9:45 AM, Eric Horne 
< >
 wrote:

> My expectations for pushy were a little more lofty, I guess. I was hoping 
> for more integrated orchestration, the ability to run a single recipe on a 
> system as opposed to just running chef-client to get everything (so I guess 
> something more like ansible, but integrated into Chef). Something like: 
> "push out THIS change" as opposed to "sync all changes now”.

So why not schedule a chef-client run with a specified recipe to be executed?

IMO, the problem with tools like Ansible is that they don’t force you to 
re-think your approach to solving problems, as you try to scale up.  You 
still think of it as shell scripts and ssh to run those scripts.


From the perspective of managing scalable systems, you really do want to 
define what you want the overall system to look like, and then you need to 
let the system maintain itself.  Don’t ssh out to a bunch of machines to run 
a shell script to edit files in place, because you’re already starting from 
an unknown state that just takes you one step further down the line of being 
further and further un-maintainable.

Instead, take files that are properly version controlled and push them out 
and replace whatever might be present that doesn’t match what’s in your known 
good copy of the file from your version control system.  And if you do 
actually need to make changes to what configuration gets put on a given 
server, then make sure that you properly version control the file and the 
code that makes that happen.


Chef doesn’t completely and totally force you to work this way, but this is 
the easiest way to do things in Chef, and that’s a part of what makes it more 
scalable.

I’m getting involved in a Puppet job for a customer, and while there are some 
things that I am finding I like about being able to easily apply a puppet 
manifest locally to a vagrant VM, I am now starting to have some questions.  
Like, I have no idea whatsoever how to take what I’ve done with local manual 
operations that amount to “puppet module install xyzzy” and “puppet module 
install dependency” followed by “puppet apply xyzzy/manifests/init.pp” and 
take that to the next level of being able to automatically apply that process 
to nodes as they are created.

-- 
Brad Knowles 
< >
LinkedIn Profile: <http://tinyurl.com/y8kpxu>




Archive powered by MHonArc 2.6.16.

§