Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment...

43

Transcript of Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment...

Page 1: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart
Page 2: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

Ein Release alle 2 Wochen, ein Deployment alle paar Minuten

Lessons Learned aus einer Digital Transformation

Roman Spitzbart

EMEA Solution Director

Dynatrace

Page 3: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

Dynatrace - Our global enterprise app performance expertise

Fortune 100

8,000+ customers across 6 continents

72/100

Cloud providers

9/10

Banks

8/10

Retailers

8/10

Tech brands

9/10

Manufacturers

9/10

8 years

2x

Market

share

MQLeader

Page 4: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

J2EEClient ServerMainframe

SOA

Microservices

Containers

Container OrchestrationServerlessIoTSelf-Healing

1998 2006 2008 2014 - 2016

Static ApplicationsStatic Infrastructure

Complex ApplicationsStatic Infrastructure

Complex ApplicationsComplex Infrastructure

1st Gen. APM 2nd Gen. APM3nd Gen.

Monitoring Redefined

Cloud

A historical perspective

Page 5: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart
Page 6: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

2 major releases/year

customers deploy & operate on-prem

26 major releases/year

500 prod deployments/daySaaS & Managed

2011 2018

Page 7: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

DevOps

Continuous Delivery

is a culture that emphasizes the collaboration of various teams involved in software delivery

is an approach about building, testing and releasing software reliable, faster and more frequent

Page 8: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

Utmost goal: minimize cycle time

timefeature cycle time

minimize Users

Page 9: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

This is where youcreate value!

feature cycle time time

minimize Users

Utmost goal: minimize cycle time

Page 10: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

Deploy faster!!

Page 11: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

Failfaster??

Page 12: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

Right focus?!

Page 13: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

The “War Room”

Facebook – December 2012

Page 14: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

Sure glad the hole isn’t at our end.

Page 15: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart
Page 16: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

Make also architects responsible for production

Page 17: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

iPhone 6

failing early improves quality

late feedbacksucks

Page 18: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

Developer will never do that!

Operator’s job

Page 19: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

call our DevOps

NoOps

Page 20: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

believe in the mission impossible

6 monthsmajor/minor release+ intermediate fix-packs

+ weeks to months

rollout delay

sprint releases (continuous-delivery)

1h : code to production

Page 21: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

It changed product, quality and culture

releasesper year

production bugs reported by customers

awsinstances

daily deployments

7%

100%26

2

450

5 0

500

2011 2017 2011 2017 2011 2017 2011 2017

Page 22: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

4 Key Initiatives

Enterprise cloud: enable innovation w/ break, shift, re-platform!

Shift-left: engage Dev with earlier & automated feedback

Shift-right: empower Ops to deliver to users with lower risk

Self-heal: transform from traditional-to-zero dashboard NOC

Page 23: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

The foundation and enabler of DevOps: Enterprise cloud

Enterprise cloud: enable innovation w/ break, shift, re-platform!

Shift-left: engage Dev with earlier & automated feedback

Shift-right: empower Ops to deliver to users with lower risk

Self-heal: transform from traditional-to-zero dashboard NOC

Page 24: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

• Where to start?• What to break out?• Dependencies?

• Works as expected?• Users happy?• Does it scale?• Does it perform?

• Works as expected?• Users happy?• How to optimize?• How to automate?

?? ?

?

?

?

??

?

?

?

?

?

?

?

?

?

? ?

??

?

? ? ?

?

?

?

?

From On-Premise Monolith

Via Containerized Services

To Functions & Cloud Services

Enterprise cloud: enable innovation w/ break, shift, re-platform!

Page 25: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

• Where to start?• What to break out?• Dependencies?

• Works as expected?• Users happy?• Does it scale?• Does it perform?

• Works as expected?• Users happy?• How to optimize?• How to automate?

Enterprise cloud: Dynatrace enables break, shift, re-platform!

Dynatrace SmartscapeWHAT to migrate and WHERE to

break the monolith

Dynatrace AIAutomatic End-User, service and infrastructure root-cause analysis

Dynatrace Automation APIAuto rollout to containers & functions,

auto Shift-left and Self-healing

Page 26: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

In minutes:• Auto-dependency mapping of internal & external services• Auto-load detection and baselining• Auto-resource consumption detection

Dynatrace helps to decide WHAT to migrate

Page 27: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

Dynatrace helps to decide WHERE to break the monolith

Tightly coupled! Shall we really distribute/extract?

Dynatrace “virtually” breaks your monolith!

Page 28: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

Dynatrace validates & optimizes scalability

Low Load Peak LoadRegular Load

How does each service scale? Does it correctly fail over??

Page 29: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

Dynatrace validates architecture

Planned Architectural Service Flow

Actual Architectural Service Flow

Identify / optimize architectural patternsRecursive Calls, N+1 Call Pattern, Chatty Interfaces, No Caching Layer …

Page 30: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

Dynatrace automates log analytics

Page 31: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

Shift-Left: Faster & Self-Service Feedback in the Delivery Pipeline

Enterprise cloud: enable innovation w/ break, shift, re-platform!

Shift-left: engage Dev with earlier & automated feedback

Shift-right: empower Ops to deliver to users with lower risk

Self-heal: transform from traditional-to-zero dashboard NOC

Page 32: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

Shift-left: engage Dev with earlier & automated feedback

Injecting speed &

quality: Automatic

gates at test &

performance

• Continuous Performance Validation for daily builds

• Root Cause details automatically pushed to JIRA

• Decisions made to compare, break, or good-to-goThomas Steinmaurer, Dynatrace

Page 33: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

pushDynatraceDeploymentEvent

Pushes Deployment Info to Dynatrace Entities

validateBuildDynatraceWorker

Compares Builds and Approves/Rejects Pipeline

pushDynatraceDeploymentEvent

Pushes Deployment Info to Dynatrace Entities

validateBuildDynatraceWorker

Validates Production and Approves/Rejects Pipeline

handleDynatraceProblemNotification

Executes Auto-Remediating Actions, e.g: Rollback

Build 6

Build 7

Production

Production

Auto-Approve!Auto-Reject!

Auto-Approve!Auto-Reject!

Shift-left: automating quality gates in CI / CD

Page 34: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

Shift-left: Dynatrace provides RUM session replay feedback

Visual Session ReplayOptimize based on what your users really do!

Page 35: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

Shift-Right: Bringing it faster to your customer in a safer way!

Enterprise cloud: enable innovation w/ break, shift, re-platform!

Shift-left: engage Dev with earlier & automated feedback

Shift-right: empower Ops to deliver to users with lower risk

Self-heal: transform from traditional-to-zero dashboard NOC

Page 36: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

docker run –e DT_TAGS=BLUE

dtcli tag srv CartServicev2 GREEN

dtcli evt push host .*demo

version=123 source={code_deploy}

dtcli evt push pg tomcat1

desc=JVMMemIncr hint=+100MB

Dynatrace SmartscapeRelease

AutomationDynatrace Automation

API, CLI, Auto-Detection

Shift-right: empower Ops to deliver to users with lower risk

Page 37: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

Shift-right: empower Ops with more context to react faster

Page 38: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

Self-healing: Smart auto-remediation vs reactive War Rooms

Enterprise cloud: enable innovation w/ break, shift, re-platform!

Shift-left: engage Dev with earlier & automated feedback

Shift-right: empower Ops to deliver to users with lower risk

Self-heal: transform from traditional to zero-dashboard NOCs

Page 39: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

Self-heal: path to NoOps with smart auto-remediation

Auto Mitigate!

1 CPU Exhausted? Add a new service instance!

3 Issue with BLUE only? Switch back to GREEN!

?Escalate at 2AM?

2 High Garbage Collection? Adjust/Revert Memory Settings!

4 Hung threads? Restart Service!

5 Still ongoing? Initiate Rollback!

Escalate? Still ongoing?5

1

2

3

4

Mark Bad Commits

Update Dev Tickets

Impact Mitigated??

Page 40: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

Self-heal: path to NoOps with smart auto-remediation

Page 41: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

confidential

4 Key Initiatives

Enterprise cloud: enable innovation w/ break, shift, re-platform!

Shift-left: engage Dev with earlier & automated feedback

Shift-right: empower Ops to deliver to users with lower risk

Self-heal: transform from traditional-to-zero dashboard NOC

Page 42: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart
Page 43: Ein Release alle 2 Wochen, ein Deployment alle paar …...Ein Release alle 2 Wochen, ein Deployment alle paar Minuten Lessons Learned aus einer Digital Transformation Roman Spitzbart

Thank you for your attention