Dynatrace’s new agents can reveal the single hardest part of AI operations

The New Stack · 2026.07.30

옵저버빌리티(Observability)가 왜 백엔드 개발자에게 중요한가

운영 환경에서 서비스가 복잡해질수록, 코드를 잘 짜는 것만큼이나 시스템 내부를 얼마나 잘 들여다볼 수 있느냐가 중요해진다. 옵저버빌리티는 단순한 모니터링을 넘어, 로그(Log)·메트릭(Metric)·트레이스(Trace)의 세 축을 통해 시스템 상태를 능동적으로 파악하는 개념이다. Dynatrace와 같은 플랫폼이 지속적으로 진화하는 이유도 여기에 있다. 특히 마이크로서비스나 분산 시스템 환경에서는 단일 요청이 수십 개의 서비스를 거치기 때문에, 어디서 병목이 생기고 장애가 전파되는지를 추적하는 것이 사실상 불가능에 가까워진다.

4년차 이상의 개발자라면 "배포는 됐는데 왜 느리지?"라는 질문을 운영팀이나 고객으로부터 받아본 경험이 있을 것이다. 이 질문에 데이터로 답할 수 있는 능력이 곧 시니어 개발자의 역량 차이를 만든다.

분산 트레이싱과 에이전트 기반 계측의 실무 적용

옵저버빌리티 플랫폼의 핵심 기능 중 하나는 자동 계측(Auto-instrumentation) 이다. Dynatrace의 에이전트 방식처럼, 코드 변경 없이 JVM 레벨에서 바이트코드를 조작해 트레이스 데이터를 수집한다. Java 백엔드 개발자 입장에서는 별도의 SDK 코드를 삽입하지 않아도 Spring Boot 애플리케이션의 HTTP 요청, DB 쿼리, 외부 API 호출 등의 흐름을 자동으로 추적할 수 있다는 의미다.

OpenTelemetry 기반의 수동 계측이 필요한 경우에는 아래처럼 Span을 직접 추가할 수 있다.

Tracer tracer = openTelemetry.getTracer("order-service");
Span span = tracer.spanBuilder("processOrder").startSpan();
try (Scope scope = span.makeCurrent()) {
    orderRepository.save(order);
} catch (Exception e) {
    span.recordException(e);
    span.setStatus(StatusCode.ERROR);
} finally {
    span.end();
}

에이전트 방식과 수동 계측을 병행하면, 프레임워크 레벨의 자동 수집과 비즈니스 로직 단위의 세밀한 추적을 동시에 달성할 수 있다. 실무에서는 특히 비동기 처리(Async)나 배치 작업처럼 자동 계측이 컨텍스트를 잃기 쉬운 영역에서 수동 Span 추가가 유효하다.

SRE 자동화와 개발자의 역할 변화

Dynatrace가 자율 SRE 에이전트 기능을 강화하는 흐름은, 운영 자동화가 점점 플랫폼 레벨로 내려오고 있다는 신호다. 이는 개발자가 운영에서 손을 놓아도 된다는 뜻이 아니라, 알람 대응·원인 분석·자동 조치의 루프를 시스템이 보조하게 되면서 개발자는 더 근본적인 설계 품질에 집중해야 한다는 의미다.

실무적으로는 다음을 고려해볼 수 있다.

  • SLO(Service Level Objective) 정의: 에러율·레이턴시 임계값을 코드 배포 전에 명시적으로 정의하고, 옵저버빌리티 플랫폼과 연동한다.
  • 구조화 로그(Structured Logging): JSON 형태의 로그를 출력해 플랫폼이 자동으로 파싱하고 인덱싱할 수 있도록 한다.
  • 카디널리티 관리: 메트릭 레이블에 사용자 ID처럼 고유값을 넣으면 스토리지 폭발이 발생하므로, 레이블 설계를 신중하게 해야 한다.

정리

  • 옵저버빌리티는 로그·메트릭·트레이스 세 축을 통해 분산 시스템의 장애 원인을 데이터 기반으로 파악하는 핵심 역량이다.
  • 에이전트 기반 자동 계측과 OpenTelemetry 수동 계측을 함께 활용하면 Java 백엔드의 가시성을 크게 높일 수 있다.
  • 운영 자동화가 플랫폼으로 이동할수록, 개발자는 SLO 설계와 구조화 로그 등 관측 가능한 코드를 작성하는 역량이 더욱 중요해진다.
Source
The New Stack
원문 보기 →
← 목록으로 돌아가기