SLIDE 1 WHAT CAN DEVOPS LEARN FROM
Dev
OPS
Stephen Burton, Tech Evangelist @BurtonSays
SLIDE 2 ABOUT ME
- App Support
- Developer
- Systems Engineer
- Pre-Sales
- Product Management
- Tech Evangelist
SLIDE 3
WHO IS THIS?
2011 Formula 1 World Champion Sebastian Vettel
SLIDE 4 FORMULA 1
- 20 Races on the World Calendar
- 12 Teams, 24 Cars & Drivers
- 220mph Top Speed, 0-100mph < 4 secs
- Cost is ~5 Million per car
- Accidents happen...
SLIDE 5
WHY THIS PRESENTATION?
Formula 1 is about delivering Success through Innovation, Agility and Change
SLIDE 6 WHY RELATE F1 TO DEVOPS?
“DevOps is about being agile, and going from A-Ha to Cha Ching as quickly as possible”
John Willis DevOps Evangelist
SLIDE 7 COMPARING TEAMS
Formula 1
- Driver
- Sponsors
- Architects
- Designers
- Engineers
- Testing
- Operations
- Support
Applications
- End User
- Business
- Architects
- Designers
- Developers
- Testing
- Operations
- Support
SLIDE 8
F1 CARS LOOKS SIMPLE
SLIDE 9
SLIDE 10
SLIDE 11
APPS LOOKS SIMPLE
SLIDE 12 But complexity lies beneath
Active Directory Tibco BW 3rd Party Web Service Oracle Cassandra Tomcat Tomcat JBoss ASP .NET 3rd Party Web Service SQL Server 3rd Party Java App JBoss
JDBC SOAP ADO.NET HTTP SOAP SOAP LDAP ADO.NET THRIFT JMS THRIFT JMS HTTP
SLIDE 13
REALLY
SLIDE 14
REALLY REALLY
SLIDE 15
REALLY REALLY REALLY
SLIDE 16
HOLY SH!T REALLY
SLIDE 17
A SIMPLE LOGIN TRANSACTION
SLIDE 18
SUCCESS IN FORMULA 1
is Winning Races
SLIDE 19 Dev
O P S
Developers want Agility & Change Operations want Availability & Stability
WHAT IS SUCCESS FOR DEVOPS ?
SLIDE 20
MANAGING CHANGE ISN’T EASY
Design > Build > Test > Deploy > Support Slowdowns Outages Mis-configuration Bottlenecks Bugs End User Complaints Business Requirements Project Plans More Business Requirements
SLIDE 21
SO HOW DO F1 TEAMS MANAGE CHANGE?
SLIDE 22 INTERESTING F1 FACTS
- F1 car has 80,000 components,1KM wiring &100+ sensors
- 99.9% assembled correctly still means 80 POF’s
- Teams can bring up to 30 upgrades per race weekend
- Brakes on F1 Car is like hitting a brick wall at 200mph
- Downforce a baby elephant sitting on drivers head
SLIDE 23
FORMULA 1
Ideas Win Races
SLIDE 24 COLLABORATION TURNS IDEAS INTO REALITY
- Cars Evolve
- Up to 30 new parts per race weekend
- Engineering
- Aero, Engine, Transmission, ....
- Operations
- Mechanics, Telemetry, Pit Crew
SLIDE 25 F1 CAR LIFECYCLE
Develop Test Support Deploy Design Engineers work hand in hand with Operations.
Race Weekend
SLIDE 26
CHANGE ISN’T EASY
Being Competitive doesn’t happen overnight
SLIDE 27 MEASURING SUCCESS
- Downforce
- Performance
- Reliability
- Race Wins
Telemetry & Monitoring Driver Results Monitoring is critical to Managing Change
SLIDE 28
MONITOR & MANAGE IMPACT OF CHANGE
Fast Slow Fail
SLIDE 29 MEASURING CHANGE
- Why were we fast/slow/useless?
- What new parts worked/didn’t work?
- Where did we find time?
- Where do we focus next?
SLIDE 30
SO, DO YOU KNOW HOW FAST AND RELIABLE YOUR CODE IS IN PRODUCTION?
<1% of Developers did at last Event
SLIDE 31
This Developer knew how fast his code was.
(His code just crashed Production)
SLIDE 32
CODE CAN BE FUNCTIONALLY PERFECT
Text But how Fast and Reliable will it be?
SLIDE 33
3 KEY THINGS IMPACT APPLICATION PERFORMANCE
Concurrency Data Volume Resource
SLIDE 34 DEV
Data Volume Resource Concurrency
Not Often QA/TEST
Data Volume Resource Concurrency
Less Often PRODUCTION
Data Volume Resource Concurrency
Often WHERE DO YOU FIND REAL BOTTLENECKS?
SLIDE 35
HANDS UP IF YOU DO
PERFORMANCE TESTING
ON EVERY RELEASE
(Its tough with Agile cycles)
SLIDE 36
DEV SUCCESS ISN’T HANDING OVER A RELEASE TO OPS
DEPLOY ME
SLIDE 37
GIFTS CAN HAVE SURPRISES NOBODY LIKES SURPRISES
SLIDE 38
DEV SUCCESS ISN’T THE APP LASTING 1 HOUR IN PRODUCTION
SLIDE 39 CUSTOMER STORY
- Ops has a 48 hour warranty period with Dev
- If the App experiences consistent slowdowns or outages
- All Tickets get re-assigned to Development
SLIDE 40 DEV & OPS NEED COMMON GOALS
- # Agile Releases or % Availability is pointless
- End User Experience?
- Business Transaction Throughput?
- MTBF and Business Impact?
SLIDE 41 Fabian Lange, Head of Performance, Code-Centric
WHAT YOU CAN’T SEE CAN HURT YOU
SLIDE 42
REAL-LIFE SURPRISES
SLIDE 43
WORK LOAD SPIKES - SCALABLE
BLUE - Concurrency (Trx/min) GREEN - Avg Response Time RED - Resource (CPU %)
SLIDE 44
WORK LOAD SPIKES - NOT SCALABLE
BLUE - Concurrency (Trx/min) GREEN - Avg Response Time
SLIDE 45 2 OUTAGES IN 2 DAYS
Trx/min Avg RT Pool Limit Pool Usage Trx Stalls Production Ground to a halt for 2 hours And again the next day
Who owns JVM Configuration? Ops or Dev?
SLIDE 46
EXCESSIVE DATA ACCESS
Whose responsible for this? Ops?
SLIDE 47
SLOW SQL QUERIES
Whose responsible for this? Ops?
SLIDE 48
NESTED LOOP CODE LOGIC
Whose responsible for this? Ops?
SLIDE 49 IMAGINE F1ENGINEERS WITH NO RACE VISIBILITY
Develop Test Support Deploy Design Engineers wouldn't learn anything.
Race Weekend
SLIDE 50 DEVOPS IS ABOUT LEARNING
- Ops must provide Visibility To Dev
- Common Tools & Processes
- Knowledge Sharing
- Learning from Failure isn’t a bad idea
- If we failed more we’d learn more
Lessons Learned
- Don’t write slow SQL Queries
- Remember to use caching
- Don’t rely on ORM
- Assume everything will fail
- Logging everything is not a good idea
- Remember to do performance testing
SLIDE 51 KEY TIPS FOR DEVOPS
- Define what Real Success is for both Dev and Ops
- Accept Change is the enabler to Success
- Monitor, Measure and Manage Change
- Accept Failures and Learn from them
- Have Fun and work as a Team
SLIDE 52
T-SHIRTS & PRODUCTION VISIBILITY?
Available at AppDynamics Booth (11)