devops 101

25
DevOps 101 Christopher Livett

Upload: qualitest-group

Post on 07-Jan-2017

180 views

Category:

Software


0 download

TRANSCRIPT

Page 1: DevOps 101

DevOps 101Christopher Livett

Page 2: DevOps 101

2

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

Page 3: DevOps 101

3

Agile Overview

Page 4: DevOps 101

4

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

Page 5: DevOps 101

5

Frameworks and Methodologies

| Frameworks| Scrum (1995)| Lean (2003)| Kanban (2007)| Scrumban (2009)| SAFe (2011)

| Methodologies| Pair Programming (1995)| Extreme Programming (1999)| Continuous Integration (1999)| TDD (2002)| BDD (2006)| DevOps (2009)

Page 6: DevOps 101

6

Scrum Framework| Product Owner

| Scrum Master

| Dev Team| Developers| Testers| Business Analysts| Architects

Page 7: DevOps 101

7

Development Principles

| Short release cycles| Feature driven| Pair programming| Test Driven Development| “Just in time” design| Flat management| Simplicity and clarity

Page 8: DevOps 101

8

What is missing?

Page 9: DevOps 101

9

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

Page 10: DevOps 101

10

Development to Production

Day 1 - 9 Day 10

Page 11: DevOps 101

11

<- No trust ->

| Skills| Software| Development| Automation| Innovation

| Skills| Monitoring| Analysis| Management

| Responsibilities| Coding| Builds| Deployments| Testing

| Responsibilities| Changes| Servers| Deployments| Stability

Developers and Operations

Page 12: DevOps 101

12

Introducing DevOps

Page 13: DevOps 101

13

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

Page 14: DevOps 101

14

Evolution of DevOps

Page 15: DevOps 101

15

DevOps in Practice

Page 16: DevOps 101

16

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

| Test and Build| Jenkins| Bamboo

| Deployment| Capistrano

| Containerisation| LXC| Docker

| Configuration management| Chef| Puppet

| Security| Tripwire| Veracode

Page 17: DevOps 101

17

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

Page 18: DevOps 101

18

QualiTest and DevOps

Page 19: DevOps 101

19

IncreasedTesting 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

Page 20: DevOps 101

20

Continuous Testing

Page 21: DevOps 101

21

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

Page 22: DevOps 101

22

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

Page 23: DevOps 101

23

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

Page 24: DevOps 101

www.QualiTestGroup.com

Questions?

Page 25: DevOps 101

www.QualiTestGroup.com

Thank you!