28
Four Considerations when Monitoring Microservices Amy Feldman Director CA APM Product Marketing @amyfel Jason Bloomberg President, Intellyx [email protected] @theebizwizard

Four considerations when monitoring microservices

Embed Size (px)

Citation preview

Page 1: Four considerations when monitoring microservices

Four Considerations when Monitoring Microservices

Amy FeldmanDirectorCA APM Product Marketing @amyfel

Jason BloombergPresident, [email protected]@theebizwizard

Page 2: Four considerations when monitoring microservices

About Jason Bloomberg

• President of industry analyst firm Intellyx

• Agile digital transformation thought leader

• Write for Forbes, several blogs, biweekly newsletter the Cortex

• Buy my latest book, The Agile Architecture Revolution

Copyright © 2015, Intellyx, LLC2

Page 3: Four considerations when monitoring microservices

New Architecture for the Application Economy

Copyright © 2015, Intellyx, LLC3

From Monolithic to Microservices

Photo

Cre

dit:

Cente

ractive h

ttp:/

/ww

w.c

ente

ractive.c

om

/conte

nt/

ente

rpri

se-s

erv

ice-b

us

Photo

Cre

dit:

Eri

k P

itti h

ttps:/

/ww

w.f

lickr.

com

/photo

s/e

pitti/

Page 4: Four considerations when monitoring microservices

What are Microservices?

Parsimonious, cohesive units of execution

– Designed to do one thing very well

– Contain everything from the operating system, platform, framework, runtime and dependencies, packaged as one unit of execution

Copyright © 2015, Intellyx, LLC4

Photo

Cre

dit:

Jam

es L

ee h

ttps:/

/ww

w.f

lickr.

com

/photo

s/j

ronald

lee/

Page 5: Four considerations when monitoring microservices

Parsimony

• As small as they should be but no smaller

• As part of refactoring, ask:

– Would this microservice work better if it were smaller?

– Would this microservice work better if it were split into two or more microservices?

Copyright © 2015, Intellyx, LLC5

Photo

Cre

dit:

AJC

htt

ps:/

/ww

w.f

lickr.

com

/photo

s/a

jc1/

Page 6: Four considerations when monitoring microservices

μservice

Cracking Open a Microservice

• Shared nothing in the sense that each microservice has these elements

• Each element is itself parsimonious & coherent

Copyright © 2015, Intellyx, LLC6

Code

Runtime

Cache

OS Elements

Service Interface

Page 7: Four considerations when monitoring microservices

Microservices Externalize Management

• Runtime code within microservice pared down to absolute minimum

– Not part of an ESB or other managed environment

• Microservices know nothing about other microservices

• May (or may not) run in a container

– Containers need management too!

Copyright © 2015, Intellyx, LLC7

Photo

Cre

dit:

Jitz

e C

ouperu

s h

ttps:/

/ww

w.f

lickr.

com

/photo

s/j

itze1942/

Page 8: Four considerations when monitoring microservices

Microservice Monitoring Challenges

Copyright © 2015, Intellyx, LLC8

Photo

Cre

dit:

bry

km

antr

a h

ttps:/

/ww

w.f

lickr.

com

/photo

s/b

rykm

antr

a/

Complexity

Change

ScaleResilience

Page 9: Four considerations when monitoring microservices

Complexity

• The more parsimonious and coherent your microservices, the more of them you’ll need

• Danger of microservice-to-microservice traffic exploding

• Challenges of cache consistency

Copyright © 2015, Intellyx, LLC9

Photo

Cre

dit:

desig

nm

ilk h

ttps:/

/ww

w.f

lickr.

com

/photo

s/d

esig

nm

ilk/

Page 10: Four considerations when monitoring microservices

Change

• Microservices empower broader, more diverse DevOps efforts

• Kanban-centric continuous delivery well-suited for microservices

• New ones will be popping up all the time!

Copyright © 2015, Intellyx, LLC10

Photo

Cre

dit:

Dennis

Ham

ilto

n h

ttps:/

/ww

w.f

lickr.

com

/photo

s/o

rcm

id/

Page 11: Four considerations when monitoring microservices

Container

Code Libraries

μservic

e

μservic

e

μservic

e

Container

Code Libraries

μservic

e

μservic

e

μservic

e

Scale

• Any identical microservice instance may respond to a request

• Container-based autoscaling requires its own management

Copyright © 2015, Intellyx, LLC11

Container

Code Libraries

μservic

e

μservic

e

μservic

e

Container

Code Libraries

μservic

e

μservic

e

μservic

e

Page 12: Four considerations when monitoring microservices

Resilience

• Microservices facilitate automated recovery from failure

– Load balancing more dynamic

– Cache refreshes more complicated

– Composition logic more labyrinthine

Copyright © 2015, Intellyx, LLC12

Photo

Cre

dit:

Ala

n L

evin

e h

ttps:/

/ww

w.f

lickr.

com

/photo

s/c

ogdog/

Page 13: Four considerations when monitoring microservices

Jason Bloomberg

President, Intellyx

[email protected]

@theebizwizard

Send email NOW to [email protected] to download this presentation

Thank You!

Copyright © 2015, Intellyx, LLC

Page 14: Four considerations when monitoring microservices

Addressing New Monitoring Challenges Introduced by Microservices

Page 15: Four considerations when monitoring microservices

15 © 2015 CA. ALL RIGHTS RESERVED.

Microservices Introduces Four New Monitoring Challenges

Complexity Change

ScaleResiliency

Page 16: Four considerations when monitoring microservices

16 © 2015 CA. ALL RIGHTS RESERVED.

Desired Experience in Modern/Agile Environments

ANDREW CHEUNGApplication Developer

RYAN CAMPBELLProduction Support Analyst

PETE MILLERLevel 1 Support Analyst

MY PAIN

Monitoring many systems & Devices

HELP ME

Simplify alerts, meaning and action

MY PAIN

Bottleneck – work on all issues

HELP ME

Understand app performance

characteristics quickly

MY PAIN

Firefighting – not just code changes

HELP ME

Instantly know whatchanges trigger problems

MY PAIN

Administering many Monitoring tools

HELP ME

Simplify administrationand support

new apps quickly

KYLE THOMASAPM Administrator

Page 17: Four considerations when monitoring microservices

17 © 2015 CA. ALL RIGHTS RESERVED.

Microservices CloudContainers

Simply Will Not Scale

P E

R S

P E

C T

I V

E S

Complexity

Page 18: Four considerations when monitoring microservices

18 © 2015 CA. ALL RIGHTS RESERVED.

1 Application Topology: 3 PerspectivesCreate your own task-relevant perspective for any APM user

APM Team Center – Role-Based Task PerspectivesThe right context, for the right person, at the right time

MESSY TRUTH CUSTOM ATTRIBUTES AND FILTERS APPLIED

Page 19: Four considerations when monitoring microservices

19 © 2015 CA. ALL RIGHTS RESERVED.

ChangeT

I M E

L I

N E

S

Where do I start?

Did my change cause the

performance issue?

What changed?

80% of Mean Time to Resolution is finding what changed

Lacks intuitive and visual change detection

Correlation of changes to performance requires expertise

Tools are too descriptive to understand

Page 20: Four considerations when monitoring microservices

20 © 2015 CA. ALL RIGHTS RESERVED.

BEFORE CHANGE AFTER CHANGE

1: App flow change 3: Then performance degrades

2: Two new services were added

4: It began here!

APM Team Center – Timeline ViewQuickly see changes in the context of performance problems

5: Context details

for next action

Page 21: Four considerations when monitoring microservices

21 © 2015 CA. ALL RIGHTS RESERVED.

Resiliency/NoiseB

A S

E L

I N

E S

Maintaining alerts is time consuming, even with automated baselines

Difficult to visually determine where to focus resources

Reactive not proactive

How red is red?

What issue should I work on first?

Should I escalate?

Why is every issue a fire drill?

How long has this been an issue?

INCIDENT PANEL

24CRIT

40OTHER

308OK

CRIT CPU CHK (member) Server Microsoft Windows 0h 48min

CRIT CPU CHK (member) Server Linux 3h 34min

CRIT CPU CHK (member) Server Linux 2h 13min

CRIT Disk Cap CHK Server Microsoft Windows 0h 48min

CRIT Disk Cap CHK Server Microsoft Windows 3h 34min

WARN CPU CHK (member) Server Linux 2h 13min

WARN Disk Cap CHK Server Linux 0h 48min

CRIT Disk Cap CHK Server Microsoft Windows 3h 34min

WARN CPU CHK (member) Server Linux 2h 13min

WARN Disk Cap CHK Server Linux 0h 48min

Page 22: Four considerations when monitoring microservices

22 © 2015 CA. ALL RIGHTS RESERVED.

“…one must separate the signal from the noise within the data.”

-Walter Shewhart

Differential Analysis – Better Than BaselinesFast, Easy, and Accurate Triage

Focus attention hereTrending toward

an issue

Issue is getting better

Not an issueIssue is getting

better

Page 23: Four considerations when monitoring microservices

23 © 2015 CA. ALL RIGHTS RESERVED.

ScaleSm

art

Inst

rum

enta

tio

n

Components come and go with greater frequency

Monitoring tools do not scale with the application

Too much data collected to make any sense of it

API

Will my monitoring environment scale to the

needs?

How do I understand the relationship of all the

microservices?

What should be monitored?

Page 24: Four considerations when monitoring microservices

24 © 2015 CA. ALL RIGHTS RESERVED.

E.P.

I.C. A

PM

Elegance @Scale

Smart Instrumentation•Collect what you need when you need it

Scale Monitoring•Monitor @scale and clustering

Ease Administration•Get control with CA APM ACC

Simply Visualize Large Complex Data•CA APM Team Center Perspectives role-base task views based on pivotable attributes

Page 25: Four considerations when monitoring microservices

25 © 2015 CA. ALL RIGHTS RESERVED.

Maintenance Improvements

What’s new in CA APM 10.1

Team Center Map APIs & UX improvements

Browser Agent Improvements

Node.js Agent

• EM on Java 8• Domain changes with no restart• .NET socket monitoring DNS issue fixed• DA variance intensity expanded• Thread-dump truncation fix

SimplificationWork Phase 1

Page 26: Four considerations when monitoring microservices

26 © 2015 CA. ALL RIGHTS RESERVED.

Support for Modern Development Technologies

New Node.js agent

Monitor apps deployed to Docker containers with java agent

Real time monitoring of Application and Node.js health/performance

Easily monitor apps deployed using CF java build pack

Collects basic health metrics from Pivotal CF (Field Pack)

Visibility into application performance and CF Pivotal health

Automatic collection of deep dive diagnostic details

Easily install and deploy agents without having to modify the Node.js app source code

Visualize app performance and Docker health in one view

Collects basic container health metrics (Field Pack)

Page 27: Four considerations when monitoring microservices

27 © 2015 CA. ALL RIGHTS RESERVED.

Node.js Agent

Monitors apps written in node.js Automatically collects deep dive diagnostic snapshots

Correlates performance to application tiers

Does not require any modifications to the Node.js app source code

Page 28: Four considerations when monitoring microservices

28 © 2015 CA. ALL RIGHTS RESERVED.

PROACTIVE INTELLIGENT COLLABORATIVEEASY

The Key to Stimulate User Loyalty and Differentiate Your Business in the App Economy

Driv ing Toward

E.P. I.C. APM

Thank you