24
1 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace 1 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace Alistair Emslie, Sales Engineer Jim Lack, Global Head of Web Development for Enterprise Infrastructure Services 25 th February 2016 - 2pm GMT Best Practices for Continuous Delivery in Financial Services

Best Practices for Continuous Delivery in Financial Services

Embed Size (px)

Citation preview

Page 1: Best Practices for Continuous Delivery in Financial Services

1 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace1 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Alistair Emslie, Sales EngineerJim Lack, Global Head of Web Development for Enterprise Infrastructure Services

25th February 2016 - 2pm GMT

Best Practices for Continuous Delivery in Financial Services

Page 2: Best Practices for Continuous Delivery in Financial Services

2 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace2 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

• It starts and ends with the customer experience- Not the app

• It’s about preventing problems, not just reacting• Gap-free data is essential• The goal is Dev/Ops not Just/Ops

What we believe

Page 3: Best Practices for Continuous Delivery in Financial Services

3 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace3 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

What’s new and different?

Traditional-business Digital-business

Customer Experience Measures how app components perform

Measures how app value is perceived by customers

Delivery Chain Finds problems once they impact customer experience

Solves problems before they impact customer

Delivery Cycle Trying to react to changes in customer expectations

Delivers quality app in anticipation of changing customer

experience

Page 4: Best Practices for Continuous Delivery in Financial Services

4 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace4 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

UnifiedUser & App

Insights

ImproveMTTR &

MTBF

OptimizeSpend

Deliver on user sat &

SLAs

Improvereleasequality

Gain StrategicInsights

Protect & Grow Brand

Reduceunplanned

work

Releasecapabilities

faster

Keep up with the pace of change

Uncover new business insights

DigitalBusinessOwner

Development Operations

The Digital Performance Platform

Identify and prevent problems

IncreaseConversions& Revenue

Makes real-time information about digital services, and their users, visible and actionable by everyone in an organization

Increased Salesand Engagement

OperationalExcellenceInnovation

Acceleration

Page 5: Best Practices for Continuous Delivery in Financial Services

5 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace5 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Insert backdrop image

This is Dynatrace:• Named Leader in Gartner’s APM

Magic Quadrant for last 6 years1

• Unmatched technical capabilities • Largest expertise in digital

performance• Lifecycle by design when you need it• Stable and profitable

8,000+ CustomersIncluding: 19 of the top 20 online retailers9 of the top 10 US banks

Gartner Market Share2 Customer Sat score R & D Technical Experts#1 90% 750

1: “Magic Quadrant for Application Performance Monitoring” 2009 – 2015, Gartner2: “Market Share Analysis: Application Performance Monitoring, 2014”, Gartner

Page 6: Best Practices for Continuous Delivery in Financial Services

6 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace6 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

• It starts and ends with the customer experience- Not the app

• It’s about preventing problems, not just reacting• Gap-free data is essential• The goal is Dev/Ops not Just/Ops

What we believe

Page 7: Best Practices for Continuous Delivery in Financial Services

7 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace7 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Software Development Dynatrace

Page 8: Best Practices for Continuous Delivery in Financial Services

8 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace8 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Who Am I

• 29 Years In IT mostly financial organisations.• 25 Years in mostly OO Development , covering most of the roles. • I adopted Agile Development practices back in 2002 and before that used

incremental iterative methodologies which evolved into RUP.• Started using Continuous Integration around 2005 which evolved to Continuous

Delivery over the years• Current role Global Head of Web Development for EIS • Two of the key services my guys develop and maintain are

– AAA Reverse Proxy Service responsible for Intranet and Extranet Access and routing.– Production Access Service

Page 9: Best Practices for Continuous Delivery in Financial Services

9 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace9 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Application Discovery

• New Team• Complex Legacy Application• Architectural Discovery• Typical User Journey Discovery

Page 10: Best Practices for Continuous Delivery in Financial Services

10 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace10 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Application Discovery

Page 11: Best Practices for Continuous Delivery in Financial Services

11 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace11 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Dynatrace depiction of a complex deployment

Page 12: Best Practices for Continuous Delivery in Financial Services

12 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace12 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Continuous Delivery Assurance – Production Access Service

• Advantages

• Principles

• Practices

Page 13: Best Practices for Continuous Delivery in Financial Services

13 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace13 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Continuous Delivery – My Stack

Page 14: Best Practices for Continuous Delivery in Financial Services

14 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace14 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Dynatrace As Part Of CD Assurance

• Architectural Conformance• Architectural Assurance / Coverage• Test Evidence

Page 15: Best Practices for Continuous Delivery in Financial Services

15 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace15 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Architectural Assurance

Page 16: Best Practices for Continuous Delivery in Financial Services

16 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace16 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Remediate Fast

• Things you can’t easily diagnose with debugging tools– New Environment / Component - Pipe Cleaning– Race Conditions– Intermittent Faults– Performance issues– You don’t have a debugger active in that environment anyway plus

you would need multiple instances

• The stuff you wish you’d logged.

Page 17: Best Practices for Continuous Delivery in Financial Services

17 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace17 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Pipe Cleaning – My bit works

Page 18: Best Practices for Continuous Delivery in Financial Services

18 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace18 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Remediate Fast – Pure Path

The Pure Path stack trace can span components, servers and technologies

And may be viewed in different ways e.g. transaction flow above or as a sequence diagram those are the views I have used most - there are more.

Page 19: Best Practices for Continuous Delivery in Financial Services

19 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace19 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Retroactive Logging – capture of parameters

Page 20: Best Practices for Continuous Delivery in Financial Services

20 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace20 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Race Conditions - Threading

Page 21: Best Practices for Continuous Delivery in Financial Services

21 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace21 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Race Conditions – Non Atomic Behaviour

Page 22: Best Practices for Continuous Delivery in Financial Services

22 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace22 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Race Conditions – Resource Contention

Page 23: Best Practices for Continuous Delivery in Financial Services

23 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace23 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Solution To Resource Contention

Page 24: Best Practices for Continuous Delivery in Financial Services

24 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace24 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

It’s the closest we get to debugging in Production