dev opsdayssv2014 devopsasrelationshipmanagement

49
DevOps as Relationship Management How to keep systems of services happy @jamesurquhart Director of Product Dell Cloud Manager http://gigaom.com/author/jurquhart

Upload: jurquhart

Post on 18-Nov-2014

174 views

Category:

Technology


0 download

DESCRIPTION

Slides from my talk at DevOpsDaysSV in 2014. Discusses how important it is to understand the relationships between components in a system, and some techniques of how to take action based to avoid or correct negative emergent behavior.

TRANSCRIPT

Page 1: Dev opsdayssv2014 devopsasrelationshipmanagement

DevOps as Relationship ManagementHow to keep systems of services happy

@jamesurquhartDirector of ProductDell Cloud Manager

http://gigaom.com/author/jurquhart

Page 2: Dev opsdayssv2014 devopsasrelationshipmanagement

I want to answer three questions:

Why are the relationships between service components important in modern software systems?

What one amazing strategy can you use to manage your software systems

No, really, what are some tactics that work and are being used today?

Page 3: Dev opsdayssv2014 devopsasrelationshipmanagement

May 6, 2010

Page 4: Dev opsdayssv2014 devopsasrelationshipmanagement
Page 5: Dev opsdayssv2014 devopsasrelationshipmanagement

”[A] large fundamental trader chose to execute [a $4.1B] sell program via an automated execution algorithm ('Sell Algorithm')."

- Findings Regarding The Market Events of May 6, 2010http://www.sec.gov/news/studies/2010/marketevents-report.pdf

Page 6: Dev opsdayssv2014 devopsasrelationshipmanagement

"...the Sell Algorithm…executed the sell program extremely rapidly in just 20 minutes.”

The market responded, and trading volume increased…

"... [The Sell Algorithm] responded to the increased volume by increasing the rate at which it was feeding the orders into the market."- Findings Regarding The Market Events of May 6, 2010

http://www.sec.gov/news/studies/2010/marketevents-report.pdf

Page 7: Dev opsdayssv2014 devopsasrelationshipmanagement
Page 8: Dev opsdayssv2014 devopsasrelationshipmanagement

Market A

Automatic Trading

Algorithm 1

Page 9: Dev opsdayssv2014 devopsasrelationshipmanagement

Market A

Automatic Trading

Algorithm 1

Automatic Trading

Algorithm 2

Automatic Trading

Algorithm 3

Automatic Trading

Algorithm 4

Page 10: Dev opsdayssv2014 devopsasrelationshipmanagement

Market A

Automatic Trading

Algorithm 1

Automatic Trading

Algorithm 2

Automatic Trading

Algorithm 3

Automatic Trading

Algorithm 4

Market B

Page 11: Dev opsdayssv2014 devopsasrelationshipmanagement

Market A

Automatic Trading

Algorithm 1

Automatic Trading

Algorithm 2

Automatic Trading

Algorithm 3

Automatic Trading

Algorithm 4

Market B

Automatic Trading

Algorithm 5

Automatic Trading

Algorithm 6

Page 12: Dev opsdayssv2014 devopsasrelationshipmanagement

Market A

Automatic Trading

Algorithm 1

Automatic Trading

Algorithm 2

Automatic Trading

Algorithm 3

Automatic Trading

Algorithm 4

Market B

Automatic Trading

Algorithm 5

Automatic Trading

Algorithm 6

Page 13: Dev opsdayssv2014 devopsasrelationshipmanagement

Quick!What was the root

cause?

Page 14: Dev opsdayssv2014 devopsasrelationshipmanagement

Market A

Automatic Trading

Algorithm 1

Automatic Trading

Algorithm 2

Automatic Trading

Algorithm 3

Automatic Trading

Algorithm 4

Market B

Automatic Trading

Algorithm 5

Automatic Trading

Algorithm 6

?

Page 15: Dev opsdayssv2014 devopsasrelationshipmanagement

Automatic Trading

Algorithm N

Automatic Trading

Algorithm N

Market A

Automatic Trading

Algorithm 2

Automatic Trading

Algorithm 3

Automatic Trading

Algorithm 4

Market B

Automatic Trading

Algorithm 5

Automatic Trading

Algorithm 6

Automatic Trading

Algorithm N

Page 16: Dev opsdayssv2014 devopsasrelationshipmanagement
Page 17: Dev opsdayssv2014 devopsasrelationshipmanagement

"May 6 was…an important reminder of the interconnectedness of our derivatives and securities markets, particularly with respect to index products."

- Findings Regarding The Market Events of May 6, 2010http://www.sec.gov/news/studies/2010/marketevents-report.pdf

Page 18: Dev opsdayssv2014 devopsasrelationshipmanagement

Interconnectedness

Page 19: Dev opsdayssv2014 devopsasrelationshipmanagement

How do we avoid another “flash crash” (or at least make one

less likely)?

Page 20: Dev opsdayssv2014 devopsasrelationshipmanagement

Here’s what the SEC did…

Page 21: Dev opsdayssv2014 devopsasrelationshipmanagement

First, they visualized the

system…

Page 22: Dev opsdayssv2014 devopsasrelationshipmanagement

…(albeit, post mortem).

Page 23: Dev opsdayssv2014 devopsasrelationshipmanagement
Page 24: Dev opsdayssv2014 devopsasrelationshipmanagement

Then, they took action…

Page 25: Dev opsdayssv2014 devopsasrelationshipmanagement

They installed “circuit breakers”

Page 26: Dev opsdayssv2014 devopsasrelationshipmanagement

They defined rollback protocols

Page 27: Dev opsdayssv2014 devopsasrelationshipmanagement

They inserted agents into the flow

Page 28: Dev opsdayssv2014 devopsasrelationshipmanagement

Why?

Page 29: Dev opsdayssv2014 devopsasrelationshipmanagement

Because…While high speed trading software contained the logic by which actions took place, the dynamic ways in which that software and market systems interacted defined the emergent behaviors of the system itself.

The SEC didn’t “own” and could not dictate all aspects of behavior of those agents. They did, however, have jurisdiction over key integration points, and could insist certain rules be enforced at those interfaces

It was in the best interest of the agent owners/operators to follow these new rules and protocols, as it was how their revenues and profits were derived.

Page 30: Dev opsdayssv2014 devopsasrelationshipmanagement

Because (simplified)…Agents contain and execute logic, but interactions drive systemic behavior.

Nobody owns the system, but one can own or influence key interactions that are relevant to desired outcomes

Well defined interfaces enable cooperative behavior, but feedback mechanisms ensure it.

Page 31: Dev opsdayssv2014 devopsasrelationshipmanagement

Back to those questions:

Why are the relationships between service components important in modern software systems?

What one amazing strategy can you use to manage your software systems

No, really, what are some tactics that work and are being used today?

Page 32: Dev opsdayssv2014 devopsasrelationshipmanagement

Why are the relationships between service components important in modern software systems?

Page 33: Dev opsdayssv2014 devopsasrelationshipmanagement

Because such relationships–numerous and

dynamic as they are–define system

behavior.

Page 34: Dev opsdayssv2014 devopsasrelationshipmanagement

What one amazing strategy can you use

to manage your software systems?

Page 35: Dev opsdayssv2014 devopsasrelationshipmanagement

I believe I have a simple rule…

Page 36: Dev opsdayssv2014 devopsasrelationshipmanagement

…that takes tremendous

discipline and work to execute well:

Page 37: Dev opsdayssv2014 devopsasrelationshipmanagement

Visualize the

system…

Page 38: Dev opsdayssv2014 devopsasrelationshipmanagement

…but take action at the agent

level

Page 39: Dev opsdayssv2014 devopsasrelationshipmanagement

No, really, what are some tactics that work

and are being used today?

Page 40: Dev opsdayssv2014 devopsasrelationshipmanagement

Visualize the

system…

Page 41: Dev opsdayssv2014 devopsasrelationshipmanagement
Page 42: Dev opsdayssv2014 devopsasrelationshipmanagement

V.

Expansionist Reductionist

Page 43: Dev opsdayssv2014 devopsasrelationshipmanagement

Remember,you are part of the

system.

Page 44: Dev opsdayssv2014 devopsasrelationshipmanagement

…but take action at the agent

level

Page 45: Dev opsdayssv2014 devopsasrelationshipmanagement

Install “circuit breakers”

Page 46: Dev opsdayssv2014 devopsasrelationshipmanagement

Define rollback protocols

Page 47: Dev opsdayssv2014 devopsasrelationshipmanagement

Insert agents into flow

Page 48: Dev opsdayssv2014 devopsasrelationshipmanagement

Remember,you are part of the

system.

Page 49: Dev opsdayssv2014 devopsasrelationshipmanagement

Thank you!

Questions?