Software Quality in the Devops World: The Impact of Continuous Delivery on Testing and Monitoring...
-
Upload
cornelia-davis -
Category
Technology
-
view
543 -
download
1
description
Transcript of Software Quality in the Devops World: The Impact of Continuous Delivery on Testing and Monitoring...
© Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved.
The Impact of Continuous Delivery on Testing and Monitoring (and vice versa)
1
Cornelia Davis (@cdavisafc) Director, Platform Engineering, Cloud Foundry
Software Quality in the Devops World
© Copyright 2014 Pivotal. All rights reserved.
“Software is Eating the World”
2
© Copyright 2014 Pivotal. All rights reserved.
Software is Changing Industries
3
$3.5B valuation Financial Services
$10B valuation Travel & Hospitality
$17B valuation Transportation
$3.2B Acquisition by Google Home Automation
$20B valuation Entertainment
$26B valuation Tesla--Automotive
© Copyright 2014 Pivotal. All rights reserved. 4
You are either building a software business… !!
Or losing to someone who is.
© Copyright 2014 Pivotal. All rights reserved. 5
Amazon, a book store in Seattle, deploys code every 11 seconds
© Copyright 2014 Pivotal. All rights reserved.
What is Continuous Delivery?
6
$Busin
ess
Devel
opm
ent
QA
Ope
ratio
nsCu
stom
er
© Copyright 2014 Pivotal. All rights reserved.
What is Continuous Delivery?
7
$
© Copyright 2014 Pivotal. All rights reserved. 8
Continuous Delivery - How?
© Copyright 2014 Pivotal. All rights reserved. 9
Warner Music: Software FactoriesWarner Software Factory Platform • New applications and major updates
- Before: 6 months, team of 10 developers - After: 6 weeks, same team - Speed/Agility: 400% faster on new platform - HR Hard Savings: $1.1M per application update
delivered
© Copyright 2014 Pivotal. All rights reserved. 10
Developers are Responsible for Quality• Test Driven Development
!!!
•Unit Tests
!
• Integration Tests
!!
•Automation
Foo
Foo Bar
© Copyright 2014 Pivotal. All rights reserved.
“Operations is the secret sauce”
11
http://radar.oreilly.com/2007/10/operations-is-a-competitive-ad.html
© Copyright 2014 Pivotal. All rights reserved. 12
Agile• Show screen of
tracker
© Copyright 2014 Pivotal. All rights reserved. 13
Design for Failure
• “Sufficiently Paranoid”
•Circuit breaker • http://martinfowler.com/bliki/CircuitBreaker.html
• https://github.com/Netflix/Hystrix
• SpringCloud: http://projects.spring.io/spring-cloud
© Copyright 2014 Pivotal. All rights reserved. 14
http://projects.spring.io/spring-cloud
© Copyright 2014 Pivotal. All rights reserved.
Agile Methodologies Meet Agile (3rd) Platform
15
Agile Development
DEVELOPMENT
App1 John’s dev ver
Other dev apps
DEVELOPMENT
App1 Mary’s dev ver
Other dev apps
QA
QA
App1 QA version
Other QA apps
Production
PRODUCTION
App1 Production version
Other Prod apps
No code or configuration changes!
© Copyright 2014 Pivotal. All rights reserved. 16
DEMO
© Copyright 2014 Pivotal. All rights reserved.
Build Pipelines
17
© Copyright 2014 Pivotal. All rights reserved.
Pipelines - Example
18
CF Runtime
CF Services
Runtime: Dev a MastServices: Dev a Mast
Svc: Mast a CR; RT: Mast a CR
Dijon Tabasco
A1
Prod
Services: Dev; Runtime: CR Services: CR; Runtime: Dev
Services: Mast; Runtime: Mast
Services: Rel; Runtime: Rel
Svc: CR a Rel; RT: CR a Rel
© Copyright 2014 Pivotal. All rights reserved. 19
Distributed, Loosely-coupled Systems…… are very hard to reason about
Foo Bar
Baz
© Copyright 2014 Pivotal. All rights reserved. 20
Your software will be used by humans…And Now You Go Into Prod
• Smoke tests in prod
•App architecture
•Monitoring
•Blue/Green Deployments
© Copyright 2014 Pivotal. All rights reserved. 21
Twelve Factors•One Codebase/Many Deploys
• Explicit Isolated Dependencies
•Config via Environment
•Attached Backing Services
• Separate Build/Release/Run
• Stateless Processes
• Export Services via Port Bindings
• Scale Out via Processes
•Disposable Instances
•Dev/Prod Parity
• Logs == Event Streams
•Admin Tasks == Processes
http://12factor.net
© Copyright 2014 Pivotal. All rights reserved. 22
DEMO
© Copyright 2014 Pivotal. All rights reserved.
Blue/Green Deployments
23
© Copyright 2014 Pivotal. All rights reserved.
Blue/Green Deployments
24
© Copyright 2014 Pivotal. All rights reserved.
Blue/Green Deployments
25
© Copyright 2014 Pivotal. All rights reserved.
Blue/Green Deployments
26
© Copyright 2014 Pivotal. All rights reserved.
Blue/Green Deployments
27
© Copyright 2014 Pivotal. All rights reserved. 28
DEMO
© Copyright 2014 Pivotal. All rights reserved. 29
Summary•Developers are responsible for quality
• Tests
• Techniques for all stages of the application lifecycle
•Design for failure
• Self-healing
• Zero-downtime upgrades
© Copyright 2014 Pivotal. All rights reserved. 30
Thank You!
@cdavisafc
A NEW PLATFORM FOR A NEW ERA