Download - Implementing DevOps In Practice
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