DevOps In Action
Executive Breakfast
Clyde Balneaves
clyde.balneaves@accuity.com
© 2014 Reed Business Information Ltd
Covered
• Intro
• Common Problems
• Approaches
• Tooling
© 2014 Reed Business Information Ltd
Introduction
• Similar to early days of Scrum
• No one solution but a common goal
• Goal : Time to Market
• Quicker and more frequent releases,
• While improving reliability, quality and efficiency
© 2014 Reed Business Information Ltd
Team Siloes
Different teams, team process
and tools
Develop Test Deploy Support
HandOff
HandOff
HandOff
Build
© 2014 Reed Business Information Ltd
DevOps Collaboration
Combination of tooling,
process and people
Features
Automated
Tests
Deployment
Automation
Support Run
Books
Support, Monitor
& Learn
Test
Deploy
Build
Infrastructure
as Code
© 2014 Reed Business Information Ltd
Common Problems
• DevOps Role Definition
• Good software design experience
• Appreciation of delivery and availability
• Upfront Investment
• CI, CD, Everything-As-Code, Instrumentation all take time
• DevOps As Support
© 2014 Reed Business Information Ltd
Production is not special
• Treat all environment the same
• Everything, including release scripts and sec patches, is tested
• Easier to diagnose & reproduce
• Security & reliability considered from the start
• Performance monitored while still in development
• No forgotten configuration changes
© 2014 Reed Business Information Ltd
Requirement not process
Reverse engineer processes to requirements
Try solve with tooling
Examples
Software Patch Day -> fresh machine images every release (packer, AMIs, etc)
No production access -> log servers, jump boxes, temporary key systems
Firewall teams -> security alerting (security monkey, etc)
Support documentation -> automated runbooks (Apache runbook, etc)
© 2014 Reed Business Information Ltd
Data is hard
• No easy solution to managing state
• NoSQL-databases help (but not always viable)
• Good architecture is key
• Versioned databases & scripts
• Limited surface area (APIs)
• Highly available database architecture
© 2014 Reed Business Information Ltd
Preparing for automation
© 2014 Reed Business Information Ltd
Deduplication of effort
Per Codebase Per Environment Global
Java
Automated
Tests
Test Data
Environment
Config
Jenkins
App Config
Puppet
Infrastructure
as Code
Terraform
Kraken
Auth
Workflow
Keys
© 2014 Reed Business Information Ltd
Replacing process with tooling
• Audit – Record Keeping
• Audit – What changed in Production
• Security – Authentication & Roles
• Workflow – Branching Strategy
• Pipeline – Environment Progression
© 2014 Reed Business Information Ltd
DevOps Measurements
• Deployment rate
• Commit to deployment time
• Time to test feedback
• Availability
© 2014 Reed Business Information Ltd
Some of the many available tools
Build Configure Provision Orchestrate Monitor
Jenkins
Teamcity
Github
Travis CI
TFS
Bamboo
Puppet
Chef
Salt
Ansible
Consul
Terraform
CloudFormation
Docker
Salt
Kubernetes
Openstack
Kraken
Spinnaker
Kubernetes
Octopus Deploy
Code Deploy
Graphite/Statsd
New Relic
DataDog
CloudWatch
ELK
© 2014 Reed Business Information Ltd
?

2015 DevOps Breakfast - DevOps in Action

  • 1.
    DevOps In Action ExecutiveBreakfast Clyde Balneaves clyde.balneaves@accuity.com
  • 2.
    © 2014 ReedBusiness Information Ltd Covered • Intro • Common Problems • Approaches • Tooling
  • 3.
    © 2014 ReedBusiness Information Ltd Introduction • Similar to early days of Scrum • No one solution but a common goal • Goal : Time to Market • Quicker and more frequent releases, • While improving reliability, quality and efficiency
  • 4.
    © 2014 ReedBusiness Information Ltd Team Siloes Different teams, team process and tools Develop Test Deploy Support HandOff HandOff HandOff Build
  • 5.
    © 2014 ReedBusiness Information Ltd DevOps Collaboration Combination of tooling, process and people Features Automated Tests Deployment Automation Support Run Books Support, Monitor & Learn Test Deploy Build Infrastructure as Code
  • 6.
    © 2014 ReedBusiness Information Ltd Common Problems • DevOps Role Definition • Good software design experience • Appreciation of delivery and availability • Upfront Investment • CI, CD, Everything-As-Code, Instrumentation all take time • DevOps As Support
  • 7.
    © 2014 ReedBusiness Information Ltd Production is not special • Treat all environment the same • Everything, including release scripts and sec patches, is tested • Easier to diagnose & reproduce • Security & reliability considered from the start • Performance monitored while still in development • No forgotten configuration changes
  • 8.
    © 2014 ReedBusiness Information Ltd Requirement not process Reverse engineer processes to requirements Try solve with tooling Examples Software Patch Day -> fresh machine images every release (packer, AMIs, etc) No production access -> log servers, jump boxes, temporary key systems Firewall teams -> security alerting (security monkey, etc) Support documentation -> automated runbooks (Apache runbook, etc)
  • 9.
    © 2014 ReedBusiness Information Ltd Data is hard • No easy solution to managing state • NoSQL-databases help (but not always viable) • Good architecture is key • Versioned databases & scripts • Limited surface area (APIs) • Highly available database architecture
  • 10.
    © 2014 ReedBusiness Information Ltd Preparing for automation
  • 11.
    © 2014 ReedBusiness Information Ltd Deduplication of effort Per Codebase Per Environment Global Java Automated Tests Test Data Environment Config Jenkins App Config Puppet Infrastructure as Code Terraform Kraken Auth Workflow Keys
  • 12.
    © 2014 ReedBusiness Information Ltd Replacing process with tooling • Audit – Record Keeping • Audit – What changed in Production • Security – Authentication & Roles • Workflow – Branching Strategy • Pipeline – Environment Progression
  • 13.
    © 2014 ReedBusiness Information Ltd DevOps Measurements • Deployment rate • Commit to deployment time • Time to test feedback • Availability
  • 14.
    © 2014 ReedBusiness Information Ltd Some of the many available tools Build Configure Provision Orchestrate Monitor Jenkins Teamcity Github Travis CI TFS Bamboo Puppet Chef Salt Ansible Consul Terraform CloudFormation Docker Salt Kubernetes Openstack Kraken Spinnaker Kubernetes Octopus Deploy Code Deploy Graphite/Statsd New Relic DataDog CloudWatch ELK
  • 15.
    © 2014 ReedBusiness Information Ltd ?