EC2Dream - Exploring Visual DevOps

Cloud, DevOps and open source infrastructure are the future. The number of command line DevOps tools is exploding, fast agile iterative development of chef cookbooks and puppet modules is the way to build servers and Test Kitchen is the way to test them. EC2Dream explores using a gui to simplify devops on remote servers. it supports:
-Local and Hosted servers
-Amazon AWS and compatible clouds Eucalyptus, CloudStack including VPC, Autoscaling and the ability to list most entities
-Google Compute Engine
-Openstack Clouds Rackspace and HP Cloud and CloudFoundry Open Platform as a Service

Learning Chef and Puppet

the steep learning curve and lack of good documentation has always been a problem with complex open source software like Chef and Puppet. Particularly if you have used Amazon AWS and are used to their good online documentation.

There are three areas of learning with chef and puppet:
1. The language itself.
2. The operational aspects: The different ways to run.
3. Best Practices.

How to Learn Chef or Puppet:
1. Get some IT experience in Linux, bash, an OO language like Java, networking, webservers like apache.

2. Setup an environment for chef cookbook or puppet module development.

3. Install Vagrant and Virtual Box.

4. Install Chef DK (including test kitchen) or Puppet and test-kitchen.

5. get a demo chef or puppet repo like or

6. learn test kitchen and use the sample kitchen.yaml file say in puppet_repo or chef-repo//site-cookbooks/mycompany_webserver and get a simple web server running

7. start code chef or puppet and learning. using chef docs at or puppet reference at

Books are a very useful way of getting up to speed with these tools:
Pro Puppet by Apress.
    -This has good technical stuff on installing and using puppet but not so much for learning the language.
    -To learn the puppet language try learning puppet from puppet labs. It is good to run Serverless Puppet in a virtual machine to learn the lanaguage.
    -There is not that much on best practices at the moment apart from exhortations to stop writing puppet modules that suck.
    -When I am writing scripts I refer to the Puppet Type Reference and Puppet Cookbook.

Mastering Puppet by Packt.
    -This is a potpourri of advanced and production topics.
    -This is a follow on from the Pro Puppet book.

Chef Infrastructure Automation Cookbook by Packt Publishing
    -This also has good technical stuff on using chef but not so much for learning the basics of the language.
    -To learn the chef language it helps to do Learn Chef and look at the sample code in Chef Resources and Community Cookbooks. It is good to run Chef Solo in a virtual machine to learn the language.
    -There is not that much on best practices at the moment. The only useful thing I have found so far is chef cookbook anti-patterns.
    -When I am writing scripts I refer to the Chef Resources.

Managing Windows Servers with Chef by Packt Publishing
    -This is a great book for someone with a bit of knowledge of using chef on linux (where chef is used mostly today) and wants to manage windows servers..
    -Chef is a huge area of expertise so it is great to have a book that focuses on just one area of chef - windows servers. This way it can comprehensively cover the area. I think armed with this book a chef experienced person can easily get up to speed on managing chef servers. The book has a great mixture of explanation and exercises and is very readable as well as being useful as a reference.