appsphere 15 - containers and microservices create new performance challenges

39
Containers and Microservices Create New Performance Challenges Jonah Kowall, VP Market Development and Insights

Upload: appdynamics

Post on 18-Jan-2017

168 views

Category:

Documents


0 download

TRANSCRIPT

Containers and Microservices Create New Performance Challenges Jonah Kowall, VP Market Development and Insights

PREY

52% of Fortune 500 firms since 2000 are gone

PREDATOR

Rate of innovation determines if you’re the predator or the prey

Massive budget shift to digital

Back office Systems of record

Digital front office Systems of engagement

80% 2011

50% 2016

20% 2011

50% 2016

HRM

CRM ECM

ERP

WHAT IS A MICROSERVICE?

“Microservices are an approach to developing a single application as a suite of small, connected, services”

Martin Fowler

“Loosely coupled service orientated architecture with bounded contexts”

Adrian Cockcroft

In computing, microservices is a software architecture style in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs. These services are small, highly decoupled and focus on doing a small task, facilitating a modular approach to system-building.

Wikipedia

Monolithic versus microservices architecture

Copyright © 2015 AppDynamics. All rights reserved. 6

Courtesy of PWC: http://www.pwc.com/us/en/technology-forecast/2014/cloud-computing/features/microservices.jhtml

Down with the monolith

•  Intimidates developers with complexity –  Long ramp time –  Heavy change process

•  Dev environments are difficult to manage and setup •  Scalability is a challenge due to rigid design •  Long term language and technology stack commitment

–  Stagnation –  High cost

Properties of microservices architecture

•  Flexibility •  The services are easy to replace •  Services are organized around capabilities •  Services can be implemented using different programming

languages, databases, hardware and software environment, depending on what fits best

•  Architectures are symmetrical rather than hierarchical (producer - consumer)

Example : e-commerce site microservices

•  Front-end components •  Catalog services •  Inventory management •  Shipping •  Payments •  Billing •  Notifications •  Search agent •  User profile

WHY ARE PEOPLE SHIFTING TO MICROSERVICES?

Monolithic organization

Courtesy of Martin Fowler: http://martinfowler.com/articles/microservices.html

Agile organization

Courtesy of Martin Fowler: http://martinfowler.com/articles/microservices.html

Applications are transforming

Copyright © 2015 AppDynamics. All rights reserved. 13

Conventional Enterprise Cloud "Native" Pattern

Adapted From Cloud Architecture Tutorial by Adrian Cockcroft (Netflix)

Central SQL Database

Sticky In-memory Session

Chatty Protocols

Tangled Service Interfaces

Polled Information

Fat Complex Objects

Components as Jar Files

Distributed Key/Value NoSQL

Latency Tolerant Protocols

Event-driven

Lightweight Serializable Objects

Components as Services

Layered Service Interfaces

Shared Memcached/Redis Session

Java, .NET JavaScript, Python, Ruby, node.js

Team technology choice

•  Can use any technology in services since they are short lived and easily rewritten

New data patterns

Courtesy of Martin Fowler: http://martinfowler.com/articles/microservices.html

Challenges

•  Most are horrible at automation •  Automation is fragmented •  Many moving parts must be coordinated •  You must master good engineering practices

WHAT IS DOCKER?

Hypervizor vs docker

Courtesy of IBM (SoftLayer): http://www.slideshare.net/BodenRussell/kvm-and-docker-lxc-benchmarking-with-openstack

Why are people switching to docker

•  Easy to package •  Easy to run anywhere (Smaller footprint) •  Fast -> Launch and Kill •  Linux or Windows (in Server 2016 Preview)

–  Can use on Windows client and OSX for dev with boot2docker

•  Basic contained configuration in DockerFile •  Less tools to manage each container

Performance: boot time

3.900927941

5.884197426

0

1

2

3

4

5

6

7

docker KVM

Tim

e in

Sec

onds

Average Server Boot Time

docker

KVM

Courtesy of IBM (SoftLayer): http://www.slideshare.net/BodenRussell/kvm-and-docker-lxc-benchmarking-with-openstack

Performance: reboot time

Courtesy of IBM (SoftLayer): http://www.slideshare.net/BodenRussell/kvm-and-docker-lxc-benchmarking-with-openstack

6.591313448

124.4525079

0

20

40

60

80

100

120

140

docker KVM

Tim

e In

Sec

onds

Average Server Reboot Time

docker

KVM

Docker 18.9x faster

Performance: memory speed

Courtesy of IBM (SoftLayer): http://www.slideshare.net/BodenRussell/kvm-and-docker-lxc-benchmarking-with-openstack

0

2000

4000

6000

8000

10000

12000

14000

MEMCPY DUMB MCBLOCK

MiB

/s

Memory Tests

Memory Benchmark Performance

BareMetal

docker

KVM

Performance Summary

•  CPU and Network are the same •  Flexible deployment •  Runs on desktops and developer systems

WHAT MONITORING CHALLENGES MICROSERVICES CREATE?

End to end visibility and transaction tracing

SOA

NOSQL

Cloud

Agile Micro-services

IoT

ESB/MQ

WEBLOGIC

MONGODB

TOMCAT

Login

Flight Status

Search Flight

Purchase

Web

Mobile NETWORK

ORACLE

APACHE JBOSS SERVICE

ESB/MQ

NETWORK

WEBLOGIC

MONGODB

ORACLE

TOMCAT

JBOSS SERVICE

Current open source options •  cAdvisor

–  Docker metrics only •  ELK stack

–  Lots of moving parts –  Only handles log data (Docker, app logs, etc) –  Agent per host

•  Sensu –  Need RabbitMQ, Redis, Sensu –  Handles metric data only (Docker, host, other plugins) –  Agent per host

•  Up and coming : Prometheus, Spigo NO TRANSACTION TRACING!

NO END USER VISIBILITY!

Current commercial options

•  Stack of APM, infrastructure, log analytics –  Splunk –  +New Relic, Dynatrace, Ruxit –  +SevOne, ScienceLogic, Zenoss

•  AppDynamics (1 install/UI for APM, infrastructure, log) –  SaaS or on premises –  Same product

HOW IS COMPLEXITY CAUSING MANAGEMENT ISSUES?

Copyright © 2014 AppDynamics. All rights reserved. 29

Infrastructure Management Proliferation

Copyright © 2015 AppDynamics. All rights reserved. 30

Today’s tools exist within silos

Mobile/Web App Middleware Database Server Network Storage

CMDB

Limited Integrations Incomplete & Inaccurate

Copyright © 2015 AppDynamics. All rights reserved. 31

Don’t let go

Copyright © 2015 AppDynamics. All rights reserved. 32

Difficult to connect the dots without context

Mobile/Web App Middleware Database Server Network Storage

Che

ckou

t Tra

nsac

tion

“Network 97%” “Slow SQL query” “JVM perf issues” “Checkout is slow”

??

No end-to-end perspective No situational awareness

Long time to troubleshoot and resolve issues

Esc

alat

e

Esc

alat

e

Time

Resolution

War Room

L2 Troubleshoot

L1 Troubleshoot

“Checkout is Slow”

Reactive problem identification

Transaction Tracing

Visualize microservices/docker application

Visualization with OSS/spigo (simulated)

Managing services

QUESTIONS?

Thank You