the essential guide to monitoring containers and...

22
The Essential Guide to Monitoring Containers and Microservices ——————————————————————————————————————————————————————————— Five requirements for next-generation APM tools

Upload: others

Post on 27-May-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

The Essential Guide to Monitoring Containers and Microservices ——————————————————————————————————————————————————————————— Five requirements for next-generation APM tools

Page 2: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

Contents

Page 3 Going (Cloud) Native New requirements for monitoring performance

Page 4 Do One Thing Well Monolithic gives way to microservices

Page 5 Life in the Fast Lane Containers isolate microservices, improve utilization

Page 6 All Together Now Orchestration automates container management

Page 7 Who Broke My APM Tool? Cloud-native applications overwhelm monitoring tools

Page 8 No Transaction Left Behind Big data holds the key to next-generation monitoring

Page 9 Honey, I Shrunk the Time Scale Container time is measured in seconds, not minutes

Page 10 Let’s Network Monitoring cloud-native applications requires a network perspective

Page 11 Not Your Grandmother’s APM Revolutionary approach is needed for cloud-native environments

Page 12 Requirement 1: Second-by-Second Metrics

Page 13 Requirement 2: AI and Machine Learning

Page 14 Requirement 3: Fully Unified Performance Monitoring

Page 15 Requirement 4: Dynamic Dependency Mapping

Page 16 Requirement 5: End-User Experience Monitoring

Page 17 Taking on the Microservices Challenge Riverbed’s approach to cloud-native monitoring

Page 18 Show Up Big for Your Business Just say no to sampling

Page 19 See What’s Really Important Machine learning and analytics pinpoint business issues

Page 20 Find Out if Riverbed is Right for You

> 2

Page 3: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

MICROSERVICES

Going (Cloud) NativeNew requirements for monitoring performance

< > 3

Traditional software development—one monolithic code base containing all the

application’s functionality—has been replaced with a modular approach. This “cloud-

native” development breaks up applications into smaller chunks—microservices—to drive

agility. These microservices are then frequently deployed within containers since they’re

more resource efficient and can be scaled individually.

But there is trouble in paradise. The IT operations job just got a whole lot trickier since

containers and microservices environments are hyper-distributed, transient, and multi-

stack, which makes monitoring and troubleshooting infinitely more complex.

As this eBook will demonstrate, a new approach to monitoring is required that factors in the

way microservices and containers are created and delivered. To understand why, let’s start

by taking a deeper dive into microservices and their BFFs: containers and orchestration.

•MONOLITHIC

Page 4: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

Do One Thing WellMonolithic gives way to microservices

< > 4

Adoption of microservices has skyrocketed in no small part (pun intended) because

they’re self-contained units that empower continuous releases, improve application

quality, and shorten time to market.1

However, microservices do require some upfront planning on how best to refactor the

application and this time spent planning yields dividends in greater agility down the road.

Developers working on a microservice can focus on optimizing a single function,

without worrying about the readiness of other functions. They can implement bug

fixes and enhancements—at any time—without waiting for major application upgrades.

And while there’s no law that says microservices must run inside containers, that’s usually

the case so that they can be scaled up or down to efficiently meet business demands.

OF ENTERPRISE DEVELOPERS

ARE USING OR PLAN TO USE

MICROSERVICES293%

Page 5: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

Life in the Fast LaneContainers isolate microservices, improve utilization

< > 5

Once upon a time, software applications ran one to a server—a highly inefficient solution in

which most computing power is idle at any given time.

Then came hypervisors, which increased efficiency by partitioning physical machines into

virtual machines (VMs), each running a single application.

Containers resemble VMs but have several important differences. Here’s a useful analogy: think

of VMs as houses, each with its own plumbing, heating, electrical, and other utilities and containers

as apartments that share utilities. With containers, there’s no costly duplication of OS resources.

And, compared to VMs, containers are more ephemeral. They usually start up in fractions of a

second, stick around for a week or less, and then disappear quickly. Live fast and die young—

that’s how containers roll.

APP 1

BINS/LIBS

GUEST OS

HYPERVISOR

HOST OPERATING SYSTEM

APP 2

BINS/LIBS

GUEST OS

APP 3

BINS/LIBS

GUEST OS

INFRASTRUCTURE

VIRTUALIZATION

APP 1

BINS/LIBS

DOCKER ENGINE

OPERATING SYSTEM

APP 2

BINS/LIBS

APP 3

BINS/LIBS

INFRASTRUCTURE

CONTAINERS

Page 6: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

All Together NowOrchestration automates container management

< > 6

As container adoption has grown, a multitude of orchestration tools—including

Kubernetes, Amazon Container Services, and Pivotal Cloud Foundry—have come

on the scene to provide an enterprise framework for integrating and managing

containers at scale.

With orchestration tools, you can scale and provision dozens or even hundreds

of containers at a time. You can also manage the data storage and network

communication between containers.

Microservices-based applications are ideal for taking advantage of container

auto-scaling and auto-provisioning capabilities.

AMAZON ECSAMAZON

AZURE CONTAINERSERVICESMICROSOFT

DOCKER SWARMDOCKER OPENSOURCE

TOOLS

GOOGLE CONTAINERENGINE

GOOGLE CLOUD PLATFORM

KUBERNETESOPENSOURCE TOOLS

OPENSHIFTRED HAT

MESOSPHEREMARATHON

MARATHON

PIVOTAL CLOUDFOUNDRY

PIVOTAL

TOOLS FOR CONTAINER ORCHESTRATION

Page 7: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

Who Broke My APM Tool?Cloud-native applications overwhelm monitoring tools

< > 7

The modern run-time environment includes thousands of components interacting

in complex, rapidly changing patterns over multiple tiers. Traditional monitoring tools

strain to keep up—they’re not built to scale, so they compromise by throwing away

a large proportion of the data.

Managing today’s dynamic cloud-native environments requires the maximum

possible data quality. That’s where big data technology comes in—it allows you

to scale without sacrificing granularity and depth, preserving the full information

content of all the system, application, and network data. The need is for a new

generation of monitoring tools that can capture, store, and analyze huge volumes

of information. There’s no escaping the fact that performance monitoring has

entered the big data era.

Sampling transactions allows tools to scale by sacrificing data granularity

and depth—an unacceptable compromise.

DATA

GRANULARITY

AND DEPTH

SCALE

Page 8: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

No Transaction Left BehindBig data holds the key to next-generation monitoring

< > 8

To effectively and efficiently monitor container and microservices

environments, big data is needed. It’s the foundation for:

Completeness. Tools that trace every nth transaction or only those

triggering an exception provide a fragmented, incomplete view that

is virtually useless for troubleshooting.

Context. Some tools discard payload and metadata information, which

obscures the business relevance that helps prioritize efforts and makes

the transaction unique. If you capture the checkout transaction and discard

the shopping cart contents, how do you know if the failed transaction

was for $10 or $1,000?

Correlation. In today’s distributed environment, transactions traverse

multiple analysis servers. To provide a clear end-to-end picture, data must

be correlated across servers and stitched together into a single trace.

Page 9: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

Honey, I Shrunk the Time ScaleContainer time is measured in seconds, not minutes

< > 9

In a world where entire transactions execute in a matter of seconds, changes

in the application environment also need to be monitored second by second.

Sampling metrics once every few minutes is good enough to discover the

up/down status or the overall utilization of a server or VM. However, a minute

is an eternity in a cloud-native environment.

The only way to get an accurate, actionable understanding of application

performance is to monitor in container time, that is, seconds.

PERCENTAGE OF CONTAINERS

THAT LIVE FOR LESS THAN

10 SECONDS311%

Page 10: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

Let’s NetworkMonitoring cloud-native applications requires a network perspective

< > 10

Monolithic architectures place relatively light burdens on the network. Once

the application is loaded and running, most of the activity takes place within the

application server and involves only a small amount of external communication.

It’s different in a microservices architecture in which the application environment can

have thousands of distributed components. These components, often deployed in

containers, constantly interact with each other over the network. As a result, there’s

an increased burden and dependence on the health of the network.4

That’s why network monitoring, which has always been important for managing

application performance, is now more critical than ever in cloud-native environments

to ensure the digital experience of the end user.

SAY THE ROLE OF THE NETWORK

HAS BECOME MORE STRATEGIC

OVER THE LAST 12 MONTHS568%

Page 11: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

Not Your Grandmother’s APMRevolutionary approach is needed for cloud-native environments

< > 11

Ever since its inception, the APM marketplace has been constantly evolving

in response to changes in technology. However, the nature of cloud-native

environments is so fundamentally different that a more radical shift is needed.

It’s clear that traditional monitoring tools designed for monolithic applications

and static infrastructures are simply not up to the task. Cloud-native

applications demand a new generation of tools that provide deep visibility

into containers and microservices that meet these minimum requirements:

1. Second-by-second metrics

2. AI and machine learning

3. Fully unified performance monitoring

4. Dynamic dependency mapping

5. End-user experience monitoring

Page 12: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

< > 12

Second-by-Second MetricsREQUIREMENT

1Minute-by-minute metrics monitoring is obsolete: the required infrastructure monitoring

interval is every second.

Why is that? Coarse monitoring of metrics, at 1- to 5-minute intervals, can completely misrepresent

what’s really happening in the application environment. In the example below, the 1-second

metrics data shows that CPU load is spiking every minute for about 15 seconds, yet when that

very same data is sampled every 60 seconds, the spikes are not visible at all.

Coarse sampling of CPU load (orange line) can misrepresent what’s really happening in the application

environment (blue spikes).

This scenario can be highly problematic for troubleshooters who rely on performance

monitoring data to detect and analyze issues. Without high-frequency metrics data, they

can be blind to certain issues or may chase after problems that don’t exist. Cloud-native

environments only exacerbate the problem since containers spin up and down, and move

around at a dizzying rate.

Time

HIGH-FREQUENCY METRICS VS SAMPLING

■ 1-second monitoring of CPU load ■ 60-second monitoring of CPU load

% CPU Load

Page 13: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

< > 13

The right analytics and visualizations allow you to fully take

advantage of APM big data. It is not enough to have the right

answer; it’s critical to have the right answer at the right time.

Although still in its early days, artificial intelligence (AI) can be

applied to APM big data to quickly surface anomalies and patterns

using algorithms. Machine learning can also suggest likely causes

of issues and these recommendations can be used effectively to

jump start root cause analysis efforts. IT Operations teams can then

troubleshoot more effectively, reducing mean time to repair (MTTR)

in complex, containerized environments.

By 2020, approximately 50% of enterprises will use Artificial

Intelligence for IT Operations (AIOps) technologies together

with APM to provide insight into both business execution and

IT operations, up from fewer than 10% today.6

AI and Machine LearningREQUIREMENT

2

Page 14: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

< > 14

The typical IT department often relies on a mix of multiple commercial and open

source monitoring and logging tools. Some were provided by equipment and

software vendors, while others have been procured over the years for specific needs.

But more is not better. Unfortunately, this diverse collection rarely provides a complete

picture. For one thing, they don’t talk to each other, so it’s left to the IT user to

combine the information—the dreaded swivel-chair approach. In addition, point

tools don’t scale well, which makes them impractical for enterprise use.

To quickly find and fix issues, IT today needs the ability to monitor and analyze

four key sources of data—system metrics, application traces, application logs,

and network behavior—in a single, integrated view. It is critical to integrate network

performance insights to determine if the network is at fault because you can’t

always blame the network.

Fully Unified Performance MonitoringREQUIREMENT

3

Page 15: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

< > 15

A big data approach is the key to effectively managing application performance in a

cloud-native environment. When something goes wrong, the root cause can often

be traced to downstream dependencies or shared resource contention. Given the

dynamic nature of those dependencies, without accurate transaction flow mapping

troubleshooting is compromised by blind spots.

As a band-aid response, some vendors take a “little data” approach. They rely on

sampled or triggered transactions, then aggregate the samples and snapshots into

an inaccurate map based on fragmented data.

Next-generation tools must be able to generate a dynamic end-to-end map of every

single transaction. A complete data set across all transactions, along with a network

monitoring perspective, is crucial for accurately mapping the constantly changing

container relationships.

APPLICATION MAP

Troubleshooting cloud-native applications requires an end-to-end map that accurately captures

dynamic dependencies in real time.

Dynamic Dependency MappingREQUIREMENT

4

Page 16: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

< > 16

Many monitoring tools in use today neglect the user experience. They are IT-centric

and siloed, designed to measure the operational health of infrastructure components

such as networks, servers, and storage. But is that the right focus? Does it really matter

if your infrastructure is humming along fine when the overall application performance

results in a poor user experience?

It’s time to flip the script and put the focus on the end user.

What does that mean? Monitoring must start from the point of consumption—

smartphone, tablet, thick client, or browser—and map back all the way to the

backend systems. Device information helps quickly identify the root cause of

user complaints and improve triage and first-call resolution.

End-user experience monitoring also helps you track usage patterns to see

which features are most popular—important information for planning

upgrades and enhancements.

End-User Experience MonitoringREQUIREMENT

5

Page 17: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

Taking on the Microservices ChallengeRiverbed’s approach to cloud-native monitoring

< > 17

Riverbed takes on the cloud-native challenge by delivering deep visibility

into transactions, containers, and microservices running in a wide range

of cloud-native technologies and orchestration platforms, including

Docker, Kubernetes, Pivotal Cloud Foundry, and Red Hat OpenShift.

Riverbed’s approach to monitoring cloud-native applications results

in faster troubleshooting time and accelerates application lifecycle—a

desirable outcome for today’s DevOps-oriented teams. It relies on a

single agent to capture application trace, log, network, and systems

data so it’s easier to deploy and manage. And, lightweight, non-intrusive

instrumentation automatically discovers and maps the container

ecosystem, providing complete transaction visibility along with

second-by-second metrics.

Page 18: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

SCALE

Show Up Big for Your BusinessJust say no to sampling

< > 18

Billions of transactions a day. Thousands of application components. Monitoring

metrics every second. The reality of monitoring modern cloud-native applications

is a big data reality.

Riverbed has developed proprietary technology for capturing, storing, and indexing

very large data sets. Unlike other solutions, we capture every transaction across every

tier with full detail—no sampling. Riverbed’s approach has minimal overhead on the

system being monitored and our big data architecture allows you to store the non-

aggregated raw data for analysis for as long as it is needed without overloading your

storage resources. This big data technology holds the key to accurately mapping

dependencies, resolving complex problems, and optimizing performance.

Riverbed’s tools scale with full data granularity and depth, thanks to big data technology.

FULL DATAGRANULARITYAND DEPTH

RIVERBED BIG DATA

TECHNOLOGY

HIGH RESOLUTION

APM DETAIL

Page 19: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

See What’s Really ImportantMachine learning and analytics pinpoint business issues

< > 19

The move to cloud-native development is being driven by business considerations

as much as technical ones. The same should be true of the monitoring approach.

Riverbed uses innovative data visualization to help prioritize the development efforts

that will have the greatest impact on the business. Because traditional dependency

maps showing tens of thousands of components can be overwhelming, Riverbed

also offers a Performance Graph visual that abstracts away the complexity.

Performance Graph directly shows you which backend components are implicated

in the most important transactions, by volume and financial value, to the business.

In addition, Riverbed provides AIOps technology such as machine learning and

anomaly detection to proactively surface unsuspected issues. As a result, operators

can remedy problems before users even know they exist.

Riverbed gives you a new, more intuitive way to visualize dependencies, so you can quickly identify

the information that is actionable and relevant to your business.

MOST IMPORTANT TO BUSINESS

sql: getstockquotes;

WHAT DEV NEEDS TO OPTIMIZE

Securities

Page 20: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

Find Out if Riverbed is Right for You

< > 20

As IT architectures become more complex and difficult to

manage, businesses can’t afford to rely on outdated and

fragmented performance monitoring tools. They need next-

generation tools that are purpose-built for both the technical

and organizational challenges of microservices applications and

container-based service delivery models.

Riverbed delivers the only unified APM solution with end-user

experience monitoring, unparalleled scale and data quality,

and business-relevant analytics. Our platform encourages

greater collaboration across business and IT teams and drives

organizational success.

For more information, visit our website at

www.riverbed.com/appinternals and sign up for a free trial.

Page 21: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

Riverbed® SteelCentral™ Digital Experience Management

< > 21

UNPARALLELED SCALEAND DATA QUALITY

Traces every transaction, captures system metrics

at 1-second intervals

UNIFIED END-USER EXPERIENCE MONITORING AND APM

Visibility into all apps,transactions, and end-user devices

BUSINESS RELEVANT ANALYTICS FOR AIOPS

Machine learningand business-context

visualization

Page 22: The Essential Guide to Monitoring Containers and Microservicesmorganand.com/assets/rvbd-ebook-apm_performance2-2018.pdf · containers and microservices environments are hyper-distributed,

< 22

FOOTNOTES1 https://www.contino.io/insights/what-is-cloud-native-architecture-and-why-is-it-so-important 2 “Global Microservices Trends,” Dimensional Research, April 2018. http://na-sj24.marketo.com/rs/260-KGM-472/images/global-microservices-trends-2018.pdf 3 Ibid.4 https://www.digitalocean.com/community/tutorials/monitoring-for-distributed-and-microservices-deployments 5 Digital Enterprise Journal, “14 Key Attributes of Modern IT Operations Management for Digital Economy,” June 22, 20176 Gartner: Artificial Intelligence for IT Operations Delivers Improved Business Outcomes 12 June 2018—ID G00351106

Riverbed®, The Digital Performance Company™, enables organizations to maximize digital performance across every aspect of their business, allowing customers to rethink possible. Riverbed’s unified and

integrated Digital Performance Platform™ brings together a powerful combination of Digital Experience, Cloud Networking and Cloud Edge solutions that provides a modern IT architecture for the digital

enterprise, delivering new levels of operational agility and dramatically accelerating business performance and outcomes. At more than $1 billion in annual revenue, Riverbed’s 30,000+ customers include

98% of the Fortune 100 and 100% of the Forbes Global 100. Learn more at riverbed.com.

©2018 Riverbed Technology, Inc. All rights reserved. Riverbed and any Riverbed product or service name or logos used herein are trademarks of Riverbed Technology. All other trademarks used herein belong

to their respective owners. The trademarks and logos displayed herein may not be used without the prior written consent of Riverbed Technology or their respective owners.