reliably complex context - university of minnesota · 2020-02-21 · complexity is increasing to...

40
Reliably Complex Context Andy Domeier SPS Commerce @AndyJD_

Upload: others

Post on 01-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Reliably Complex ContextAndy DomeierSPS Commerce

@AndyJD_

Page 2: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Digital Transformation

• Technology is a competitive advantage more today than it has ever been

• Velocity Wins• Ship Fast, Ship Often• Critical to reduce the friction from getting an idea to production

• Performance Wins• Critical to reduce risk and outperform your competitor's performance and

availability (or your customer will fire you quickly)

@AndyJD_

Page 3: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Complexity is Increasing to Enable Velocity & Improve Performance

Change rates are higher than ever

SaaS tools are business critical (GitHub, Monitoring, Alerting, etc)

Micro Services are great for product agility

Products & services depend highly on 3rd

parties such as a cloud, data center, ISP, etc..

Meanwhile legacy systems & tech debt still exist and are likely generating a lot of revenue……………

@AndyJD_

Page 4: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Complexity Increases our Need for Context• Define Context: • Google:

• The circumstances that form the setting for an event, statement, or idea, and in terms of which it can be fully understood and assessed.

• Continuous Cognitive Demand• Intuition• Process• Continuous Partial Attention

Page 5: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Available Context

Page 6: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Change Management

DockerKube

Service Mesh

Incident Management

Monitoring

MetricsTracing

Logs

Observabilit

yDocumentation

ArchitectureMicro Services

Monolith

3rd Party Services

The Cloud

Org StructureRate of Change

Humans

Technical Debt

A/V J

Operational Readiness

Performance Reporting

Page 7: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

How effective your organizationis with context correlates to how good your organizationwill be at delivering services.

Page 8: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools
Page 9: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Most Important

The People!

Page 10: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Predefined Metrics & Thresholds

The People!

Monitoring

Page 11: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Discoverable Information

The People!

Monitoring

Observability

Page 12: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Obscure & Hard to Find

The People!

Monitoring

Observability

Difficult & Time Consuming

Page 13: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

People

Page 14: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

PeopleWe are many things!• The Processes we Make• The Documentation we

Write• Principals & Practice we

Adopt• Diversity we all Bring• Things in our Head

Page 15: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

People - Processes

• Change Management• Does your company have an extensive decision tree process?

• Do you have it memorized?• How often do you do it?

• Do you have visibility to changes that matter to you?

• Incident Management• Is this a known issue with known resolution steps?• Who needs to know?• Who can make decisions?

• Do you Agile?• How exactly do you Agile?

Page 16: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

People – Culture & Org Structure

• Org & Culture will significantly influence the importance of context sharing mechanisms• Large & Rigid – Documentation scales• Small & Fluid – Stop on over!• Distributed – Documentation, Chat, Video, Screenshare

• Understanding Org can sometimes require significant context• Who owns what? What does the org incent them to deliver? How do we

effectively succeed together?

Page 17: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Operational Readiness

• A base set of consistent values for service delivery give you context about the app and enables you to make decisions• Operations Information

• Who?• Where?

• Performance• KPI’s• Cost

• Agility• Change Effectiveness• Architecture & Resiliency

• Security• Sounds cool!

Page 18: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Operational Confidence:If it’s important at Readiness, It’s

important over time

@AndyJD_

Page 19: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

People – Local Disk = Brains

• How many things are you able to do through out an average day just because you “know”?• Deploy? Recover Incidents? Process? Is it Healthy? Batteries? Bus Schedule?

• How many of you know something about a service, that you know less than 3 other people at your company know?• Why document or automate it, it’s happened once in 3 years?• If I document it, no one will find it (or try to find it) anyways?• This just comes to me anyways• We perceive documentation like cold storage, it’s there but it’s slow

Page 20: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

People!• We are the most complex part of our own systems

• Effort Investments• Be explicit in what we should store in our brains• Write down decisions you make• Have a clear path for information discovery in your documentation approach• Be a good teammate and take time to share valuable context, keep time and place in

mind

• Doing the people-ing well gives everyone in your org cognitive freedom to focus on solving what’s most valuable to your business & customers

Page 21: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Monitoring

Page 22: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools
Page 23: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Monitoring - Approach

• Consistency in Approach• Service Health

• Availability• Key Performance Indicators (KPIs)• Key Dependencies

• Dashboards & Alerting• Document or automate an opinion• Consistency

@AndyJD_

Page 24: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Monitoring –Perspectives• Monitor for Customer

Experience• Customer Experience often

comprises of many micro metrics

• Monitor for Delivery Team• Isolated to a subset of

services• Monitor for Specialists• Infra Team• App Team• DB Team

Page 25: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Macro Monitoring

Page 26: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Data Visualization

• Edward Tufte - Visual Literacy• The ability to interpret, negotiate, and make meaning

from information presented in the form of an image@AndyJD_

Page 27: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Micro Monitoring

Page 28: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Observability

Cindy Sridharan - @copyconstructhttps://medium.com/@copyconstruct/monitoring-in-the-time-of-cloud-native-c87c7a5bfa3e?__s=1wtnvg3z1cq5rhuqprym

Page 29: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Visualization Shares Context but it’s Predefined

@AndyJD_

Page 30: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Observability - Discovery

• Where can you Seek Answers?• Monitoring & Observability Tools• Documentation & the Internet• People!

• What Context is Easiest to Ask Questions of?• Start with your local disk!• Where is the most information? (logs?)• Where is the easiest information to consume? (metrics? traces?)• Organized documentation• Ask a neighbor

Page 31: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Complexity Brings… Complexity

Twitter: @Chrismunns“I Love APIs” 2015

Page 32: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Observability - Expect Complexity Everywhere

Page 33: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Is it Still Observability if we Automate it?

Page 34: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Push Context or Ease Discovery

• Trigger Event:• Incident or Service Alert

• Helpful Context:• Who owns this Service?• Has something changed

recently?• Are the dependencies healthy?• Who owns the dependencies?• Has this happened before?• When & who fixed it last

time?• Is this impacting customers?

Page 35: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Push Context or Ease Discovery

• Trigger Event:• Change or Deployment

• Helpful Context:• Who cares about this Change?

(Dependencies)• Does this Change Impact

Customers?• What’s our Confidence in this

Change?• How big is this Change?

Page 36: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

With the value of Context top of mind, we

can do more

Page 37: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

You and your org have your own context….

Your complexity is unique to your environment…

How can you help your organization be most effective with your context?

Page 38: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Thanks!!!

@AndyJD_

Page 39: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Relevant Context…. When it Matters…

Monitoring & Alerting

Router LambdaSNS

Wiki Search

Alerts Commenter

DocumentationLookupThe

Wiki

API Gateway

Page 40: Reliably Complex Context - University of Minnesota · 2020-02-21 · Complexity is Increasing to Enable Velocity & Improve Performance Change rates are higher than ever SaaS tools

Relevant Context…. When it Matters…

Incident Management

Router Lambda

SNS

Incident CommunicationChat

Recent Changes

Search Jira

Change Management

Jira Commenter

API Gateway

Stakeholders