36

Monitor and Manage Microservices

Embed Size (px)

Citation preview

Page 1: Monitor and Manage Microservices
Page 2: Monitor and Manage Microservices

Monitor and Manage Microservices

Page 3: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 3

Instana: Overview

• Founded March 2015, San Mateo

• Engineering in Germany

• $6M Series A led by Target Partners

• Private Beta launched end of 2015

• Gartner Cool Vendor 2016

Mirko Novakovic, CEO

• Founded codecentric and grew to > 350 consultants

• Founded CenterDevice SAAS service with > 6500 customers

Page 4: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 4

1990 1995 2005 2010 2015

Client/Server Linux Open Source

Web 3-Tier

Java EE

SOA Web 2.0

OSS Middleware

Cloud Big Data

µService Containers

Reactive Serverless

Tivoli BMC CA

Nagios

CA/Wily Dell/Quest

Precise HP/Mercury

dynatrace AppDynamics New Relic

APM 2.0APM 1.0

= Fundamental Architecture Shift

Next Generation

APM 3.0

2000

Microservices need new monitoring

Page 5: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 5

First generation - Web & Physical Datacenter

AppServer

Database

Agent

Deploy in month Lives for years

Page 6: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 6

Database

Agent

Second Generation - SOA and Virtual Datacenters/Cloud

Deploy in minutes Lives for months

Page 7: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 7

Next generation: µServices

Database

Agent

Page 8: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 8

Next generation: µServices

Database

Agent

8

Deploy in Seconds Lives for Minutes

Page 9: Monitor and Manage Microservices

Host Container Cluster

Changes

Middleware Services

Agile & Continuous Delivery

Deployment Resize

Restart Reallocate

Start Stop

Reconfigure

Redeploy Reconfigure

Scale

New Code Versions

Deployment

Page 10: Monitor and Manage Microservices

Host Container Middleware Cluster

CPU high Load to high GC Overhead (JVM) Re-Balancing

Issues

?

Problems occur at Any Layer

Code Exceptions/Errors

?

Services

Page 11: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 11

Need for Artificial Intelligence

„Humans cannot continuously monitor

the status of all of our systems.“

Page 12: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 12

Monitoring: A Tragic Quadrant

Next generation APM

In-house tools at web scale

companies

Most current monitoring & APM tools

Next generation Monitoring

100s 1.000s 10.000s 100.000s

Datacenter

Cloud

Containers

Lambda

Visual: Adrian Cockcraft - A Tragic Quadrant

Ability to scale

Ability to handle rapidly changing micro services

Page 13: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 13

µServices and WebScale architectures: https://github.com/adrianco/spigo

Page 14: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 14

µServices and WebScale architectures: https://github.com/adrianco/spigo

Page 15: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 15

µServices - Two Types of Graphs

• Graph of Transactions

• End-User

• Processes

• Graph of components

• Physical

• Logical

Page 16: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 16

Solution

Page 17: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 17

Logging - e.g. ELK Stack

Page 18: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 18

Timeseries Data Stores

Page 19: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 19

Metric Frameworks - Codahale

Page 20: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 20

Visual Engineering - Netflix Visceral

Page 21: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 21

Visual Engineering - Instana

Page 22: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 22

Visual Engineering - Instana

Page 23: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 23

Transaction - µService Up- and Downstreams

Page 24: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 24

Transaction - Flamegraph

Page 25: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 25

Transaction - Google Dapper Paper

Page 26: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 26

Transaction - Open Zipkin - https://github.com/openzipkin

Page 27: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 27

Transaction - Open Tracing

Page 28: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 28

Workaround: Logging + Metric + Tracing + Dashboard + Analytics

Lot of continuous development

effort

Lot’s of data - difficult to extract

information

Post-mortem analysis Massive CPU

and network overhead

Expensive

Operational survival Undifferentiated Heavy Lifting

Page 29: Monitor and Manage Microservices

Instana, Inc. Proprietary and Confidential 29

µServices - Two Types of Graphs -> Semantical Monitoring

• Graph of Transactions

• End-User

• Processes

• Graph of components

• Physical

• Logical

Page 30: Monitor and Manage Microservices

The Dynamic Graph, an Example

example

Search Product Trace

Index A

ES Cluster

Spring Boot

JVM

Process

Container

Host

ES Node

JVM

Process

Container

Host

ES Node

JVM

Process

Container

Host

ES Node

JVM

Process

Container

Host

ES Node

JVM

Process

Container

Host

Zone

Zone

App A

a business functionality

Page 31: Monitor and Manage Microservices

Curated Expert Knowledge:

Quality of Service - Automatic Management of Component Health

Page 32: Monitor and Manage Microservices

Automatic Service Discovery

‣ automatic and continuos discovery of Service Architecture

‣ health management KPI’s ‣ Throughput ‣ Latency ‣ Error Rate ‣ Saturation

‣ machine learning algorithms to learn performance patterns

Service Layer "above" components:

Page 33: Monitor and Manage Microservices

Quality of Service - Management by Incident

Automatically raise Incidents on breach of KPI’s:group changes and issues correlated by the dynamic graph

product search

Page 34: Monitor and Manage Microservices

What was the situation?

TimeShift:

Investigate your history of:

Architecture, Incidents, Issues, Changes, Health and Metrics.

Precisely explore the past

Page 35: Monitor and Manage Microservices

Distributed Tracing for Web-Scale

Tracing:

Zero Application Impact

No configuration

Error Detection

Asynch and Batch

Real Code visibility

Correlation to Services and Components

Open SDK

End-to-End Tracing build for the µService World!

Page 36: Monitor and Manage Microservices

Thank You!