SlideShare a Scribd company logo
HOW THE OPS TEAMS DELIVERY AND OPERATE
THE INFRASTRUCTURES IN THE REAL WORLD
@mateusprado
$ whoami
• Software Engineer
• Co-founder CodeOps
• SRE at Santander Produban
• c, java, ruby, go, python
• <3 storages, servers, distributed systems
• api <3++
• craft beers, bbq
• airplanes
Agenda
• Agile?
• Ops work
• Tools
• Agile Infrastructure in the real world
“June 2009: At the O'Reilly
Velocity 09 conference”
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
#OLD
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
Your infrastructure is here.
Agile Infrastructure
Pero no mucho.
[ops-ng]
How the Ops teams delivery
and operate the infrastructures
in the real world
OPS WORK
DELIVERY
KEEP ON
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
DELIVERY
Provisioning
Configuration
&
provisioning
• bare metal, virtualization
• storage
• network
Configuration
• os tuning
• hardening
• compliance rules
KEEP ON
MONITORING
IMPROVEMENTS
Metrics
Improvements
Provisioning
Configuration
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
to be Agile
• API
• Code
• API
• Code
• API
• Code
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
AUTOMATION
automation
• provisioning: chef, knife bootstrap
• conf management: cfengine, chef, puppet, ansible
• sdn, nfv: openflow
• sds: ceph
• log aggregation: graylog, elk stack
• metrics: libbeat
• qa: kitchen, rubocop, foodcritic
provisioning
$ knife vsphere vm clone
--name demoiselle-app-front.qa.chewbacca.local
—template centos7
--datacenter Norte01
--resource-pool QA
--cdomain qa.chewbacca.local
--cvlan hom_10.16.12.0/24
--environment QA
--run_list "role[xemele-app-front]"
--ccpu 4
--cram 4
Configuration
Management
# chef-recipe
# aws opsworks
directory '/opt/go/bin' do
owner 'demoiselle'
group 'demoiselle'
mode '0644'
action :create
recursive true
end
template '/opt/go/conf/config.toml' do
source 'conf/config.toml.erb'
owner 'demoiselle'
group 'demoiselle'
mode '0644'
action :create
end
package 'demoiselle-front-app' do
action :install
end
package 'nginx' do
action :install
end
service 'nginx' do
action :start
end
sdn, nfv
software-defined-storage
Log Aggregation
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
Metrics
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
QA
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
# .kitchen.yml
driver:
name: vagrant
provisioner:
name: chef_zero
platforms:
- name: ubuntu-12.04
- name: centos-6.4
- name: debian-7.1.0
suites:
- name: default
run_list:
- recipe[demoiselle::frontend]
require 'chefspec'
describe 'file::delete' do
let(:chef_run) {
ChefSpec::SoloRunner.new(platform: 'ubuntu',
version: ’16.04’).converge(described_recipe)
}
it 'deletes a file with an explicit action' do
expect(chef_run).to delete_file('/tmp/explicit_action')
expect(chef_run).to_not delete_file('/tmp/not_explicit_action')
end
it 'deletes a file with attributes' do
expect(chef_run).to delete_file('/tmp/with_attributes').with(backup: false)
expect(chef_run).to_not delete_file('/tmp/with_attributes').with(backup:
true)
end
end
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
In the real world
• On demand available whenever
• Ephemeral short periods, disposable, show unused
• Elastic scale, PoC
• Integrate exposed
• Supported owned
HIRING
Hiring
• Generalists
• Code skill
• Bad apples
• Incentive Transparency
• KPI
Tips
• Treat your code as code;
• Build the Ops Pipeline;
• Think about Product and not servers;
• Docs;
• Rollback is a deploy;
• Share the metrics;
• Share the code;
Your infrastructure is here.
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world
Q&A
Mateus Prado
mateus@codeops.com.br
Twitter: @mateusprado
Slideshare: mateushprado

More Related Content

Infra Agil: How the Ops teams delivery and operate the infrastructures in the real world