WHAT CAN DEVOPS LEARN FROM OPS Dev Stephen Burton, Tech - - PowerPoint PPT Presentation

what can devops learn from
SMART_READER_LITE
LIVE PREVIEW

WHAT CAN DEVOPS LEARN FROM OPS Dev Stephen Burton, Tech - - PowerPoint PPT Presentation

WHAT CAN DEVOPS LEARN FROM OPS Dev Stephen Burton, Tech Evangelist @BurtonSays ABOUT ME App Support Developer Systems Engineer Pre-Sales Product Management Tech Evangelist WHO IS THIS? 2011 Formula 1 World Champion


slide-1
SLIDE 1

WHAT CAN DEVOPS LEARN FROM

Dev

OPS

Stephen Burton, Tech Evangelist @BurtonSays

slide-2
SLIDE 2

ABOUT ME

  • App Support
  • Developer
  • Systems Engineer
  • Pre-Sales
  • Product Management
  • Tech Evangelist
slide-3
SLIDE 3

WHO IS THIS?

2011 Formula 1 World Champion Sebastian Vettel

slide-4
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
SLIDE 5

WHY THIS PRESENTATION?

Formula 1 is about delivering Success through Innovation, Agility and Change

slide-6
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
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
SLIDE 8

F1 CARS LOOKS SIMPLE

slide-9
SLIDE 9
slide-10
SLIDE 10
slide-11
SLIDE 11

APPS LOOKS SIMPLE

slide-12
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
SLIDE 13

REALLY

slide-14
SLIDE 14

REALLY REALLY

slide-15
SLIDE 15

REALLY REALLY REALLY

slide-16
SLIDE 16

HOLY SH!T REALLY

slide-17
SLIDE 17

A SIMPLE LOGIN TRANSACTION

slide-18
SLIDE 18

SUCCESS IN FORMULA 1

is Winning Races

slide-19
SLIDE 19

Dev

O P S

Developers want Agility & Change Operations want Availability & Stability

WHAT IS SUCCESS FOR DEVOPS ?

slide-20
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
SLIDE 21

SO HOW DO F1 TEAMS MANAGE CHANGE?

slide-22
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
SLIDE 23

FORMULA 1

Ideas Win Races

slide-24
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
SLIDE 25

F1 CAR LIFECYCLE

Develop Test Support Deploy Design Engineers work hand in hand with Operations.

Race Weekend

slide-26
SLIDE 26

CHANGE ISN’T EASY

Being Competitive doesn’t happen overnight

slide-27
SLIDE 27

MEASURING SUCCESS

  • Downforce
  • Performance
  • Reliability
  • Race Wins

Telemetry & Monitoring Driver Results Monitoring is critical to Managing Change

slide-28
SLIDE 28

MONITOR & MANAGE IMPACT OF CHANGE

Fast Slow Fail

slide-29
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
SLIDE 30

SO, DO YOU KNOW HOW FAST AND RELIABLE YOUR CODE IS IN PRODUCTION?

<1% of Developers did at last Event

slide-31
SLIDE 31

This Developer knew how fast his code was.

(His code just crashed Production)

slide-32
SLIDE 32

CODE CAN BE FUNCTIONALLY PERFECT

Text But how Fast and Reliable will it be?

slide-33
SLIDE 33

3 KEY THINGS IMPACT APPLICATION PERFORMANCE

Concurrency Data Volume Resource

slide-34
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
SLIDE 35

HANDS UP IF YOU DO

PERFORMANCE TESTING

ON EVERY RELEASE

(Its tough with Agile cycles)

slide-36
SLIDE 36

DEV SUCCESS ISN’T HANDING OVER A RELEASE TO OPS

DEPLOY ME

slide-37
SLIDE 37

GIFTS CAN HAVE SURPRISES NOBODY LIKES SURPRISES

slide-38
SLIDE 38

DEV SUCCESS ISN’T THE APP LASTING 1 HOUR IN PRODUCTION

slide-39
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
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
SLIDE 41

Fabian Lange, Head of Performance, Code-Centric

WHAT YOU CAN’T SEE CAN HURT YOU

slide-42
SLIDE 42

REAL-LIFE SURPRISES

slide-43
SLIDE 43

WORK LOAD SPIKES - SCALABLE

BLUE - Concurrency (Trx/min) GREEN - Avg Response Time RED - Resource (CPU %)

slide-44
SLIDE 44

WORK LOAD SPIKES - NOT SCALABLE

BLUE - Concurrency (Trx/min) GREEN - Avg Response Time

slide-45
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
SLIDE 46

EXCESSIVE DATA ACCESS

Whose responsible for this? Ops?

slide-47
SLIDE 47

SLOW SQL QUERIES

Whose responsible for this? Ops?

slide-48
SLIDE 48

NESTED LOOP CODE LOGIC

Whose responsible for this? Ops?

slide-49
SLIDE 49

IMAGINE F1ENGINEERS WITH NO RACE VISIBILITY

Develop Test Support Deploy Design Engineers wouldn't learn anything.

Race Weekend

slide-50
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
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
SLIDE 52

T-SHIRTS & PRODUCTION VISIBILITY?

Available at AppDynamics Booth (11)