A DEVOPS SURVIVAL GUIDE: SMALL CHANGES …...A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG...
Transcript of A DEVOPS SURVIVAL GUIDE: SMALL CHANGES …...A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG...
A DEVOPS SURVIVAL GUIDE: SMALL CHANGES LEAD TO BIG RESULTS
Emily BrandSenior Manager, Red Hat Consulting
Priti KumarConsulting Manager, Red Hat Consulting
May 2018
DEVOPS LEVEL SET
OperateDeployReleaseTest IntegrateBuildCode
Agile Development
Continuous Integration
Continuous Delivery
Continuous Deployment
DevOps
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
WHERE’S YOUR ORG?
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
WHAT IS YOUR PRIORITY
HOW TO IMPROVE YOUR DEVOPS STATE
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
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
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
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
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
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
WHAT IS NEXT?
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!
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
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHat
THANK YOU