a devops survival guide: small changes lead to big … · continuous, automated deployments zero...

19
A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG RESULTS Emily Brand Senior Manager, Red Hat Consulting Priti Kumar Consulting Manager, Red Hat Consulting May 2018

Upload: others

Post on 08-Aug-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG RESULTS

Emily BrandSenior Manager, Red Hat Consulting

Priti KumarConsulting Manager, Red Hat Consulting

May 2018

Page 2: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

DEVOPS LEVEL SET

Page 3: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

OperateDeployReleaseTest IntegrateBuildCode

Agile Development

Continuous Integration

Continuous Delivery

Continuous Deployment

DevOps

Page 4: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

1 (Initial) 2 3 (Improved) 4 5 (Optimizing)

Culture & Organization

Silo’d OrganizationFunction-based teams organized by skill setWaterfall-style or lack of development methodologyLow cooperation or power-oriented

Agile AdoptionProduct-based teamsMinimize team boundariesOne backlog per teamAdopt agile methodologiesModest cooperation between team members

Scaled Agile Approach (SAFe or other)Extended team collaborationRemove boundary between dev and opsTeam-driven process decisions and accountability

Cross-team Continuous ImprovementProduct-based teams ownership of application and environmentReliable story pointing and sprint planning

Cross-functional TeamsHigh cooperation and performance-orientedSAFe nirvana

Configuration Management

Manual & Untraceable ConfigurationsConfiguration changes not stored anywhereChanges made manually in most environments

Partially Automated & Traceable ChangesConfiguration changes stored centrally, but not version controlledSome configuration changes done through scripts and templates

Automated & Maintained ConfigurationsConfiguration changes version controlled and templates packaged with the applicationAutomated scripts to make configuration changes on deployment

ContainerizationAll configurations are bundled within the container(s)Application and environment properties are immutableSingle image built and tested in all environments

Container OrchestrationApplications containerized and container orchestration utilized to manage environment-specific propertiesUtilize DRY principles (don’t repeat yourself)

Build, Release, & Deploy

Manual Integration & DeploymentCentralized version controlAutomated scripts for building softwareNightly buildsLittle to no management of artifactsManual deploymentInfrequent and unreliable releases

Continuous BuildsPolling or triggered builds (commit hook)Fail builds if they do not compile and pass unit testsAny build can be re-created from source controlManagement of build artifactsBuilds are not left brokenManual infrequent but reliable releases

Deployment PipelinesBuilds fail if quality standards not metAutomated provisioning of environments & deploymentsStandardized environment templatesStandard deployment process for all environmentsInfrequent but fully automated and releases in any environment

Automated but not Continuous DeploymentsTeam prioritizes keeping codebase deployable over doing new workOrchestrated deploymentsBlue/green deploymentsSomewhat frequent fully automated and reliable releases in any environment

Continuous, Automated DeploymentsZero touch continuous deploymentsFrequent, reliable releases in any environmentDeployments never rolled back, always roll forward

Testing Limited TestingOnly local testingSome unit testingNo integration or black-box testing

Partially Automated TestingAutomated unit testingSome automated integration testsCode analysis Test coverage analysisTest environments that do not match production

Automated Behavior-Driven DevelopmentFully automated integration testsSome component testingBehavior-driven developmentTest environments match production

Automated Functional, Integration, & Quality TestingAutomated component testsFully automated acceptance testsExploratory testingAutomated performance testsAutomated security tests

Testing of Containerized ApplicationsVerify expected business valueDefects found and fixed immediately (roll forward)Tests performed on containersAbility to test scalability of application

Monitoring & Reporting

Basic Monitoring & ReportingBaseline process metricsManual reportingIndividualized logging by application

Automated but not Real-timeMeasure the processStatic code analysisAutomatic reportingCentralized logging

Automated & Historical Information MaintainedAutomatic generation of release notesPipeline traceabilityReporting historyAggregated logging frameworks

Real-time InformationReport trend analysisReal time graphs on deployment pipeline metricsBase self-healing monitoring implementation

Customized & DynamicDynamic self-service of informationCustomizable dashboardsSelf-healing AI-based monitoring and health checks

Page 5: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

WHERE’S YOUR ORG?

Page 6: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

1 (Initial) 2 3 (Improved) 4 5 (Optimizing)

Culture & Organization Silo’d Organization Agile Adoption Scaled Agile Approach

(SAFe or other)Cross-team Continuous

ImprovementCross-functional

Teams

Configuration Management

Manual & Untraceable

Configurations

Partially Automated & Traceable

Changes

Automated & Maintained

ConfigurationsContainerization Container

Orchestration

Build, Deploy & Release

Manual Integration & Deployment

Continuous Builds Deployment PipelinesAutomated but not

Continuous Deployments

Continuous, Automated

Deployments

Testing Limited Testing Partially Automated Testing

Automated Behavior-Driven

Development

Automated Functional, Integration, & Quality

Testing

Testing of Containerized Applications

Monitoring & Reporting

Basic Monitoring & Reporting

Automated but not Real-time

Automated & Historical Information Maintained Real-time Information Customized & Dynamic

Page 7: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

WHAT IS YOUR PRIORITY

Page 8: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

HOW TO IMPROVE YOUR DEVOPS STATE

Page 9: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

1 (Initial) 2 3 (Improved) 4 5 (Optimizing)

Culture & Organization

Silo’d Organization Agile Adoption Scaled Agile Approach (SAFe or other)

Cross-team Continuous Improvement

Cross-functional Teams

Configuration Management

Manual & Untraceable Configurations

Partially Automated & Traceable Changes

Automated & Maintained Configurations

Containerization Container Orchestration

Build, Deploy & Release

Manual Integration & Deployment

Continuous Builds Deployment Pipelines Automated but not Continuous Deployments

Continuous, Automated Deployments

TestingLimited Testing Partially Automated

TestingAutomated Behavior-Driven

DevelopmentAutomated Functional,

Integration, & Quality TestingTesting of Containerized

Applications

Monitoring & Reporting

Basic Monitoring & Reporting

Automated but not Real-time

Automated & Historical Information Maintained

Real-time Information Customized & Dynamic

Agile Methodologies

Page 10: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

1 (Initial) 2 3 (Improved) 4 5 (Optimizing)

Culture & Organization

Silo’d Organization Agile Adoption Scaled Agile Approach (SAFe or other)

Cross-team Continuous Improvement

Cross-functional Teams

Configuration Management

Manual & Untraceable Configurations

Partially Automated & Traceable Changes

Automated & Maintained Configurations

Containerization Container Orchestration

Build, Deploy & Release

Manual Integration & Deployment

Continuous Builds Deployment Pipelines Automated but not Continuous Deployments

Continuous, Automated Deployments

TestingLimited Testing Partially Automated

TestingAutomated Behavior-Driven

DevelopmentAutomated Functional,

Integration, & Quality TestingTesting of Containerized

Applications

Monitoring & Reporting

Basic Monitoring & Reporting

Automated but not Real-time

Automated & Historical Information Maintained

Real-time Information Customized & Dynamic

Infrastructure as Code

Page 11: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

1 (Initial) 2 3 (Improved) 4 5 (Optimizing)

Culture & Organization

Silo’d Organization Agile Adoption Scaled Agile Approach (SAFe or other)

Cross-team Continuous Improvement

Cross-functional Teams

Configuration Management

Manual & Untraceable Configurations

Partially Automated & Traceable Changes

Automated & Maintained Configurations

Containerization Container Orchestration

Build, Deploy & Release

Manual Integration & Deployment

Continuous Builds Deployment Pipelines Automated but not Continuous Deployments

Continuous, Automated Deployments

TestingLimited Testing Partially Automated

TestingAutomated Behavior-Driven

DevelopmentAutomated Functional,

Integration, & Quality TestingTesting of Containerized

Applications

Monitoring & Reporting

Basic Monitoring & Reporting

Automated but not Real-time

Automated & Historical Information Maintained

Real-time Information Customized & Dynamic

Continuous Integration / Deployment / Delivery

Page 12: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

1 (Initial) 2 3 (Improved) 4 5 (Optimizing)

Culture & Organization

Silo’d Organization Agile Adoption Scaled Agile Approach (SAFe or other)

Cross-team Continuous Improvement

Cross-functional Teams

Configuration Management

Manual & Untraceable Configurations

Partially Automated & Traceable Changes

Automated & Maintained Configurations

Containerization Container Orchestration

Build, Deploy & Release

Manual Integration & Deployment

Continuous Builds Deployment Pipelines Automated but not Continuous Deployments

Continuous, Automated Deployments

TestingLimited Testing Partially Automated

TestingAutomated Behavior-Driven

DevelopmentAutomated Functional,

Integration, & Quality TestingTesting of Containerized

Applications

Monitoring & Reporting

Basic Monitoring & Reporting

Automated but not Real-time

Automated & Historical Information Maintained

Real-time Information Customized & Dynamic

Behavior Driven Development

Page 13: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

1 (Initial) 2 3 (Improved) 4 5 (Optimizing)

Culture & Organization

Silo’d Organization Agile Adoption Scaled Agile Approach (SAFe or other)

Cross-team Continuous Improvement

Cross-functional Teams

Configuration Management

Manual & Untraceable Configurations

Partially Automated & Traceable Changes

Automated & Maintained Configurations

Containerization Container Orchestration

Build, Deploy & Release

Manual Integration & Deployment

Continuous Builds Deployment Pipelines Automated but not Continuous Deployments

Continuous, Automated Deployments

TestingLimited Testing Partially Automated

TestingAutomated Behavior-Driven

DevelopmentAutomated Functional,

Integration, & Quality TestingTesting of Containerized

Applications

Monitoring & Reporting

Basic Monitoring & Reporting

Automated but not Real-time

Automated & Historical Information Maintained

Real-time Information Customized & Dynamic

Application Performance Management

Page 14: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

1 (Initial) 2 3 (Improved) 4 5 (Optimizing)

Culture & Organization

Silo’d Organization Agile Adoption Scaled Agile Approach (SAFe or other)

Cross-team Continuous Improvement

Cross-functional Teams

Configuration Management

Manual & Untraceable Configurations

Partially Automated & Traceable Changes

Automated & Maintained Configurations

Containerization Container Orchestration

Build, Deploy & Release

Manual Integration & Deployment

Continuous Builds Deployment Pipelines Automated but not Continuous Deployments

Continuous, Automated Deployments

TestingLimited Testing Partially Automated

TestingAutomated Behavior-Driven

DevelopmentAutomated Functional,

Integration, & Quality TestingTesting of Containerized

Applications

Monitoring & Reporting

Basic Monitoring & Reporting

Automated but not Real-time

Automated & Historical Information Maintained

Real-time Information Customized & Dynamic

Containerization Orchestration & Microservices

Page 15: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

WHAT IS NEXT?

Page 16: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments
Page 17: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

Discovery Session One-on-One Sign Up

One-on-One sessions with Red Hat consultants will provide an open communication forum with one of our subject matter experts to better assist you

with understanding how Red Hat products and solutions can help solve your business problems.

Please visit red.ht/signup to request time with your speakers either on-site at Summit or in the near future!

Page 18: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

WEDNESDAY - MAY 9

10:30-11:15Constraint Optimizer: “I bet you I’m better than a human”: Justin Goldsmith, Christian

Witchger

11:45-12:30First Step to Creating Engaging and Effective

Teams: Matt Takane, Thomas Heisey

3:30-4:15The journey to Cloud Infrastructure Adoption:

Stephane Lefrere, Julio Villarreal

4:30-5:15A DevOps Survival Guide: Small Changes

Lead to Big Results: Emily Brand, Priti Kumar

DISCOVERY ZONE SCHEDULE

THURSDAY - MAY 10

11:15-12:00Using Impact Mapping to Increase Team

Velocity: Matt Takane, Josh Ranoa

1-1:45Migrate and Modernize applications at scale with Ansible and CloudForms: Julio Villarreal,

Emily Brand

2-2:45Boil the Ocean or Boil an Egg, the path to

production with Containers and DevOps: Drew Stockdreher

3-3:45Decompose a monolith with Microservices:

Michael Costello, David Gordon

For more details: red.ht/discoveryzone18

Page 19: A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG … · Continuous, Automated Deployments Zero touch continuous deployments Frequent, reliable releases in any environment Deployments

plus.google.com/+RedHat

linkedin.com/company/red-hat

youtube.com/user/RedHatVideos

facebook.com/redhatinc

twitter.com/RedHat

THANK YOU