19
Continuous Deployment JEFFREY KNAPP 8/6/14

Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Embed Size (px)

Citation preview

Page 1: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Continuous DeploymentJEFFREY KNAPP

8/6/14

Page 2: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Introduction Why is it valuable How to achieve What to consider

Page 3: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Why? - Value To the end client

◦ Rapid delivery, less time from idea to production To the company

◦ Less software inventory◦ Consistent deployment process

To the team◦ Less effort to deploy◦ More frequent system testing feedback

Page 4: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Why? - Consistency Consistent process Consistent testing Reproducibility

Page 5: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Why? - Quality Testing strategy and design are taken into account up front Consistent testing methods and execution Quality checks in deployment process ensure quality releases

Page 6: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Implementation – Continuous Integration

Continuous Integration

Continuous Delivery

Continuous Deployment

SourceControl

Readyto Run

Ready forProduction

InProduction

Page 7: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Implementation – Continuous Delivery

Continuous Integration

Continuous Delivery

Continuous Deployment

SourceControl

Readyto Run

Ready forProduction

InProduction

Page 8: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Implementation – Continuous Deployment

Continuous Integration

Continuous Delivery

Continuous Deployment

SourceControl

Readyto Run

Ready forProduction

InProduction

Page 9: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Implementation – Building a Deployment Pipeline Pros

◦ Efficient◦ Easy to implement◦ Quick to deploy

Cons◦ Low confidence level◦ Inconsistent quality

Source Control

Production

Page 10: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Implementation - Testing Benefits

◦Confidence◦Consistent quality

Types◦Unit◦ Integration◦Acceptance

Page 11: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Implementation – Building a Deployment Pipeline Pros

◦ Higher confidence level◦ Consistent quality

Cons◦ More difficult to implement◦ Takes longer to deploy

Source Control

Unit Tests

Integration Tests

Acceptance Tests

Production

Page 12: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Implementation – Deployment Pipeline

Page 13: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Implementation – Putting it all together

ContinuousIntegration

ContinuousDelivery

ContinuousDeployment

Page 14: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Considerations Business considerations between delivery and deployment◦Up to engineering to achieve continuous delivery◦Continuous deployment may be affected by business processes◦ Segregated networks◦ Controlled release dates

Page 15: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Considerations Amount of testing (Time vs. Confidence)

◦Generally, higher confidence requires more testing which requires more time to implement and deployment process takes longer

◦How much confidence is required?◦ Defined by the team◦ Defined by the company◦ Defined by the client◦ Defined by the market

Page 16: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Considerations Automated vs. manual testing◦Anything repetitive should be automated

◦ Humans are poor at repetitive tasks◦ Computers are good at repetitive tasks

◦More efficient◦ QA can focus on designing tests and implementing automated

testing (which is an investment with an ROI that increases over time)◦ Manual testing does not scale well

Page 17: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Considerations Single tenant vs. multi tenant systems

◦Single tenant = one production environment per client◦Multi tenant = one production environment for all clients◦Don’t forget about demo and sales environments

Page 18: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Conclusion By implementing continuous deployment, value can be delivered to the client quicker, more consistently, and with higher quality.

Page 19: Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider

Q&A