achieving fast it with continuous delivery · •sonarqube •artifactory •nexus continuous...

20
© 2014 Cisco and/or its affiliates. All rights reserved. 1 Achieving Fast IT With Continuous Delivery Nicholas Pace Chief IT Architect Cisco Systems 10.22.2014

Upload: others

Post on 19-Jun-2020

5 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

© 2014 Cisco and/or its affiliates. All rights reserved. 1

Achieving Fast IT With Continuous Delivery

Nicholas Pace Chief IT Architect Cisco Systems

10.22.2014

Page 2: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

© 2014 Cisco and/or its affiliates. All rights reserved. 2

Page 3: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

© 2014 Cisco and/or its affiliates. All rights reserved.

TECHNOLOGY

Fast IT is…

• Adaptability to changing business needs

• Informed decision making

• Measurable results

• Leveraging people, process, and technology to

increase productivity – Continuous Delivery.

Image: http://pixabay.com/en/cheetah-running-speed-animal-fast-48433/ (Public Domain)

Page 4: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

© 2014 Cisco and/or its affiliates. All rights reserved.

Continuous Delivery and DevOps in IT

• Continuous Delivery is s-s-s-Scary!

Because change is scary

Because the unknown is scary

Image: http://ruina.deviantart.com/art/All-Hallows-Eve-Greetings-334838487 (Licensed Under Creative Commons)

Page 5: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

© 2014 Cisco and/or its affiliates. All rights reserved.

Continuous Delivery and DevOps in IT

• Continuous Delivery is s-s-s-Scary!

Because change is scary

Because the unknown is scary

• If it’s painful, do it more often!

• Develop IT capabilities like software

Decompose the problem space

• Treat infrastructure as code

Automate almost everything

• Remember Conway’s Law

Architectures reflect organizational

structure.

Image: http://commons.wikimedia.org/wiki/File:Agile-vs-iterative-flow.jpg (Licensed Under Creative Commons)

Page 6: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

© 2014 Cisco and/or its affiliates. All rights reserved. 6

Page 7: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

CONTINUOUS DELIVERY BLUEPRINT

SOURCE CONTROL

DISTRIBUTED

CENTRALIZED

• GIT/STASH • MERCURIAL

• SVN • CLEARCASE • PERFORCE

IDE • ECLIPSE • NETBEANS • VISUAL STUDIO

ALM • RALLY • JIRA

REPORTING • SONARQUBE

• ARTIFACTORY • NEXUS

CONTINUOUS INTEGRATION STATIC ANALYSIS

• COVERITY • PMD • FINDBUGS • JTEST

TEST AUTOMATION

UNIT • JUNIT • TESTNG • NUNIT

INTEGRATION • SELENIUM • SPOCK/GEB

UAT • SELENIUM • JMETER • LOADRUNNER

CODE COVERAGE • CLOVER • EMMA

BUILD TOOLS

MANAGED

UNMANAGED

• JENKINS • BAMBOO • TEAMCITY • CRUISECONTROL

SUPPORT LEGEND • ENGIT SUPPORTED • ENGIT PLANNED • COMMON ALTERNATIVE

CODE REVIEW • GERRIT • CRUICIBLE

SEARCH

• PATTERN INSIGHT

• FISHEYE • ANT • MAKE

• ELECTRIC CLOUD

• GRADLE • MAVEN CI SERVER

ARTIFACT REPO

DEFECT TRACKING • RALLY • JIRA

REQUIREMENTS

TA

SK

S

EXECUTION

CO

DE

FE

ED

BA

CK

RELEASE

DEFECTS

DE

FE

CT

S

CO

DE

CODE

TE

ST

RE

SU

LT

S FE

ED

BA

CK

RE

SU

LT

S

INSTRUMENTATION

PUBLISHED ARTIFACTS

4B

4A

3

2 1

5

6

7

8

11

12

9

10

13

DEPENDENCIES

Page 8: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

© 2014 Cisco and/or its affiliates. All rights reserved.

Challenges for a Large Enterprise

• Cultural Change

Employ an educational campaign

Inspire by example

Remove the training wheels (Don’t be afraid to fail & fail early)

• Technology Transformation

The problem of choice – simplify it

Fighting the decisions of the past

Not a silver bullet

• Position Yourself for Success

Continuous delivery is a journey

Leverage your strengths & acknowledge your

weaknesses

Be pragmatic - SMART.

Image: https://www.flickr.com/photos/lwr/8340655861/ (Licensed Under Creative Commons)

Page 9: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

© 2014 Cisco and/or its affiliates. All rights reserved.

Achieving Mindshare

• Think pervasively

Management and individual contributors

• Eye on the prize

Beware of scope creep

Demonstrate benefit

• Socialize

Success and failure.

Image: https://www.flickr.com/photos/timailius/2295695164/ (Licensed Under Creative Commons)

Page 10: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

© 2014 Cisco and/or its affiliates. All rights reserved.

Dealing With Legacy

• IT assets are not a fine wine

• Mind your technical debt

• Agility means rework more often,

but less rework overall

• Get vendors on board

• Get customers on board

• Last resort: Isolate and confine the

problem areas.

Image: https://www.flickr.com/photos/iras_azy/3797142470/ (Licensed Under Creative Commons)

Page 11: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

© 2014 Cisco and/or its affiliates. All rights reserved.

Being Pragmatic

• Take one step at a time

• Your adoption strategy should exercise the same

principles you intend to embrace

• Test the waters

• Develop your own blueprint (or use others’)

• Get your bearing using a maturity matrix…

Image: http://pixabay.com/en/steps-stairs-up-staircase-stairway-388914/ (Public Domain)

Page 12: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements
Page 13: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

© 2014 Cisco and/or its affiliates. All rights reserved.

Meshing Operations and Continuous Delivery

• Build cross-functional teams

And sidestep Conway’s Law

• Artifacts become the handoff

Create a pipeline of work

Employ build promotion

• Goal: Every build is deployable

No last-minute tweaks before release

• Deploying COTS? No problem!

Skip code compilation

Include everything else.

Image: http://blog.octo.com/en/continuous-delivery-how-do-we-deliver-in-3-clicks-to-7000-machines/

Page 14: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

© 2014 Cisco and/or its affiliates. All rights reserved.

Considerations for Successful CD Adoption

• Organizational Structure

Cross-functional teams improve communication

• Software Architecture

Dependency Injection

Microservices

Feature toggles

• Infrastructure Capabilities

Virtualization, SDN, Cloud

• Development Platforms

Pick tools for productivity, not just coolness

• Gamification to increase productivity

Work environment fun = good

Work itself fun = better

• COTS Applications

CD is not just for software development. Image: http://commons.wikimedia.org/wiki/File:Chess-king.JPG (Licensed Under Creative Commons)

Page 15: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

© 2014 Cisco and/or its affiliates. All rights reserved. 15

Page 16: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

© 2014 Cisco and/or its affiliates. All rights reserved.

Cisco Services Technology Group

• Embracing Continuous Delivery to develop

custom solutions for customers

• Project Falcon: Multi-year improvement effort

since FY14

• Training and certification program

• 1000+ members trained

• $4.1M FY14 savings in productivity

enhancements

• $8.1M FY14 return on investment.

Page 17: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

© 2014 Cisco and/or its affiliates. All rights reserved.

Cisco Meraki: “Make a Wish” Feature Request

• Cloud infrastructure

• Automated deployment

• Work area status displays

• < 30 min to deploy change.

See also: https://meraki.cisco.com/blog/2014/07/make-a-wish-2-0/

Page 18: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

© 2014 Cisco and/or its affiliates. All rights reserved.

Corporate IT

• IT Delivery Transformation

Accelerator

• Holistic technology, process,

and culture change

• Jenkins CI central aspect

• Graduated certification program.

Page 19: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

Questions?

Page 20: Achieving Fast IT With Continuous Delivery · •sonarqube •artifactory •nexus continuous integration static analysis •coverity •pmd ... defect tracking •rally •jira requirements

Thank you.