DevOps is a merger of Development and Operations.
It can variously be viewed as a reaction to or an extension of Agile development.
Tension between Incremental Development and Traditional Operations
(figure from Atlassian)
DevOps attempts to merge development
with operations
Manage infrastructure (servers, load balancers, network) via configuration files that allows
How can you “build” infrastructure automatically? A mixture of
case $operatingsystem {
centos, redhat: { $service_name = 'ntpd' }
debian, ubuntu: { $service_name = 'ntp' }
}
package { 'ntp':
ensure => installed,
}
service { 'ntp':
name => $service_name,
ensure => running,
enable => true,
subscribe => File['ntp.conf'],
}
file { 'ntp.conf':
path => '/etc/ntp.conf',
ensure => file,
require => Package['ntp'],
source => "puppet:///modules/ntp/ntp.conf",
# This source file would be located on the Puppet master at
# /etc/puppetlabs/code/modules/ntp/files/ntp.conf
}
Systems administration tasks organized into “cookbooks” and “recipes”.
config.vm.box = CFG_BOX
config.vm.hostname = CFG_HOSTNAME
config.vm.provider "virtualbox" do |v|
v.name = 'chef-automate'
v.memory = 8192
v.cpus = 4
v.customize ['modifyvm', :id, '--audio', 'none']
end
config.vm.synced_folder '.', '/opt/a2-testing', create: true
config.vm.network 'private_network', ip: CFG_IP
config.vm.provision 'shell', env: {'CFG_IP' => CFG_IP,
'CFG_HOSTNAME' => CFG_HOSTNAME,
'ACCEPT_CHEF_TERMS_AND_MLSA' => AcceptLicense.new}, inline: $deployscript
end`
Automation of continuous deployment is usually organized into pipelines.
Contrasting visions of pipelines
Identifies both operational problems and provides feedback to Agile planning.
Provide for capture & visualization of properties such as