Operations 12 min read

Introduction to Application Performance Management (APM) and Apache SkyWalking: Concepts, Architecture, and Installation Guide

This article introduces Application Performance Management (APM), explains distributed tracing fundamentals, provides an overview of Apache SkyWalking’s features and architecture, and offers step‑by‑step Docker‑based installation instructions for the SkyWalking server, UI, and Java agent.

Architect
Architect
Architect
Introduction to Application Performance Management (APM) and Apache SkyWalking: Concepts, Architecture, and Installation Guide

Application Performance Management (APM) collects and reports key performance metrics from applications using probes, enabling systematic performance and fault management. Popular APM tools include Cat, Zipkin, Pinpoint, and SkyWalking, the latter offering distributed tracing, metric analysis, and service dependency visualization.

Unlike traditional monitoring systems such as Zabbix or Prometheus that focus on hardware and service health, APM emphasizes internal execution metrics and inter‑service call chains, making it complementary for pinpointing slow requests.

Distributed tracing captures the complete request flow across microservices, databases, and caches, showing precise response times, invoked methods, and accessed resources, which is essential for debugging complex architectures.

Apache SkyWalking is a cloud‑native APM designed for microservice, container (Docker, Kubernetes, Mesos) environments. It supports multiple languages (Java, .NET Core, Node.js, Go) and follows the OpenTracing standards.

SkyWalking’s visualization includes six dimensions:

Global view – overall service and component overview.

Topology view – service dependency graph.

Application view – upstream/downstream relations, JVM and host info.

Service view – entry point performance and dependencies.

Trace view – detailed request execution path.

Alarm view – real‑time alerts based on thresholds.

The core modules are:

SkyWalking Agent – non‑intrusive tracing and metric collection, reporting via HTTP/gRPC.

SkyWalking Collector – aggregates data, processes it in the Analysis Core, and stores it.

Storage – supports Elasticsearch, MySQL, TiDB, H2, etc.

SkyWalking UI – web dashboard (RocketBot) for visualizing collected data.

Installation steps (Docker environment):

mkdir -p /data/ent/skywalking
cd /data/ent/skywalking
vim docker-compose.yml
# docker‑compose.yml content (excerpt)
version: '3.8'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.5.0
ports:
- 9200:9200
skywalking-oap:
image: apache/skywalking-oap-server:8.1.0-es7
ports:
- 11800:11800
- 12800:12800
skywalking-ui:
image: apache/skywalking-ui:8.1.0
ports:
- 28080:8080

After configuring the services, start them with:

docker-compose up -d

Open the UI at http:// :28080 to verify that services are registered.

To instrument a Java application, download the SkyWalking package, copy the agent directory into the project, and launch the app with the Java agent:

java -javaagent:agent/skywalking-agent.jar=agent.service_name=my-service,collector.backend_service=192.168.35.226:11800 -jar my-app.war --spring.profiles.active=local_dev

The UI provides dashboards for global metrics, topology, service details, trace analysis, performance profiling, and alarm management, allowing users to monitor request latency, throughput, error rates, JVM resources, and more across microservice architectures.

dockerMicroservicesAPMDistributed TracingApache SkyWalking
Architect
Written by

Architect

Professional architect sharing high‑quality architecture insights. Topics include high‑availability, high‑performance, high‑stability architectures, big data, machine learning, Java, system and distributed architecture, AI, and practical large‑scale architecture case studies. Open to ideas‑driven architects who enjoy sharing and learning.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.