Implementing DevOps In Practice

Preview:

Citation preview

Implementing DevOps

In practice

Zoltán Németh

Engineering Manager, Core Systems

About the

presenter Age 36, Married, father of

two

Geek since ~30 years

Ustreamer for 5 years

Dev, Ops, Management

at a

glanceLive streaming

Free broadcastingSoftware as a Service

Big events

• Sony Playstation

• Nintendo

• Lady Gaga

• Festivals

Citizen journalism

• Rescue of Chilean miners

• Earthquake in Japan

• Revolutions in Egypt, Syria

• Protests in Ukraine

• Obama campaign

• Climate Reality

• Football

• Justin Bieber

Concurrent viewership peaks at almost 2 million

Ustream timeline

2007: founded

2010-11: first big expansion

2013: shift focus to Pro Broadcasting

2014: SaaS product line launched

2015: current engineering setup: 12 teams, ~100

people

Agenda

What is DevOps?

Why DevOps?

Implementing

Organizational changes

Takeaways

Origins Agile 2008: “Agile

infrastructure”

DevOps Days, from 2009

Belgium

Cloud, scaling, automation

command line is not

enough

Netflix, Etsy, Github

O’Reilly Velocity

Devs

Before DevOps

Ops

QA

Devs Ops

They build it

Development is single

responsibility

No access to production

systems

“It worked on my machine”

They deploy and run it

Control and operate all

prod servers

Restrict access

On duty rotation

“You mess it up and I have

to wake up when it fails”

Devs

The release engineer

Ops

QA

Cross functional teams

The Agile way – first step towards DevOps

No strict team boundaries

No more silos

What is DevOps?

The DevOps movement emphasizes communication,

collaboration and integration between software

developers and IT operations (New Relic)

The set of cultural norms and technical practices that

enable organizations to have a fast flow of work from

development through test and deployment, while

preserving world-class reliability, availability, and

security. (Gene Kim)

What is DevOps? Agile Manifesto

Continuous Integration

Continuous Deployment

Cross functionality

Shared responsibilities,

trust

Everyone on Duty

Metrics and Monitoring

Toolchain

Implementing Redefine roles

“Old guard” problem

Knowledge sharing

Permissions and

responsibility

Audit logs

Ops reserved areas

Metrics Dashboards

Graphite

Dashing

Code metrics

Static analysis

Test coverage

Real user metrics

Automate all the

things

Build

Jenkins

Gradle

Deployment

Deb packages

Immutable images

Automatic scaling

Alerting & Duty Everyone involved

Meaningful checks

Self-aware applications

Tooling

Admin

Logs

Debug

OpenDuty Open source alerting tool

Supports different

notification methods

Incident handling

Personal configuration

Escalation policies

PagerDuty compatible API

Mobile Web View

DevOps Culture Ownership

Autonomy

Alignment

Challenge

Culture as a Weapon

Takeaways We all row the same boat

Ownership leads to

responsibility

Automate all the things

Metrics, Monitoring,

Alerting

Tools

Questions

syntaxerror@ustream.tv

Recommended