Upload
nvisia
View
348
Download
1
Embed Size (px)
Citation preview
© 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 toolsDevelop Test Deploy Support
Hand
Off
Hand
Off
Hand
Off
Build
© 2014 Reed Business Information Ltd
DevOps Collaboration
Combination of tooling,
process and peopleFeatures
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
ExamplesSoftware 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
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
JenkinsTeamcityGithubTravis CITFSBamboo
PuppetChefSaltAnsibleConsul
TerraformCloudFormationDockerSaltKubernetesOpenstack
KrakenSpinnakerKubernetesOctopus DeployCode Deploy
Graphite/StatsdNew RelicDataDogCloudWatchELK