what is continuous delivery? - netmcr€¦ · operations to live • deployed to live manually...

17
What is Continuous Delivery? Simon Gunton March 2017 @Cessle

Upload: others

Post on 13-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

What is Continuous Delivery?

Simon Gunton

March 2017

@Cessle

Page 2: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

About Me

• Operations Engineer for AutoTrader

• Previously worked at M247

• My arm span is greater than my height!• Don’t have as much skill on a mountain

bike as I thought!

Page 3: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

About Autotrader

• Largest new and used car digital market place in the UK

• 6x larger than our nearest competitor

• 80% of UK car dealers advertise through us

• 92% of UK consumers know who we are

• Worth ~£3.9Bn on the London Stock Exchange

• About 450k cars advertised at any one time

Page 4: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

Our product estate

2013/14• 40 Deployments per

week• Deployed by

Operations to live• Deployed to live

manually using legacy Perl scripts• 75 Apps• 350 Go Pipelines

• 2016/17• 80+ Deployments

per week• Deployed by Devs to

live• Deployed to live

automagically using GO CI pipelines• 198 Apps• 2400+ Go Pipelines

Page 5: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

Release Rate & Success

Page 6: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

We all know waterfall

Page 7: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

So what is CI & CD?

Page 8: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

Continuous Integration (CI)

• Code is stored in shared repository (Git, SVN)• Committed multiple times per day

(typically)• Each check in is then verified with

automated builds• Fast feed back loop• Build & deployment process to be

consistent• Dev/QA environments to be consistent

Page 9: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

Continuous Delivery (CD)

• An extension of CI• Deployed to live automatically• Post integration testing done

automatically• Build & deployment process to be

consistent across all environments• Dev/QA/Staging/Live environments to all

be consistent

Page 10: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

CodePlanPacka

geTest

Release

Deploy

Operate

Traditional Deployment

Continuous Deployment / Continuous Delivery

Continuous Integration

DevOps

Page 11: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

What about infrastructure?

Page 12: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

Infrastructure

• Your configuration is your code• Changes only made by changing the

code• Your code is tested in a different

environment before live

Page 13: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

Cloud Only?

• NO!• Networks is fashionably late to the party• Use the same principles & tools as

sysadmin / developers

Page 14: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

What are my options?

• NAPALM • Network Automation and Programmability

Abstraction Layer with Multivendor support• Python library• Set of functions to interact with different

router vendor devices via unified API• https://github.com/napalm-automation/napal

m• OpenConfig• Written in YANG• http://www.openconfig.net

Page 15: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

Other Tools

• Ansible• CFEngine• Chef• Otter• Puppet• Saltstack

Page 16: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

A python script is not going to steal your job

*Disclaimer*

I take zero responsibility or liability if you loop/null route/shoot laser in engineer eye/erase your network due to following anything I have said in this talk

Page 17: What is Continuous Delivery? - NetMcr€¦ · Operations to live • Deployed to live manually using legacy Perl scripts • 75 Apps • 350 Go Pipelines • 2016/17 • 80+ Deployments

References

• Past, Present, and Future of Network Operations• David Barroso, Fastly• https://www.usenix.org/conference/srecon16e

urope/program/presentation/• AutoTrader… from continuous integration

to continuous delivery• Mark Crossfield• http://markcrossfield.co.uk/2014-10-22-devop

s-manchester-auto-trader-from-continuous-integration-to-continuous-delivery.html