Stack · Working Set · 06

도구는 결정이 아니라
결과입니다.

유행을 따라가지 않습니다. 도메인이 요구하는 조건을 먼저 정리하고, 거기에 맞는 도구를 고릅니다. 아래는 지난 5년간 운영해 본 도구들 중 살아남은 것들의 목록입니다.

01 · 운영 연차5+프로덕션 운영 경험
02 · 주력 언어4TS · Python · Go · Rust
03 · 클라우드14AWS · GCP 멀티 리전
04 · 준수 표준3SOC 2 · OWASP · GDPR
Working Matrix · 06

카테고리별로 본 운영 도구.

같은 도구도 도메인이 바뀌면 다르게 씁니다. 아래는 우리가 자주 쓰는 도구들입니다.

Languages

도메인 모델은 타입으로, 성능은 컴파일러로.

주력
TypeScript도메인 모델·인터페이스Python운영·ML·자동화Go서비스·내부 도구Rust성능·안전성
보조
Kotlin모바일·JVM 연동C++저수준·성능

주로 이럴 때 — 도메인 모델은 TS와 Rust로 잡고, 운영과 실험은 Python으로, 서비스 사이는 Go로 잇습니다.

Web · Mobile

운영 데이터를 사용자 화면까지 그대로 이어주는 도구.

주력
Next.js앱·SSRReact뷰 레이어React Native모바일Framer Motion모션·전환
보조
Tailwind디자인 시스템TanStack데이터 패칭·테이블

주로 이럴 때 — 데이터 구조가 자주 바뀌는 화면은 Next.js와 TanStack으로 시작합니다. 디자인 결정은 Tailwind 토큰에 담아 둡니다.

Backend · Data

읽기·쓰기 분리, 멱등성, 시간 정렬을 코어에 내장하는 도구.

주력
Postgres트랜잭션 DBRedis캐시·큐Kafka이벤트 백본ClickHouse분석·시계열
보조
PrismaORMDrizzle타입 안전 SQL

주로 이럴 때 — 결제·재고·정산처럼 어긋나면 안 되는 도메인은 Postgres + Kafka(Outbox)로 시작하고, 분석은 ClickHouse로 분리합니다.

Infra · Observability

배포 경로와 운영 지표를 하나로 묶는 도구.

주력
AWS주력 클라우드GCPML·데이터 워크로드Kubernetes컨테이너 런타임Terraform인프라 코드화
보조
OpenTelemetry관측 표준Grafana대시보드·알림

주로 이럴 때 — 배포·롤백·모니터링을 하나의 파이프라인으로 묶습니다. 손으로 만든 인프라는 일주일 안에 Terraform으로 옮깁니다.

AI · ML Ops

모델을 실험에서 운영 흐름으로 옮기는 도구.

주력
PyTorch모델·학습Triton추론 서빙LangChainLLM 파이프라인MLflow실험 관리
보조
Vertex AI관리형 학습OpenAI범용 LLM

주로 이럴 때 — 실험은 자유롭게 하되, 운영에는 추론 SLO와 회귀 테스트를 통과한 모델만 올립니다.

Security · Compliance

신뢰 계층을 출시 첫날부터 작동시키는 도구.

주력
OAuth 2.0사용자 인증OIDC외부 로그인 연동Vault시크릿 관리KMS키 관리
보조
OWASP취약점 체크리스트SOC 2감사 대응

주로 이럴 때 — 인증과 키 관리는 첫 PR부터 들어갑니다. 감사 로그는 운영 데이터만큼 무겁게 다룹니다.

도구를 고르는 네 가지 기준.

5년 동안 운영해 본 도구들만 남았습니다. 새 도구가 끌릴 때마다 이 네 가지를 다시 물어봅니다.

  • 01

    유행보다 운영 안정성.

    GitHub Star 수가 아니라, 새벽 3시에 장애가 나도 디버깅할 수 있는지가 기준입니다. 최신 도구일수록 검증된 사례는 적습니다.

  • 02

    타입이 곧 명세입니다.

    도메인 경계는 타입으로 잡고, 런타임 검증은 외부와 닿는 지점에만 둡니다. PR 리뷰의 절반은 타입 설계 이야기로 채워집니다.

  • 03

    벤더에 묶이는 건 빠져나갈 길이 있을 때만.

    관리형 서비스를 쓰더라도, 6개월 안에 다른 클라우드로 옮길 수 있는 방법을 미리 마련해 둡니다. 새 의존성은 운영 비용을 충분히 따져본 뒤에 들입니다.

  • 04

    도구보다 도메인이 먼저.

    같은 도구도 결제 도메인과 콘텐츠 도메인에서는 다르게 씁니다. 도메인이 요구하는 보장 수준을 먼저 정리한 뒤, 거기에 맞는 도구를 가져옵니다.

Composition · 03

도메인에 맞춰 묶는 스택.

도구 하나는 그냥 이름이지만, 묶음이 되면 의사결정이 됩니다. 세 도메인에서 자주 자리잡는 조합을 정리했습니다.

C01결제 · 트레이딩 · 정산

실시간 코어

지연이 곧 손익이 되는 도메인입니다. 성능이 중요한 경로는 Rust로, 이벤트는 Kafka로, 분석은 ClickHouse로 나눕니다. 관측은 처음부터 OpenTelemetry로 통일합니다.

  1. L01Rust
  2. L02Kafka
  3. L03ClickHouse
  4. L04OpenTelemetry
  5. L05Grafana
p99 지연 · < 12ms이벤트 누락 · 0건
C02커머스 · 콘텐츠 · 대시보드

사용자 화면

데이터 구조와 디자인이 자주 바뀌는 화면입니다. Next.js로 빠르게 만들고, Postgres와 Redis로 안정적으로 받칩니다.

  1. L01Next.js
  2. L02TypeScript
  3. L03Postgres
  4. L04Redis
  5. L05Vercel
LCP p75 · < 1.8s주간 배포 · 12회
C03인증 · 감사 · 컴플라이언스

신뢰 백본

OAuth/OIDC, KMS, 감사 로그를 운영 환경에 기본으로 포함합니다. SOC 2와 GDPR은 나중에 덧붙이는 게 아니라 출시일에 맞춥니다.

  1. L01Go
  2. L02Postgres
  3. L03Vault
  4. L04KMS
  5. L05OIDC
  6. L06Audit Log
감사 결과 · PASS · 4분기시크릿 노출 · 0건
Featured · 04

도메인을 바꾼 네 개의 결정.

도구 자체가 결과를 만들진 않지만, 잘 고른 네 개는 도메인 운영을 바꿉니다.

GPU Acceleration

GPU Acceleration

CUDA·Triton 기반 추론을 운영 코드에 통합해, ML 추론 지연을 평균 4–10× 줄였습니다. 비용은 그만큼 늘지 않습니다.

추론 p95 · 38ms비용 절감 · −42%
Edge Compute

Edge Compute

Vercel·Cloudflare Edge로 사용자 가장 가까운 지점에서 인증·라우팅·실험을 처리. 중앙 서버 부하를 분산합니다.

응답 지연 · −68%리전 · 14 지역
Event-Driven Core

Event-Driven Core

Kafka와 Outbox 패턴으로 이중 기장과 멱등성을 보장합니다. 결제·정산·재고 도메인에서 누락 없이 운영됩니다.

재처리 · 자동누락 · 0 건
Zero-Trust Identity

Zero-Trust Identity

OAuth/OIDC, KMS, 감사 로그를 운영 환경에 기본으로 포함합니다. 컴플라이언스는 나중에 보강하는 게 아니라 출시일에 맞춥니다.

감사 · PASS · 4Q표준 · SOC 2 · GDPR
No-Go · 04

일부러 꺼내지 않는 도구들.

쓸 줄 몰라서가 아니라, 얻는 것보다 운영 부담이 더 큰 경우입니다. 필요해지면 다시 꺼냅니다.

  • N01

    GraphQL을 기본으로 깔기

    클라이언트가 여러 종류일 때만 쓸 값어치가 있습니다. 프론트엔드가 하나뿐이면 캐싱·권한·N+1 처리 비용이 이득을 다 가져갑니다.

  • N02

    문제도 없는데 마이크로서비스로 쪼개기

    조직 경계가 먼저, 코드 경계는 그다음입니다. 모듈러 모놀리스로 시작해서, 정말로 쪼개야 할 이유가 생겼을 때 쪼갭니다.

  • N03

    운영 코드 안의 AI 에이전트

    결정은 도구가 아니라 우리가 합니다. LLM은 추천·요약·초안까지만 맡기고, 실제 실행은 사람이나 정해진 규칙에 둡니다.

  • N04

    멀티 클라우드 추상화 레이어

    두 클라우드의 공통 부분만 쓰는 코드는 어느 쪽에서도 강하지 않습니다. 한쪽을 제대로 쓰고, 다른 쪽으로 옮겨갈 계획은 문서로만 남겨 둡니다.

운영 가능한 구조를 함께 설계할 준비가 됐다면.

먼저 어떤 문제인지부터 듣습니다. 데모와 견적, 일정은 그다음에 정리합니다. 첫 대화는 보통 30–45분이고, 필요하면 NDA부터 작성하고 시작합니다.

접근 방식 보기