fundamental concepts of devops

46
DevOps Fundamentals An introduction by Kiril Serebnik January 2016

Upload: kiril-serebnik

Post on 13-Apr-2017

58 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Fundamental Concepts of DevOps

DevOps Fundamentals

An introduction by Kiril SerebnikJanuary 2016

Page 2: Fundamental Concepts of DevOps

About myselfAND KEY EVENTS IN HISTORY OF DEVOPS

Page 3: Fundamental Concepts of DevOps

me

Page 4: Fundamental Concepts of DevOps

we

Page 5: Fundamental Concepts of DevOps

The tail-wagger

Page 6: Fundamental Concepts of DevOps

2000

Page 7: Fundamental Concepts of DevOps

2000

2001Agile

Manifesto

Page 8: Fundamental Concepts of DevOps

2000 200

6

2001Agile

Manifesto

Page 9: Fundamental Concepts of DevOps

2006

2008DevOps

Movement kick started during Agile conference

2009O’Reilly Velocity

conference was dedicated

to DevOps

2010First DevOps Conference – DevfOpsDaysWas held in

the US2011DevOps

Community starts to

develop tools like Vagrant, Chef, Puppet

First DevOps Job notice appears in

media

2013Flood of DevOps

related books starts to appear

2014

2015

2001Agile

Manifesto

2000

Page 10: Fundamental Concepts of DevOps

Agile Manifesto and principlesOn February 11-13, 2001, at The Lodge at Snowbird ski resort in the Wasatch mountains of

Utah, seventeen people met to talk, ski, relax, and try to find common ground, and of course, to

eat. What emerged was the Agile Software Development Manifesto. Representatives from

Extreme Programming, SCRUM, DSDM, Adaptive Software Development, Crystal

Clear, Feature-Driven Development, Pragmatic Programming, and others sympathetic to

the need for an alternative to documentation driven, heavyweight software development

processes convened.

Page 11: Fundamental Concepts of DevOps

Agile Manifesto and principlesprocesses and tools over Individuals and

interactionscomprehensive documentation over Working software

contract negotiation over Customer collaboration

following a plan over Responding to change

http://agilemanifesto.org/ Sorry for awful background. This is the actual background for Agile Manifesto site

Page 12: Fundamental Concepts of DevOps
Page 13: Fundamental Concepts of DevOps

foundationsI

continuationII

toolchainIII

Page 14: Fundamental Concepts of DevOps

DevOps transformatio

nPROCESS Transformation

TECHNOLOGY TransformationCULTURE Transformation

Page 15: Fundamental Concepts of DevOps

PROCESS• Operations and development

engineers participate together in the entire service life-cycle from design through to production support

• An incident command system is in place where the development team is involved in incident resolution

• Processes are re-engineered to be more efficient, lean and repeatable

smooth the process of developing and releasing code

Page 16: Fundamental Concepts of DevOps

TECHNOLOGY• DevOps technology

improvements place reliance on build, test and release automation along with orchestration across technologies and integrated tool chains

• Infrastructure is treated as code

• The DevOps team delivers small chunks of value to the developers more often

• Recovery oriented computing – fail forward

keeping the heart beating

Page 17: Fundamental Concepts of DevOps

CULTURE • High trust, team culture demonstrating effective, seamless cross-functional collaboration and open communications

• Demonstrated servant leadership – enable and serve from the top down

• Established collective ownership

• Creativity is encouraged

collaboration mindset between individuals

Page 18: Fundamental Concepts of DevOps
Page 19: Fundamental Concepts of DevOps
Page 20: Fundamental Concepts of DevOps

Continuous … Everything

Don’t stop to improve any PROCESS, SERVICE, PRODUCT

Page 21: Fundamental Concepts of DevOps

Continuous INTEGRATION

changes are immediately built, tested and reported on when they are

added to a larger code base.

build

test

immediate feedback on system-wide impact of local changes

gathered metrics show overall code quality

Continuous VALIDATIONfail

pass

Page 22: Fundamental Concepts of DevOps

Continuous VALIDATION

shared provider of both scheduled and event-driven regression and

performance test suits

extreme visibility into the entire architecture of a product both at component and system-vide level

avoided failures, reduced testing and release costs, picture of health of

the product on constant basisContinuous DELIVERYcomponent component

fail

pass

Page 23: Fundamental Concepts of DevOps

Continuous DELIVERY

teams produce software in short cycles, ensuring that the software may be

reliably conveyed for consistent, low-risk releases at any time

releasing software faster and more frequently

help organization to remain lean, agile and innovative

independently of its sizeContinuous DEPLOYMENT

component

component

Page 24: Fundamental Concepts of DevOps

Continuous DEPLOYMENT

any piece of code written for a product instantly brought to production following well defined deployment

routeconsistently deploy code to production as features are completed, and as soon as they have met the release

criteriaContinuous IMPROVEMENTcustomer

customer

always have a possibility to get a root cause of unexpected failures in the

system and eliminate them

Page 25: Fundamental Concepts of DevOps

Continuous IMPROVEMENT

releasing software faster and more frequently

organization remains lean, agile and innovative no matter the size

customer

customer

Page 26: Fundamental Concepts of DevOps

integration validation delivery deployment improvement

Page 27: Fundamental Concepts of DevOps

minimize lead time, the time elapsed between development

writing one new line of code and this new code being used by live users, in production

Integration

Validation

Delivery

Deployment

Improvement

Page 28: Fundamental Concepts of DevOps
Page 29: Fundamental Concepts of DevOps
Page 30: Fundamental Concepts of DevOps
Page 31: Fundamental Concepts of DevOps

ToolchainUltimate DevOps Bedrock

Page 32: Fundamental Concepts of DevOps

BI Monitoring Collaboration Continuous Integration

Build

Depl

oym

ent

Release Management

Repo Management

Security

Source Code

Management

Logging

Config Management

Networking

Config Provisioning

Testing

Cloud IaaS

Data

base

s

Micro Services

Provisioning

Page 33: Fundamental Concepts of DevOps

Collaboration Continuous Integration

Build Cloud IaaS

Data

base

s

Depl

oym

ent

Micro Services Release Management

Security

Source Code

Management

Config Provisioning

Testing

BI Monitoring

Repo Management

Logging

Provisioning

Config Management

Networking

Page 34: Fundamental Concepts of DevOps

Cloud IaaS

Data

base

s

Depl

oym

ent

Micro Services Release Management

Security

BI Monitoring

Repo Management

Logging

Provisioning

Config Management

Collaboration Continuous Integration

Build

Source Code

Management

Config Provisioning

Testing

Networking

Page 35: Fundamental Concepts of DevOps

BI Monitoring Collaboration Continuous Integration

Build

Depl

oym

ent

Release Management

Repo Management

Security

Source Code

Management

Logging

Config Management

Networking

Config Provisioning

Testing

Cloud IaaS

Data

base

s

Micro Services

Provisioning

Page 36: Fundamental Concepts of DevOps

Cloud IaaS

Data

base

s

Depl

oym

ent

Micro Services Release Management

Security

BI Monitoring

Repo Management

Logging

Provisioning

Config Management

Collaboration Continuous Integration

Build

Source Code

Management

Config Provisioning

Testing

Networking

Page 37: Fundamental Concepts of DevOps

Cloud IaaS

Data

base

s

Depl

oym

ent

Micro Services Release Management

Security

BI Monitoring

Repo Management

Logging

Provisioning

Config Management

Build

Config Provisioning

Testing

Networking

Page 38: Fundamental Concepts of DevOps

Data

base

s

Depl

oym

ent

Release Management

BI Monitoring

Logging

Provisioning

Build

Testing

Config ManagementConfig Provisioning

Page 39: Fundamental Concepts of DevOps

BI Monitoring Collaboration Continuous Integration

Build

Depl

oym

ent

Release Management

Repo Management

Security

Source Code

Management

Logging

Config Management

Networking

Config Provisioning

Testing

Cloud IaaS

Data

base

s

Micro Services

Provisioning

Page 40: Fundamental Concepts of DevOps
Page 41: Fundamental Concepts of DevOps
Page 42: Fundamental Concepts of DevOps
Page 43: Fundamental Concepts of DevOps
Page 44: Fundamental Concepts of DevOps

Analysts:

Page 45: Fundamental Concepts of DevOps

DEVOPS

Page 46: Fundamental Concepts of DevOps