The document discusses tools for DevOps. It begins with an introduction to the DevOps culture and how it aims to bridge developers and operations teams. It then discusses several tools for implementing DevOps practices, including automated infrastructure tools like Puppet and Chef for configuration management. The presenter gives an overview of Puppet and Chef and demonstrates how to set up a Ruby on Rails stack using Chef and Amazon EC2.
16. Tools for DevOps
• Automated infrastructure
• Shared version control
• One step build / deploy
• Always ship trunk
• Shared metrics
CODECAMP 2012 @hurrycane
Saturday, March 10, 12
17. Automated infrastructure
Reconstructing of the application from
source code repository
application data backup
bare metal resources.
CODECAMP 2012 @hurrycane
Saturday, March 10, 12
18. In cloud environments:
Role &
Configuration
Management
OS Imaging
CODECAMP 2012 @hurrycane
Saturday, March 10, 12
26. Chef
A tour of chef
CODECAMP 2012 @hurrycane
Saturday, March 10, 12
27. Chef
Coobooks Chef Server
Chef Chef Chef Chef
client client client client
CODECAMP 2012 @hurrycane
Saturday, March 10, 12
28. Chef
Each system that has chef-client
installed is called a node
CODECAMP 2012 @hurrycane
Saturday, March 10, 12
29. Chef
Each node has attributes.
{
"kernel" : {
"machine" : "x86_64",
"os" : "Darwin",
"release" : "10.7.3"
},
"ipaddress" : "192.168.0.12",
"hostname" : "latte"
}
CODECAMP 2012 @hurrycane
Saturday, March 10, 12
30. Chef
Each node has a Run list in which each Role is applied
{
"runlist" : [
"role[webserver]",
"role[database_master]",
"role[development]"
]
}
CODECAMP 2012 @hurrycane
Saturday, March 10, 12
31. Chef
To describe a state of your node you use Resources
package "ruby" do
version '1.8.7',
action 'install'
end
CODECAMP 2012 @hurrycane
Saturday, March 10, 12