oop 2016 - building software that eats the world

Post on 15-Apr-2017

1.561 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1 @Dynatrace

Andreas Grabner - @grabnerandihttp://bit.ly/dttutorials

Building Software that EATS the World!

Sep 1, 2000

June 29, 2007

Vatican, 2005

Vatican, 2013

2011“In Short,

Software is eating the

world!”https://en.wikipedia.org/wiki/Marc_Andreessen

2015

60%

rate performance/response time as #1 mobile app expectation ahead of features

and functionality(Forrester, Nov 2014)

> 2015

Smart Appliances

Smart Roofs

Disrupting Digital Business – R „Ray“ Wang

700 deployments / year

10 + deployments / day

50 – 60 deployments / day

Every 11.6 seconds

It‘s not about blind automation of pushing more bad code on new stacks through a pipeline

It‘s not about blindly giving everyone Ops powerto deploy changes only tested locally

Monolith ASP.NET

Can‘t scale vertically endlessly!

2.68s Load Time

94.09% CPU Bound

Service Approach!

Frontendto Cloud

Scale Backendin Containers!

7:00 a.m.Low Load and Service runningon minimum redundancy

12:00 p.m.Scaled up service during peak loadwith failover of problematic node

7:00 p.m.Scaled down again to lower loadand move to different geo location

Testing the Backend Service alone scales well …

Go Live - 7am

Go Live - 12pm

What Went Wrong?

26.7s Load Time5kB Payload

33! Service Calls

99kB - 3kB for each call!

171! Total SQL Count

Architecture ViolationDirect access to DB from frontend service

Single Search Query End-to-End

The Fixed End-to-End Use Case

“Re-Architect” vs “Migrate” to Service-Orientation

2.5s (vs 26.7) 5kB Payload

1! (vs 33!) Service Call

5kB (vs 99) Payload!

3! (vs 177) Total SQL Count

You measure it! From Dev(to)Ops

Build 17 testNewsAlert OKtestSearch OK

Build # Use Case Stat # API Calls # SQL Payload CPU

1 5 2kb 70ms1 3 5kb 120ms

Use Case Tests and Monitors Service & App Metrics

Build 19 testNewsAlert OKtestSearch OK

Build 18 testNewsAlert OKtestSearch OK

1 4 1kb 60ms34 171 104kb 550ms

Ops#ServInst Usage RT

1 0.5% 7.2s

1 63% 5.2s

1 4 1kb 60ms2 3 10kb 150ms

1 0.2% 5.2s

5 75% 2.5s

Build 25 testNewsAlert -testSearch OK

- - - -2 3 10kb 150ms

- - -

8 80% 2.0s

Metrics from and for Dev(to)Ops

#1: Analyzing every Unit, Integration & REST API test

#2: Key Architectural Metrics for each test

#3: Detecting regression based on measure per Checkin

#1: Stop Bad Builds in CI

#2: Metrics per Service in Ops

# SQLs per Search

# RESTs per SearchSpot bad Deployment?

Payload per Search

Build & Deliver Apps that can eat the world!

With a Metrics-Driven Pipeline!

12am – 11:59pm

Unicorns 2.0

• Waterfall agile: 3 years• 220 Apps - 1 deployment per month• “EVERY manual tester does Automation”• Virtualized vs Physical• “We don’t log bugs. We fix them.”

• Measures are built in & Visible to everyone• API Teams vs Application Teams• Promote your wins! Educate your peers.

Business Debt

Organizational Rust

Technical Debt

Automation & Virtualization

Some Verizon Achievements since 2012

456 Apps Eliminated

Consolidated from 13 to 5 Data Centers

Virtual Server Footprint from 38% to 75%

Software Renewal Cost slashed by 8M

Hardware Footprint down by 25%

“(Micro)Services” Environments are virtual/cloud and usually 20 times larger

https://www.youtube.com/watch?v=smEuX-Hq6RI - Monitoring Micro Services, Adrian Cockcroft Keynote O’Reilly Software Architecture Conference

Monitoring becomes a Platform Feature

#3 You Automate/Virtualize

#2 You Measure Dev(to)Ops

#1 You Build It, You Run It!

#4 You API vs You App#5 You Eat the World

Andreas GrabnerDynatrace Developer Advocate@grabnerandihttp://blog.dynatrace.comhttp://bit.ly/dtpersonalhttp://www.ruxit.com

top related