DevOps 101
Christopher Livett
Introduction
|Understanding what Agile is
|How software is developed in an Agile environment
|Why there was a need for the DevOps movement
|How DevOps is achieved
|What DevOps means for QualiTest
2
Agile Overview
3
Principles of
Agile
|Individuals and interactions over processes and tools
|Working software over comprehensive documentation
|Customer collaboration over contract negotiation
|Responding to change over following a plan
4
Frameworks and Methodologies
|Frameworks
|Scrum (1995)
|Lean (2003)
|Kanban (2007)
|Scrumban (2009)
|SAFe (2011)
5
|Methodologies
|Pair Programming (1995)
|Extreme Programming (1999)
|Continuous Integration (1999)
|TDD (2002)
|BDD (2006)
|DevOps (2009)
Scrum
Framework
| Product Owner
| Scrum Master
| Dev Team
| Developers
| Testers
| Business Analysts
| Architects
6
Development
Principles
|Short release cycles
|Feature driven
|Pair programming
|Test Driven Development
|“Just in time” design
|Flat management
|Simplicity and clarity
7
What is missing?
8
Issues with
Traditional
Agile
Development
|Short release cycles
| Focus on speed over quality
|Feature driven
| Focus on functionality, no NFRs
|“Just in time” design
| No detailed plans for post-development support
|Flat hierarchy
| Little enforced standards and governance
|Simplicity and clarity
| Minimum level of development
9
Development to Production
10
Day 1 - 9 Day 10
<- No trust ->
|Skills
|Software
|Development
|Automation
|Innovation
11
|Skills
|Monitoring
|Analysis
|Management
|Responsibilities
|Coding
|Builds
|Deployments
|Testing
|Responsibilities
|Changes
|Servers
|Deployments
|Stability
Developers and Operations
Introducing DevOps
12
What is
DevOps?
|Bridging the skill gap between developers and operations
|Operations being part of the team
|Change in mindset from building code to owning code
|Improving efficiency and quality by:
| Automating deployments
| Automating environment configuration
| Automating environment scaling
| Innovating solutions
| Improving development practices
|Improve relationships and cooperation across technology
13
Evolution of DevOps
14
DevOps in
Practice
15
DevOps Tool
Belt
|Infrastructure
| AWS
| OpenStack
|Server monitoring
| Nagios
| New Relic
| Platform Virtualisation
| VMware
| Vagrant
|Log analysis
| ELK
| Logz.io
|Service discovery
| Consul.io
| Collaboration
| Atlassian
16
|Test and Build
| Jenkins
| Bamboo
| Deployment
| Capistrano
|Containerisation
| LXC
| Docker
|Configuration management
| Chef
| Puppet
|Security
| Tripwire
| Veracode
Benefits of
DevOps
|Managed and consistent environments
|Improved collaboration between developers and operations
|Faster feedback of issues
|Less production issues
|Increased stability
|Greater accountability
|Increased throughput from idea to production
|Reduced server costs
17
QualiTest and DevOps
18
Increased
Testing
Concerns
|Continuous testing and monitoring across all stages
|Environment configuration testing
|Performance/Scalability testing
|Security testing
|Alpha/Beta testing
|Feature switch testing
|Risk-based testing
19
Continuous Testing
20
What
DevOps
means for
QAs
|Technical skills are vital
|Automate everything
|Continuous testing at all stages
|Greater focus on testing process
|Closer integration with developers and operations
|Educational role
21
DevOps
opportunities
|Risk assessment
|Designing DevOps continuous testing processes
| Coverage
| Automation
| Types and tools
|Integrating development, testing and monitoring tools
|Non-functional testing
|Knowledge consultancy
22
Summary
|DevOps is a natural evolution of the Agile process
|DevOps aims to achieve improved efficiency, quality and
stability
|Continuous testing and monitoring becomes top priority
|Mindset, skillset and experience required can be a challenge
23
www.QualiTestGroup.com
Questions?
www.QualiTestGroup.com
Thank you!

DevOps 101

Editor's Notes

  • #3 Agenda
  • #5 Brief explanation as to what agile is and what agile is not
  • #6 Insight in to the origins of agile, the different frameworks that have been introduced and formalised, and the methodologies that are often used within agile teams
  • #7 Overview of the scrum framework as an example of an agile framework, highlighting that operations are not part of the majority of agile frameworks
  • #8 Introduction to the developer concerns during the sprint
  • #10 Issues found with agile development. In summary, lack of thought about performance, stability, scalability, monitoring, etc.
  • #11 Explain the issues relating to managing environments, and that the process of deploying and environment configuration changes as the code progresses, often resulting in issues in production
  • #12 Look at where the different skills and responsibilities are with developers vs operations
  • #13 Brief explanation as to what agile is and what agile is not
  • #14 Introduce the concept of DevOps, what their ambitions are and what it means to be part of DevOps
  • #15 Understand how DevOps was developed in order to take complete responsibilities from code to operational support, and that CI/CD was missing operations
  • #16 Example of a DevOps process
  • #17 Example list of tools used in the DevOps process to automate as much of the build, deploy, test and monitor process
  • #18 Some of the many benefits in starting the DevOps process
  • #24 Some of the many benefits in starting the DevOps process