scaling devops to the enterprise

36
Scaling DevOps To The Enterprise Benjamin Wootton @benjaminwootton

Upload: continohq

Post on 24-Jan-2017

50 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Scaling DevOps To The Enterprise

Scaling�DevOps To�The�Enterprise�

Benjamin�Wootton@benjaminwootton

Page 2: Scaling DevOps To The Enterprise
Page 3: Scaling DevOps To The Enterprise
Page 4: Scaling DevOps To The Enterprise

DevelopmentTeam1

DevelopmentTeam2

DevelopmentTeam3

DevelopmentTeam4

DevelopmentTeam5

DevelopmentTeam6- Mobile

DevelopmentTeam7- Vendor

MonitoringTeam

MiddlewareTeam

AppSupport Team1

AppSupport Team2

DBATeam

NetworkTeam

WintelTeam

UnixTeam

Infrastructure

Page 5: Scaling DevOps To The Enterprise
Page 6: Scaling DevOps To The Enterprise
Page 7: Scaling DevOps To The Enterprise

• DevOps isaboutimprovingthecollaborationbetweenthetraditionallysiloed developmentandoperationsfunctions(andindeedotherareaswithintheITfunction)

• DevOps isanextensionofagilesoftwaredevelopmentprinciples.Agileasverydevelopmentfocussed,butoftenmovedthebottleneckdownstream

Page 8: Scaling DevOps To The Enterprise

ScalingDevOpsImplicationsForPeople&

Teams

Page 9: Scaling DevOps To The Enterprise

DeveloperDeveloper Developer Tester Tester Sysadmin DBA AppSupport

AgileTeam

CrossFunctionalDev/OpsTeam

Page 10: Scaling DevOps To The Enterprise

ProductAligned Dev/OpsTeam

ProductAligned Dev/OpsTeam

ProductAligned Dev/OpsTeam “DevOps Team”

TheDevOps teamareresponsible forthepathtoproduction.

TipstomakeDevOps teamasuccess:

• Enableotherteams

• Don’tbecomeasilo

• Coachingandtraining

• ReferenceArchitecture

• Automaterelentlessly

• Selfserviceforproductaligned teams

Developers Testers ITOps

Developers Testers ITOps

Developers Testers ITOps

Page 11: Scaling DevOps To The Enterprise

UnixMiddlewareDBANetwork

X-FunctionalDev/OpsTeamX-FunctionalDev/OpsTeamX-FunctionalDev/OpsTeam

PlatformServicesTeam

Dev/Ops:

Development:

Operations:

TraditionalITOperations becomesevensmaller,moretechnologyaligned.Deepspecialism retained,providingoptimised building blocks.

Theseengineersbecomemoreapplicationaligned,helping theappplication teamsreleasetheircodequickly andefficiently

Incrediblyimportantthatthesepeople don’tbecomeasilothatdriveDevandOpsfurtherapart.Theyenable ratherthandoworkonbehalfofdeliveryteams.

Page 12: Scaling DevOps To The Enterprise

ProductAligned Dev/OpsTeam

Developers Testers ITOps

Continuous Delivery Pipeline

Platform As A Service(Container Based)

LeverageLean

CollaborativePortable

CloudBased

Page 13: Scaling DevOps To The Enterprise

Training

Evangelism

Enablement

Hiring

EnablementWorking with teams in a dual

delivery and upskilling capacity to raise their own capability.

HiringBringing in new skills with a

specific aim to upskill people in DevOps approaches.

TrainingOnline and classroom based

training to teach people about higher level or technical concepts

EvangelismExposing our people to industry

best practices and modern approaches related to DevOps

0102

0304

CulturalChange,Coaching,Learning&Upskilling

Page 14: Scaling DevOps To The Enterprise

ScalingDevOpsImplicationsForYourApplicationPortfolio

Page 15: Scaling DevOps To The Enterprise
Page 16: Scaling DevOps To The Enterprise

High Low Low

High

Rate

Of C

hang

e

Cost Of Change

TBC

TBCTBC

GTL

TBC

TBC

TBC

TBC

DevOps InTheLegacyEstate

• Rateofchange• Costofchange• Currentmaturity• Costofremediation

=

BusinessCase

Page 17: Scaling DevOps To The Enterprise
Page 18: Scaling DevOps To The Enterprise
Page 19: Scaling DevOps To The Enterprise
Page 20: Scaling DevOps To The Enterprise

ScalingDevOpsRigour &BusinessCase

Page 21: Scaling DevOps To The Enterprise

CultureOrganisationalDesign

PEOPLE

CollaborationPhysicalEnvironment

FederationSkills

PEOPLE PEOPLE

PEOPLEPEOPLE PEOPLE

PEOPLEPEOPLE PEOPLE

Retention

Incentives

Recruitment

Page 22: Scaling DevOps To The Enterprise

67.0045.00 55.00 53.00

80.0049.00

66.00 70.0045.00 49.00

45.0055.00

13.00

66.0035.00 98.00

44.0055.00

49.0058.00

68.0075.00

43.00

90.00

45.00

80.00

18.00

70.00

50.0060.00

0.00

50.00

100.00

150.00

200.00

250.00

TeamA TeamB TeamC TeamD TeamE TeamF TeamG TeamH Team I TeamJ

DevOpsMaturityScore

People Process Technology

0

5

10

15

20

25

30

1 2 3 4 5 6 7 8 9 10 11

DevOpsMaturity

TeamA TeamB TeamC

Page 23: Scaling DevOps To The Enterprise

Technology– Operate&Improve

People –Organisational Design

Technology– Test&Deploy

Technology– Design&Buld

Process– Agile&LeanMaturity Process– EngineeringBestPractices

Process–WaysofWorking

People - Culture

People –Skills,Recruitment&Retention

Page 24: Scaling DevOps To The Enterprise
Page 25: Scaling DevOps To The Enterprise
Page 26: Scaling DevOps To The Enterprise

ScalingDevOpsRaisingSecurityWith

DevSecOps

Page 27: Scaling DevOps To The Enterprise

Developer

ArtifactoryStaticAnalysis DynamicAnalysis

SecurityTests

Build ExportPackage

Development

Trigged viaJenkins

Maintainssecureversionedpackages

Security&ControlPointsInPipeline

DevOpsTeamWithSegregationOfDuty

Developer Deployment Engineer

Production Engineer

Page 28: Scaling DevOps To The Enterprise
Page 29: Scaling DevOps To The Enterprise

Thisexamplewillidentifyanycodethattriestomountdiskvolumes.Ifcodeisidentified,itwillbeauditedandthenworkflowcancontroltheactionofthisdeviationtostandards.

Example- StaticCodeAnalysis

Page 30: Scaling DevOps To The Enterprise

Example– PCICompliance

PCI2.3 - Encryptallnon-consoleadministrativeaccesssuchasbrowser/Web-basedmanagementtools.

rules ’PCI 2.3 – Confirm telnet port not available'rule on run_controlwhen

name = 'should be listening'resource_type = 'port'resource_name = '23'status != 'success'

thenaudit:error("PCI 2.3 - Encrypt all non-console

administrative access such as browser/Web-based management tools.")

notify("[email protected]", "A machine is listening for connections on port 23/telnet!")

endend

RuleControlcontrols 'port compliance' do

control port(23) doit "has nothing listening"expect(port(23)).to_not

be_listeningend

endend

Page 31: Scaling DevOps To The Enterprise

Example– SOXCompliance

SOXSection302.4.B– Establishverifiablecontrolstotrackdataaccess.

rules 'force key based auth'rule on run_controlwhen

name = 'is disabled'resource_type = 'File'resource_name = '/etc/ssh/sshd_config'status = 'failed'

thenaudit:error("SOX Section 302.4.B – Establish

verifiable controls to track data access.")notify(‘[email protected]’, "A

machine has password login enabled!")end

end

RuleControlcontrols 'password authentication' do

control file('/etc/ssh/sshd_config') doit "is disabled”

expect(file('/etc/ssh/sshd_config')).to_notmatch(/^\s*PasswordAuthentication\s+yes/i)

endend

end

Page 32: Scaling DevOps To The Enterprise

Acheving ThisWithADevOpsAssessment&Strategy

Page 33: Scaling DevOps To The Enterprise

CultureOrganisationalDesign

PEOPLE

CollaborationPhysicalEnvironment

FederationSkills

PEOPLE PEOPLE

PEOPLEPEOPLE PEOPLE

PEOPLEPEOPLE PEOPLE

Retention

Incentives

Recruitment

Page 34: Scaling DevOps To The Enterprise
Page 35: Scaling DevOps To The Enterprise
Page 36: Scaling DevOps To The Enterprise

Want�to�know�more�about�Enterprise�DevOps?

[email protected]

@benjaminwootton