Balaji Vajjala's Blog

A DevOps Blog from Trenches

DevOps Tools and Utilities

DevOps Tool chain

A list of utilities to support configuration management tools. This was produced by the panelists of the Configuration Mgmt Workflow panel at LOPSA-EAST in 2013. One of the attendees also took notes: http://verticalsysadmin.com/blog/uncategorized/highlights-from-lopsa-east-2013-configuration-management-workflows-panel

Individual level: IDE / syntax highlighting etc

Puppet:

Chef:

CFEngine:

Local Testing

  • Vagrant –
  • VMware
  • OpenStack
  • Cloud?
  • All of the above?

Revision Control : Which tool? Which workflow?

Commit hooks

Puppet:

Chef:

CFEngine:

Style / Lint tools

Puppet:

Chef:

  • tailor,
  • foodcritic

CFEngine:

  • cf-promises (with GCC-style warnings)

Testing manifests / recipes

Puppet:

  • rspec-puppet,
  • ?cucumber-puppet (discontiued)?

Chef:

  • chefspec,
  • minitest-handler,
  • rspec-chef,
  • cucumber-chef,
  • test-kitchen

Marshalling / Assembling Code & Dependencies

Puppet:

Chef:

  • berkshelf,
  • librarian

CFEngine:

Continuous Integration

  • Jenkins CI
  • Travis CI
  • Atlassian Bamboo?
  • TeamCity?

Orchestration

Puppet:

  • MCollective

Chef :

  • has “knife ssh” and Pushy support coming for push jobs

Canary testing & Prod vs QA vs test environments (not prod vs QA app code)

Puppet

Chef

  • has knife-flip from Etsy, flips nodes into a test environment

CFEngine:

  • Remote context class matching using remoteclassesmatching (Enterprise)

Provisioning VM’s in the cloud?

Chef:

  • knife ec2 server create…
  • spiceweasel somefile.yml
  • knife openstack…
  • knife server create…

Clouds include Azure, Openstack, Rackspace, etc. EC2 OpsWorks (although some limitations since it’s an older version)

Puppet:

  • puppet node_aws create / puppet node_vmware create
  • Puppet RAL for AWS, OpenStack, CloudStack: ec2_instance { “instance_name”: type => t1.large, az => ‘USWest’, ensure => present, …. }
  • Razor (bare metal)

CFEngine:

Chef

  • Crowbar has Chef server integrated, although I don’t know that much about it.
  • Joyent also has a Chef “dataset” that they support.

Team Workflow

Puppet: –?

Chef:

  • knife-spork (has handlers to notify people)