SlideShare a Scribd company logo
1 of 40
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 1
DevOpsing Your Greenfield:
Cultivating New Growth
Richard Mills
DevOps Solution Lead, Coveros Inc.
rich.mills@coveros.com
@armillz
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 2
Who is this guy?
• Me: Mad-Software-Developer turned Mad-Software-Engineer
turned DevOps-Solution-Lead. Pragmatist. Particular focus on
tools and automation. CI, CD, DevOps … what’s next?
• PS: Thanks for inventing the term “DevOps” to describe what I like
to do.
• Pays my bills: Coveros helps organizations accelerate the
delivery of secure, reliable software using agile methods.
• Agile transformations, development, and testing
• DevOps implementations
• Training courses in Agile, DevOps, Application Security
• Keeps me intrigued: SecureCI
• Open-source DevOps product
• Integrated CI stack with security flavor
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 3
Why is he here?
• Open your mind about most important aspects of "new" DevOps
• Share some of my experiences (and failures)
• Give you a reference to walk away with
• NOT: Explain fundamentals of DevOps (or Agile)
• NOT: Sell you on DevOps (or Agile)
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 4
Somewhere in our DevOps dreams...
I want to do some DevOps and Agile on our
important new project!
Great. How about this? Let’s BE Agile and
adopt a DevOps approach to structuring our
teams, designing our architecture, and
leveraging automation to rapidly deliver value
to our customers?
Right. That’s what I said.
Sigh
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 5
Typical DevOps Transformation
• Frequently a fire-fighting effort
• Find the most important thing, improve it
• You have something concrete to start
with, so you just start fixing it.
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 6
Greenfield DevOps
• Wide open options
• No obvious path
• Nothing to grab onto yet, so nothing
to "fix" and no clear direction to
follow
It can seem like an overwhelming
boulder, at times.
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 7
You have ONE job
• Don't blow it
• You have a clean slate
• Don’t create your own dumpster fire
We want fire proofing, not fire starting.
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 8
General Agenda
• DevOps baseline – picking the seeds
• Greenfield approach – planting the seeds
• Important aspects for cultivating growth
• Organization structure and mission
• Infrastructure and tools
• Pipeline design with delivery and branching model
• Integrating with your architecture
• Testing and quality analysis
Each of these could be multi-hour topics.
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 9
DevOps – picking the seeds
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 10
The Many Things of DevOps
Notice that not many of these are PURELY the responsibility of one person or even team
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 12
Ok, But What Do We Actually Mean by DevOps?
• DevOps is the natural evolution of Agile: how to get working software into the hands of the
people who need it rapidly and reliably
• Who? Developers, Product Owners, ultimately users
• When? Now!
• Seriously … within weeks we can measure delivery with "minutes"
• How? Team structure, processes, automation, tools
• Extension of Agile
• Focus on value delivery
• Common sense
• Enable developers to be creative and do great work
• Work with developers to integrate system architecture with deployment architecture
• Absolutely makes things easier and work better
• Examples: metrics, testing, health, scaling
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 16
Greenfield approach – planting the
seeds
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 17
So ... Where do we actually start?
It’s actually pretty easy:
1. Create a team
2. Set up some infrastructure and tools
3. Build a pipeline
4. Establish quality gates
5. Iterate
Ok, It’s a little harder than that...
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 18
Most Important: Iterate!
• Don't solve everything at once (breadth first)
• Don't even solve one thing all the way (depth first)
• Get the most important things functional, then improve over time
• Start left, build toward the right. Most important first.
• Don't paint yourself into a corner, but don't over-engineer
• Wait until you know what you need for things that are easy to rework
• Caveat: beware things that are immensely hard to re-work.
• Start with the simplest thing that could work
Remember: DevOps is about delivering value, not just making things cool.
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 20
Team structure and mission
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 21
Avoid DevOps Team Anti-Patterns
•Separate silos
•Dev, Ops, DevOps silos
•No Ops
http://web.devopstopologies.com/
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 22
Successful DevOps Organizational Structures
Build the right relationships between the people with shared
success goals.
• Ideal: Cross functional teams with Dev, Ops & QA
• Shared goals and values
• Collaborative
• Unified processes and tooling
• Maybe: DevOps as a service
• Smaller teams/orgs
• Transitional situations
• Sometimes: Embedded Ops
• Suitable for single web-based product
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 23
Horizontal DevOps Guild
• Group of DevOps professionals working together to solve cross-team DevOps problems
• Guild members in-team are focused on team-specific problems
• Dedicated guild members support cross-team needs
• Guild establishes cross-team standards and shared success
• Important: share knowledge across team members
Cross-team function (vs. cross-functional team)
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 24
Example DevOps Guild and Team Structure
Our team organization on a 50-ish person development project
Horizontal Guilds
DevOps Engr
CORE DevOps Lead
Platform Engr
CORE Platform Lead
Platform Engr Security
Security
Security
Performance
Performance
Agile Vertical Team
Scrum master
DevOps Engr
Biz Analyst
Agile Tester
Front End
Full Stack
Agile Vertical Team
Scrum master
DevOps Engr
Biz Analyst
Agile Tester
Front End
Full Stack
Agile Vertical Team
Scrum master
DevOps Engr
Biz Analyst
Agile Tester
Front End
Full Stack
Agile Vertical Team
Scrum master
DevOps Engr
Biz Analyst
Agile Tester
Front End
Full Stack
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 25
Finding the Right DevOps Members
• A good DevOps person ...
• ... Is a Developer
• ... Is a Tester
• ... Knows about system administration
• ... Has strong attention to detail
• ... Has high standards for quality
• ... Knows how to solve problems
• ... Good at making things work
• Has experience and skills with build tools (maven, gradle, npm), test tools (junit, testNG,
Selenium), database programming (sql, no-sql), CI build servers (Jenkins, Travis), operating
systems (Linux, Windows), software installation/configuration (nginx, tomcat, databases), CM
automation tools (chef, puppet, ansible), scripting (python, groovy, ruby), cloud systems
(AWS, Google, Azure), virtualization and containerization (virtualbox, vmware, docker), and
many, many other buzzwords (REST, HTTP, SSL, API, UI, e2e)
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 28
Infrastructure and Tools
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 29
Application Lifecycle Mgmt. SCM/VCS Testing Deployment Cloud/IaaS/PaaS
Communication & ChatOps
Knowledge Sharing
Configuration Mgmt.
Artifact Management
Orchestration & Scheduling
Monitoring & Logging
Database Management
Build
Continuous Integration
Analysis
Tools, tools, and more tools
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 30
Application Lifecycle Mgmt. SCM/VCS Testing Deployment Cloud/IaaS/PaaS
Communication & ChatOps
Knowledge Sharing
Configuration Mgmt.
Artifact Management
Orchestration & Scheduling
Monitoring & Logging
Database Management
Build
Continuous Integration
Analysis
Let’s start with LESS tools
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 31
Infrastructure Platforms
• Infrastructure: Operating Platform
• Server platform - physical, VM, container
• OS configuration
• Middleware installation and configuration (java, nginx, tomcat, database, message queue, etc.)
• DevOps Infrastructure: DevOps Platform
• Build server (Jenkins)
• Quality analysis server (SonarQube)
• Artifact server (Nexus)
• Source control server (Git)
• Test server(s)? (Selenium)
• Target environment for CI/CD builds (see: Operating Platform)
• Developer Infrastructure: local development
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 34
DevOps Platform
• DevOps Platform - the set of tools and
environments you use
• Start with your operating platform, build from
there
• Jenkins - build and pipeline orchestration tool
• SonarQube - quality analysis dashboard
• OpenShift & Docker - deployment and
configuration
• Pick some assessment tools:
• JUnit, Jest
• OWASP Dependency Check
• Selenium
• Again, start manually then move to
automation
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 35
Example Platform Architecture
• Ideally, your “operating platform” and “DevOps platform” share a lot of underlying
infrastructure
AWS
Instance
Open Shift Cluster
Pod
AWS
Instance
AWS
Instance
Pod Pod Pod Pod
Micro-Service App Code
PodPod
DevOps Tools
Pod
AWS
Instance
Shared
Service
AWS
RDS
Shared DB
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 36
Align the Developers
• Developer Environments - align with operational platform
• Should be able to fetch code build with very little effort; well documented, highly automated
• Local deploy/test cycle should be similar to operational (e.g., VM, docker, Operating system,
etc.)
• Caveat: support rapid change/build/test cycles supported by modern IDEs
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 39
Constructing the Delivery Pipeline
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 41
Pipeline and Tools
Use automation and tools to continuously assess quality, performance, and security in rapid feedback loops
Continuous MonitoringContinuous Integration
BuildCode
Continuous Delivery
commit
DEV
TEST
PROD
Compile
Test
Package
Publish
Unit Test
Integration Test
Code coverage
Code Scanning
Static Analysis
Bugs
Vulnerabilities
Technical Debt
Package
Dependency
checking
Vulnerable
components
Deploy Test
Provision
Install
Configure
Vulnerability Scanning
Deployment verification
Smoke test
Manual Testing
- Exploratory
- UAT
Functional Testing
- Behavioral
- API
- Web UI
Non-Functional Testing
- Load/Performance
- Web Security
Platform
Vulnerabilities
Test Results Defects
Change Requests
Test Promote
Operate
Monitor
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 43
Branching Strategy
• Strive for "main line" development
• Use short, small feature branches for isolated changes
• Consider Github Flow (very simple), Git Flow (complex)
• Avoid "parallel release development" at all costs
• What problems does branching cause vs. solve?
• Align with your delivery pipeline
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 45
Integrating with Software Architecture
• Not all software lends itself to easy build, test, and deployment
• Work directly with software architecture and development teams
• Software must support
• Rapid build
• Automated test (controllability, observability)
• Data initialization
• Installation/configuration
• Monitoring/metrics
• Standards and "Definition of Done" should reflect this
• Development stories aren’t complete until all these things work
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 47
Testing and quality analysis
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 48
Your efforts in DevOps will fail without
proper automated testing and assessment
that is fully integrated into the pipeline.
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 49
Goals for Testing in DevOps
• Keep software in continuous working state
• Establish confidence in change
• Force teams to build quality in (and agree it’s important)
• Avoid creating too much technical debt too early
Important: everywhere I say “Quality” I mean “Quality, Security,
Performance, and all the other –ilities” you can think of for your
software.
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 51
Quality Gates are Critical
Quality gates ensure that bad code cannot make it through the pipeline
• Static analysis - set gates early; avoid tech debt
• Standards: style, bugs, vulnerabilities (standards not as important as following them)
• 3rd party dependency analysis - vulnerabilities, licensing
• Testing phases
• Pre-deployment testing - unit, component, mocking
• Post-deployment functional testing - services,
integration, databases, etc.
• Non-functional testing - security, performance,
reliability, availability
• Code Review
• Tie to branching process (Github pull requests)
• Small feature branches help this
Start left, move right (quickly)
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 53
Getting Started with DevOps Testing
Create ONE of each test and make sure it gets
executed by the DevOps pipeline continuously
• Cover each test level
• Unit
• UI
• API
• Security
• Once the test framework is in place, it removes the barrier and enables test writing
• Pitfall: initially, your test results will be all over the place. You will realize the need for a
“quality dashboard”
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 55
Greenfield DevOps: Grow!
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 56
Start Small, Make It Work
• Launch basic DevOps tools (Jenkins, Sonar, Nexus, Git)
• Setup basic CI builds
• Developers use same gradle/npm build scripts as the pipeline
• Create some quality gates
• SonarQube static analysis
• Unit testing
• Code coverage (maybe)
• Create a test environment (by hand, if need be)
• Initialize deployment automation
• Docker deploy, Ansible installation
• Developers use same (similar) local deployment
All this can be done in days or weeks with the right people
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 60
Generating Value
Remember, the main goal of DevOps is to deliver working code to the people who need it
• Prioritize what the developers need first
• Get software in front of stakeholders ASAP
Keep it real
• Don’t get hung up on making things perfect at first
• Establish quality gates to avoid (too much) technical debt
© COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 61
Questions?
Thank you!
rich.mills@coveros.com
https://www.coveros.com/services/devops/

More Related Content

What's hot

Application Deployment at UC Riverside
Application Deployment at UC RiversideApplication Deployment at UC Riverside
Application Deployment at UC RiversideMichael Kennedy
 
ScrumOps - Featuring Dave West & Jayne Groll
ScrumOps - Featuring Dave West & Jayne GrollScrumOps - Featuring Dave West & Jayne Groll
ScrumOps - Featuring Dave West & Jayne GrollTaylor Puleri
 
Devops Intro - Devops for Unicorns & DevOps for Horses
Devops Intro - Devops for Unicorns & DevOps for HorsesDevops Intro - Devops for Unicorns & DevOps for Horses
Devops Intro - Devops for Unicorns & DevOps for HorsesBoonNam Goh
 
MERGE 2016 Opening Remarks
MERGE 2016 Opening RemarksMERGE 2016 Opening Remarks
MERGE 2016 Opening RemarksPerforce
 
Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Chandler Anderson
 
Introduction to DevOps - Rackspace tech night
Introduction to DevOps - Rackspace tech nightIntroduction to DevOps - Rackspace tech night
Introduction to DevOps - Rackspace tech nightMarc Cluet
 
DevOps: A Culture Transformation, More than Technology
DevOps: A Culture Transformation, More than TechnologyDevOps: A Culture Transformation, More than Technology
DevOps: A Culture Transformation, More than TechnologyCA Technologies
 
Patterns and Practices of a Successful DevOps Transformation
Patterns and Practices of a Successful DevOps TransformationPatterns and Practices of a Successful DevOps Transformation
Patterns and Practices of a Successful DevOps TransformationChef
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101Hazzim Anaya
 
Application Security Epistemology in a Continuous Delivery World
Application Security Epistemology in a Continuous Delivery WorldApplication Security Epistemology in a Continuous Delivery World
Application Security Epistemology in a Continuous Delivery WorldJames Wickett
 
Enterprise-Grade DevOps Solutions for a Start Up Budget
Enterprise-Grade DevOps Solutions for a Start Up BudgetEnterprise-Grade DevOps Solutions for a Start Up Budget
Enterprise-Grade DevOps Solutions for a Start Up BudgetDevOps.com
 
Achieving DevOps using Open Source Tools in the Enterprise
Achieving DevOps using Open Source Tools in the EnterpriseAchieving DevOps using Open Source Tools in the Enterprise
Achieving DevOps using Open Source Tools in the EnterpriseCollabNet
 
5 Keys to Building a Successful DevOps Culture
5 Keys to Building a Successful DevOps Culture5 Keys to Building a Successful DevOps Culture
5 Keys to Building a Successful DevOps CultureMandi Walls
 

What's hot (20)

Application Deployment at UC Riverside
Application Deployment at UC RiversideApplication Deployment at UC Riverside
Application Deployment at UC Riverside
 
ScrumOps - Featuring Dave West & Jayne Groll
ScrumOps - Featuring Dave West & Jayne GrollScrumOps - Featuring Dave West & Jayne Groll
ScrumOps - Featuring Dave West & Jayne Groll
 
Why to docker
Why to dockerWhy to docker
Why to docker
 
Devops Intro - Devops for Unicorns & DevOps for Horses
Devops Intro - Devops for Unicorns & DevOps for HorsesDevops Intro - Devops for Unicorns & DevOps for Horses
Devops Intro - Devops for Unicorns & DevOps for Horses
 
MERGE 2016 Opening Remarks
MERGE 2016 Opening RemarksMERGE 2016 Opening Remarks
MERGE 2016 Opening Remarks
 
Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?
 
Introduction to DevOps - Rackspace tech night
Introduction to DevOps - Rackspace tech nightIntroduction to DevOps - Rackspace tech night
Introduction to DevOps - Rackspace tech night
 
Devops
DevopsDevops
Devops
 
DevOps: A Culture Transformation, More than Technology
DevOps: A Culture Transformation, More than TechnologyDevOps: A Culture Transformation, More than Technology
DevOps: A Culture Transformation, More than Technology
 
Patterns and Practices of a Successful DevOps Transformation
Patterns and Practices of a Successful DevOps TransformationPatterns and Practices of a Successful DevOps Transformation
Patterns and Practices of a Successful DevOps Transformation
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
 
SUCCEEDING WITH DEVOPS DEVOPS
SUCCEEDING WITH DEVOPS DEVOPSSUCCEEDING WITH DEVOPS DEVOPS
SUCCEEDING WITH DEVOPS DEVOPS
 
Devops ppt
Devops pptDevops ppt
Devops ppt
 
Application Security Epistemology in a Continuous Delivery World
Application Security Epistemology in a Continuous Delivery WorldApplication Security Epistemology in a Continuous Delivery World
Application Security Epistemology in a Continuous Delivery World
 
Devops skills you got what it takes ?
Devops skills   you got what it takes ?Devops skills   you got what it takes ?
Devops skills you got what it takes ?
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
Enterprise-Grade DevOps Solutions for a Start Up Budget
Enterprise-Grade DevOps Solutions for a Start Up BudgetEnterprise-Grade DevOps Solutions for a Start Up Budget
Enterprise-Grade DevOps Solutions for a Start Up Budget
 
Achieving DevOps using Open Source Tools in the Enterprise
Achieving DevOps using Open Source Tools in the EnterpriseAchieving DevOps using Open Source Tools in the Enterprise
Achieving DevOps using Open Source Tools in the Enterprise
 
5 Keys to Building a Successful DevOps Culture
5 Keys to Building a Successful DevOps Culture5 Keys to Building a Successful DevOps Culture
5 Keys to Building a Successful DevOps Culture
 

Similar to DevOpsing Greenfield - AgileDC2018 - Mills - v1.4 2018.10.15

What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...Edureka!
 
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps MaturitySD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps MaturityBrian Dawson
 
How to choose Enterprise tools to build out your Continuous Delivery toolscape
How to choose Enterprise tools to build out your Continuous Delivery toolscapeHow to choose Enterprise tools to build out your Continuous Delivery toolscape
How to choose Enterprise tools to build out your Continuous Delivery toolscapeXebiaLabs
 
Experiences Bringing CD to a DoD Project
Experiences Bringing CD to a DoD ProjectExperiences Bringing CD to a DoD Project
Experiences Bringing CD to a DoD ProjectGene Gotimer
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation ProjectsAmazon Web Services
 
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ... Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...Weaveworks
 
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_custdennisn129
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?jeckels
 
Measure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryMeasure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryAnand Chauhan
 
Mastering DevOps With Oracle
Mastering DevOps With OracleMastering DevOps With Oracle
Mastering DevOps With OracleKelly Goetsch
 
Easing Cloud Migrations with Software Pipelines as a Service - Christopher J...
 Easing Cloud Migrations with Software Pipelines as a Service - Christopher J... Easing Cloud Migrations with Software Pipelines as a Service - Christopher J...
Easing Cloud Migrations with Software Pipelines as a Service - Christopher J...AWS Chicago
 
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018AgileNetwork
 
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryDOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryGene Kim
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...CollabNet
 
Comprehensive Guide to Hire DevOps Engineer.pdf
Comprehensive Guide to Hire DevOps Engineer.pdfComprehensive Guide to Hire DevOps Engineer.pdf
Comprehensive Guide to Hire DevOps Engineer.pdfEcosmobTechnologies1
 
Software architecture in a DevOps world
Software architecture in a DevOps worldSoftware architecture in a DevOps world
Software architecture in a DevOps worldBert Jan Schrijver
 
Choosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the EnterpriseChoosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the EnterpriseXebiaLabs
 
Untangling DevOps - A high-level overview and how we got here
Untangling DevOps -  A high-level overview and how we got hereUntangling DevOps -  A high-level overview and how we got here
Untangling DevOps - A high-level overview and how we got hereBarton George
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream AgileCollabNet
 

Similar to DevOpsing Greenfield - AgileDC2018 - Mills - v1.4 2018.10.15 (20)

What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
 
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps MaturitySD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
 
How to choose Enterprise tools to build out your Continuous Delivery toolscape
How to choose Enterprise tools to build out your Continuous Delivery toolscapeHow to choose Enterprise tools to build out your Continuous Delivery toolscape
How to choose Enterprise tools to build out your Continuous Delivery toolscape
 
Experiences Bringing CD to a DoD Project
Experiences Bringing CD to a DoD ProjectExperiences Bringing CD to a DoD Project
Experiences Bringing CD to a DoD Project
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
 
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ... Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
 
Measure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryMeasure and Accelerate Your Software Delivery
Measure and Accelerate Your Software Delivery
 
Mastering DevOps With Oracle
Mastering DevOps With OracleMastering DevOps With Oracle
Mastering DevOps With Oracle
 
Easing Cloud Migrations with Software Pipelines as a Service - Christopher J...
 Easing Cloud Migrations with Software Pipelines as a Service - Christopher J... Easing Cloud Migrations with Software Pipelines as a Service - Christopher J...
Easing Cloud Migrations with Software Pipelines as a Service - Christopher J...
 
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
 
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryDOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...
 
Comprehensive Guide to Hire DevOps Engineer.pdf
Comprehensive Guide to Hire DevOps Engineer.pdfComprehensive Guide to Hire DevOps Engineer.pdf
Comprehensive Guide to Hire DevOps Engineer.pdf
 
Software architecture in a DevOps world
Software architecture in a DevOps worldSoftware architecture in a DevOps world
Software architecture in a DevOps world
 
Choosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the EnterpriseChoosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the Enterprise
 
Untangling DevOps - A high-level overview and how we got here
Untangling DevOps -  A high-level overview and how we got hereUntangling DevOps -  A high-level overview and how we got here
Untangling DevOps - A high-level overview and how we got here
 
Enabling Agility Through DevOps
Enabling Agility Through DevOpsEnabling Agility Through DevOps
Enabling Agility Through DevOps
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream Agile
 

Recently uploaded

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Recently uploaded (20)

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

DevOpsing Greenfield - AgileDC2018 - Mills - v1.4 2018.10.15

  • 1. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 1 DevOpsing Your Greenfield: Cultivating New Growth Richard Mills DevOps Solution Lead, Coveros Inc. rich.mills@coveros.com @armillz
  • 2. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 2 Who is this guy? • Me: Mad-Software-Developer turned Mad-Software-Engineer turned DevOps-Solution-Lead. Pragmatist. Particular focus on tools and automation. CI, CD, DevOps … what’s next? • PS: Thanks for inventing the term “DevOps” to describe what I like to do. • Pays my bills: Coveros helps organizations accelerate the delivery of secure, reliable software using agile methods. • Agile transformations, development, and testing • DevOps implementations • Training courses in Agile, DevOps, Application Security • Keeps me intrigued: SecureCI • Open-source DevOps product • Integrated CI stack with security flavor
  • 3. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 3 Why is he here? • Open your mind about most important aspects of "new" DevOps • Share some of my experiences (and failures) • Give you a reference to walk away with • NOT: Explain fundamentals of DevOps (or Agile) • NOT: Sell you on DevOps (or Agile)
  • 4. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 4 Somewhere in our DevOps dreams... I want to do some DevOps and Agile on our important new project! Great. How about this? Let’s BE Agile and adopt a DevOps approach to structuring our teams, designing our architecture, and leveraging automation to rapidly deliver value to our customers? Right. That’s what I said. Sigh
  • 5. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 5 Typical DevOps Transformation • Frequently a fire-fighting effort • Find the most important thing, improve it • You have something concrete to start with, so you just start fixing it.
  • 6. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 6 Greenfield DevOps • Wide open options • No obvious path • Nothing to grab onto yet, so nothing to "fix" and no clear direction to follow It can seem like an overwhelming boulder, at times.
  • 7. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 7 You have ONE job • Don't blow it • You have a clean slate • Don’t create your own dumpster fire We want fire proofing, not fire starting.
  • 8. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 8 General Agenda • DevOps baseline – picking the seeds • Greenfield approach – planting the seeds • Important aspects for cultivating growth • Organization structure and mission • Infrastructure and tools • Pipeline design with delivery and branching model • Integrating with your architecture • Testing and quality analysis Each of these could be multi-hour topics.
  • 9. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 9 DevOps – picking the seeds
  • 10. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 10 The Many Things of DevOps Notice that not many of these are PURELY the responsibility of one person or even team
  • 11. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 12 Ok, But What Do We Actually Mean by DevOps? • DevOps is the natural evolution of Agile: how to get working software into the hands of the people who need it rapidly and reliably • Who? Developers, Product Owners, ultimately users • When? Now! • Seriously … within weeks we can measure delivery with "minutes" • How? Team structure, processes, automation, tools • Extension of Agile • Focus on value delivery • Common sense • Enable developers to be creative and do great work • Work with developers to integrate system architecture with deployment architecture • Absolutely makes things easier and work better • Examples: metrics, testing, health, scaling
  • 12. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 16 Greenfield approach – planting the seeds
  • 13. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 17 So ... Where do we actually start? It’s actually pretty easy: 1. Create a team 2. Set up some infrastructure and tools 3. Build a pipeline 4. Establish quality gates 5. Iterate Ok, It’s a little harder than that...
  • 14. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 18 Most Important: Iterate! • Don't solve everything at once (breadth first) • Don't even solve one thing all the way (depth first) • Get the most important things functional, then improve over time • Start left, build toward the right. Most important first. • Don't paint yourself into a corner, but don't over-engineer • Wait until you know what you need for things that are easy to rework • Caveat: beware things that are immensely hard to re-work. • Start with the simplest thing that could work Remember: DevOps is about delivering value, not just making things cool.
  • 15. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 20 Team structure and mission
  • 16. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 21 Avoid DevOps Team Anti-Patterns •Separate silos •Dev, Ops, DevOps silos •No Ops http://web.devopstopologies.com/
  • 17. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 22 Successful DevOps Organizational Structures Build the right relationships between the people with shared success goals. • Ideal: Cross functional teams with Dev, Ops & QA • Shared goals and values • Collaborative • Unified processes and tooling • Maybe: DevOps as a service • Smaller teams/orgs • Transitional situations • Sometimes: Embedded Ops • Suitable for single web-based product
  • 18. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 23 Horizontal DevOps Guild • Group of DevOps professionals working together to solve cross-team DevOps problems • Guild members in-team are focused on team-specific problems • Dedicated guild members support cross-team needs • Guild establishes cross-team standards and shared success • Important: share knowledge across team members Cross-team function (vs. cross-functional team)
  • 19. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 24 Example DevOps Guild and Team Structure Our team organization on a 50-ish person development project Horizontal Guilds DevOps Engr CORE DevOps Lead Platform Engr CORE Platform Lead Platform Engr Security Security Security Performance Performance Agile Vertical Team Scrum master DevOps Engr Biz Analyst Agile Tester Front End Full Stack Agile Vertical Team Scrum master DevOps Engr Biz Analyst Agile Tester Front End Full Stack Agile Vertical Team Scrum master DevOps Engr Biz Analyst Agile Tester Front End Full Stack Agile Vertical Team Scrum master DevOps Engr Biz Analyst Agile Tester Front End Full Stack
  • 20. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 25 Finding the Right DevOps Members • A good DevOps person ... • ... Is a Developer • ... Is a Tester • ... Knows about system administration • ... Has strong attention to detail • ... Has high standards for quality • ... Knows how to solve problems • ... Good at making things work • Has experience and skills with build tools (maven, gradle, npm), test tools (junit, testNG, Selenium), database programming (sql, no-sql), CI build servers (Jenkins, Travis), operating systems (Linux, Windows), software installation/configuration (nginx, tomcat, databases), CM automation tools (chef, puppet, ansible), scripting (python, groovy, ruby), cloud systems (AWS, Google, Azure), virtualization and containerization (virtualbox, vmware, docker), and many, many other buzzwords (REST, HTTP, SSL, API, UI, e2e)
  • 21. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 28 Infrastructure and Tools
  • 22. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 29 Application Lifecycle Mgmt. SCM/VCS Testing Deployment Cloud/IaaS/PaaS Communication & ChatOps Knowledge Sharing Configuration Mgmt. Artifact Management Orchestration & Scheduling Monitoring & Logging Database Management Build Continuous Integration Analysis Tools, tools, and more tools
  • 23. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 30 Application Lifecycle Mgmt. SCM/VCS Testing Deployment Cloud/IaaS/PaaS Communication & ChatOps Knowledge Sharing Configuration Mgmt. Artifact Management Orchestration & Scheduling Monitoring & Logging Database Management Build Continuous Integration Analysis Let’s start with LESS tools
  • 24. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 31 Infrastructure Platforms • Infrastructure: Operating Platform • Server platform - physical, VM, container • OS configuration • Middleware installation and configuration (java, nginx, tomcat, database, message queue, etc.) • DevOps Infrastructure: DevOps Platform • Build server (Jenkins) • Quality analysis server (SonarQube) • Artifact server (Nexus) • Source control server (Git) • Test server(s)? (Selenium) • Target environment for CI/CD builds (see: Operating Platform) • Developer Infrastructure: local development
  • 25. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 34 DevOps Platform • DevOps Platform - the set of tools and environments you use • Start with your operating platform, build from there • Jenkins - build and pipeline orchestration tool • SonarQube - quality analysis dashboard • OpenShift & Docker - deployment and configuration • Pick some assessment tools: • JUnit, Jest • OWASP Dependency Check • Selenium • Again, start manually then move to automation
  • 26. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 35 Example Platform Architecture • Ideally, your “operating platform” and “DevOps platform” share a lot of underlying infrastructure AWS Instance Open Shift Cluster Pod AWS Instance AWS Instance Pod Pod Pod Pod Micro-Service App Code PodPod DevOps Tools Pod AWS Instance Shared Service AWS RDS Shared DB
  • 27. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 36 Align the Developers • Developer Environments - align with operational platform • Should be able to fetch code build with very little effort; well documented, highly automated • Local deploy/test cycle should be similar to operational (e.g., VM, docker, Operating system, etc.) • Caveat: support rapid change/build/test cycles supported by modern IDEs
  • 28. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 39 Constructing the Delivery Pipeline
  • 29. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 41 Pipeline and Tools Use automation and tools to continuously assess quality, performance, and security in rapid feedback loops Continuous MonitoringContinuous Integration BuildCode Continuous Delivery commit DEV TEST PROD Compile Test Package Publish Unit Test Integration Test Code coverage Code Scanning Static Analysis Bugs Vulnerabilities Technical Debt Package Dependency checking Vulnerable components Deploy Test Provision Install Configure Vulnerability Scanning Deployment verification Smoke test Manual Testing - Exploratory - UAT Functional Testing - Behavioral - API - Web UI Non-Functional Testing - Load/Performance - Web Security Platform Vulnerabilities Test Results Defects Change Requests Test Promote Operate Monitor
  • 30. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 43 Branching Strategy • Strive for "main line" development • Use short, small feature branches for isolated changes • Consider Github Flow (very simple), Git Flow (complex) • Avoid "parallel release development" at all costs • What problems does branching cause vs. solve? • Align with your delivery pipeline
  • 31. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 45 Integrating with Software Architecture • Not all software lends itself to easy build, test, and deployment • Work directly with software architecture and development teams • Software must support • Rapid build • Automated test (controllability, observability) • Data initialization • Installation/configuration • Monitoring/metrics • Standards and "Definition of Done" should reflect this • Development stories aren’t complete until all these things work
  • 32. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 47 Testing and quality analysis
  • 33. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 48 Your efforts in DevOps will fail without proper automated testing and assessment that is fully integrated into the pipeline.
  • 34. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 49 Goals for Testing in DevOps • Keep software in continuous working state • Establish confidence in change • Force teams to build quality in (and agree it’s important) • Avoid creating too much technical debt too early Important: everywhere I say “Quality” I mean “Quality, Security, Performance, and all the other –ilities” you can think of for your software.
  • 35. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 51 Quality Gates are Critical Quality gates ensure that bad code cannot make it through the pipeline • Static analysis - set gates early; avoid tech debt • Standards: style, bugs, vulnerabilities (standards not as important as following them) • 3rd party dependency analysis - vulnerabilities, licensing • Testing phases • Pre-deployment testing - unit, component, mocking • Post-deployment functional testing - services, integration, databases, etc. • Non-functional testing - security, performance, reliability, availability • Code Review • Tie to branching process (Github pull requests) • Small feature branches help this Start left, move right (quickly)
  • 36. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 53 Getting Started with DevOps Testing Create ONE of each test and make sure it gets executed by the DevOps pipeline continuously • Cover each test level • Unit • UI • API • Security • Once the test framework is in place, it removes the barrier and enables test writing • Pitfall: initially, your test results will be all over the place. You will realize the need for a “quality dashboard”
  • 37. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 55 Greenfield DevOps: Grow!
  • 38. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 56 Start Small, Make It Work • Launch basic DevOps tools (Jenkins, Sonar, Nexus, Git) • Setup basic CI builds • Developers use same gradle/npm build scripts as the pipeline • Create some quality gates • SonarQube static analysis • Unit testing • Code coverage (maybe) • Create a test environment (by hand, if need be) • Initialize deployment automation • Docker deploy, Ansible installation • Developers use same (similar) local deployment All this can be done in days or weeks with the right people
  • 39. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 60 Generating Value Remember, the main goal of DevOps is to deliver working code to the people who need it • Prioritize what the developers need first • Get software in front of stakeholders ASAP Keep it real • Don’t get hung up on making things perfect at first • Establish quality gates to avoid (too much) technical debt
  • 40. © COPYRIGHT 2018 COVEROS, INC. ALL RIGHTS RESERVED. 61 Questions? Thank you! rich.mills@coveros.com https://www.coveros.com/services/devops/