Post on 15-Apr-2017
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