On 30 November 2012 23:02, Craig White <craig.wh...@ttiltd.com> wrote: > > On Nov 30, 2012, at 10:37 AM, Schofield wrote: > >> I am at the beginning of merging the traditional OS/Middleware update >> process with application development release process. The goal is to be >> able to test a complete versioned OS/Middleware/Application stack as it >> moves through dev/test/qa/prod environments. The key here is that entire >> stack is labeled under a single version. In other terms, the node and >> everything on it is aligned under a single version. Right now the >> OS/Middleware is managed by puppet. The application release process is not. >> I'm hoping some folks would like to comment on the following questions I am >> pondering. >> • How to best version puppet classes and control the classification of >> nodes based on the version of the node? >> • Are there ENC's that integrate with SVN/GIT that make this easy? >> • Should application deployment be brought under the control of puppet? >> • If so how do you easily do this without burdening applications >> developers with having to learn something about or have access to puppet? >> • Is there a puppet API that an existing application release processes >> can leverage to trigger OS/Middleware updates when an application version is >> updated? >> Looking forward to your comments. > ---- > I think the general consensus is that puppet is less than optimal for most > software deployments and there are better tools for the job (for example, we > use capistrano here). >
I'm not sure 'general consensus' is really true, I think it depends, in particular on size of stack. Capistrano is incredibly easy to get started with but has negatives too (like being push based, often installing/compiling dependencies per machine, not being able to specify broader version dependencies like on the database server) > Puppet is more of a configuration management tool and I suspect that even if > you could shoehorn your software deployment needs into something that puppet > could manage, it would probably be slow and confusing. > Here's a question. Would you define a puppet module for Graphite? Graphite turns out to be a Django base web application. Would you use Capistrano to deploy Graphite? If your own applications were Django based would you use Cap? Not quite as simple I feel. Replying the the original points separately too. G > As for ENC's and 'developer' access, I use foreman (http://theforeman.org) to > provide 'other' user access and I can contain their rights/access within > foreman and yet still, allow them to say install NGINX (with all of it's > pre-requisite packages) from a web based GUI. > > Again, seriously look at capistrano for handling software deployments and I'm > sure that there's others that can do the job too. > > Craig > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > -- Gareth Rushgrove @garethr devopsweekly.com morethanseven.net garethrushgrove.com -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.