Hye Jin Ryoo

[Linux 성능 분석] Day 1: 측정 모델 - 느리다는 말을 증거로 바꾸기

서론: 오늘의 문제 성능 문제는 CPU가 높다는 한 문장으로 설명되지 않는다. 사용자 증상과 자원 포화, 오류, 대기 시간을 연결하고 정상 기준선과 비교하는 조사 순서를 만든다. 1. 사용자 증상 고정 어떤 요청이 언제부터 얼마나 느려졌는지 p50, p95, p99와 오류율로 범위를 정한다. 시스템 전체 평균보다 영향을 받은 endpoint, t...

[Terraform 운영] Day 5: Drift와 정책 - 선언을 계속 진실로 유지하기

서론: 오늘의 문제 Terraform 도입은 첫 apply가 아니라 이후 수동 변경과 provider 진화를 통제하는 운영 체계다. 정기 drift 탐지, 정책 검사, 업그레이드와 비상 변경의 되돌림을 설계한다. 1. Drift의 종류 콘솔 수동 변경, 외부 자동화, provider 기본값 변화, 삭제된 자원은 서로 다른 대응이 필요하다. 차이를...

[Terraform 운영] Day 4: 리팩터링과 Import - 자원을 부수지 않고 주소 바꾸기

서론: 오늘의 문제 코드 구조 변경이 실제 인프라의 삭제와 재생성을 뜻할 필요는 없다. import, moved, removed 블록으로 코드 주소와 실제 객체의 연결을 명시적으로 이관한다. 1. 주소 변경의 위험 리소스 블록 이름이나 module 경로가 바뀌면 Terraform은 기존 주소가 사라지고 새 주소가 생겼다고 해석할 수 있다. 리팩터...

[Terraform 운영] Day 2: Module 설계 - 복사 대신 안정된 계약 만들기

서론: 오늘의 문제 좋은 Terraform module은 리소스를 숨기는 상자가 아니라 조직의 인프라 결정을 재사용 가능한 계약으로 표현한다. 입력, 출력, 버전과 책임 범위를 작게 유지한다. 1. 추상화의 단위 provider 리소스 한 개를 그대로 감싼 module은 가치가 작다. 네트워크가 포함된 서비스 실행 환경처럼 함께 변경되고 같은 정...

[Terraform 운영] Day 1: State와 소유권 - 실제 인프라를 잇는 장부

서론: 오늘의 문제 Terraform state는 캐시 파일이 아니라 선언한 주소와 실제 자원을 연결하는 운영 장부다. 저장 위치, 잠금, 접근 권한과 복구 절차를 먼저 설계해야 협업이 안전해진다. 1. State가 저장하는 것 state는 리소스 주소와 원격 객체 식별자를 연결하고 의존성 계산에 필요한 메타데이터를 보관한다. 실제 인프라를 다시...

[OpenTelemetry 실전] Day 5: 도입과 거버넌스 - 관측성을 제품처럼 운영하기

서론: 오늘의 문제 계측 라이브러리를 설치했다고 관측성이 완성되지는 않는다. 공통 의미 규칙, 비용 예산, 품질 검사와 단계적 전환으로 팀이 신뢰하는 플랫폼을 만든다. 1. 관측 질문에서 시작하기 먼저 사용자가 실패하는 지점, 지연의 원인, 용량 한계를 어떤 질문으로 찾을지 정한다. 신호 수집량이 아니라 답할 수 있는 운영 질문의 수를 성과로 본...

[OpenTelemetry 실전] Day 4: Collector 파이프라인 - 수집과 처리의 경계 만들기

서론: 오늘의 문제 애플리케이션이 관측 백엔드마다 다른 exporter를 직접 관리하면 교체와 정책 통제가 어렵다. Collector의 receiver, processor, exporter를 데이터 파이프라인으로 설계한다. 1. Agent와 Gateway 토폴로지 노드 가까이에서 수집해야 하는 파일 로그와 중앙에서 처리할 trace를 구분한다. ...

[OpenTelemetry 실전] Day 3: Log 상관관계 - 검색 가능한 사건으로 바꾸기

서론: 오늘의 문제 로그는 사람이 읽는 문장만이 아니라 trace와 metric을 연결하는 구조화된 사건이다. 기존 로깅 라이브러리를 유지하면서 공통 필드와 민감 정보 정책을 정한다. 1. 구조화 로그의 최소 필드 timestamp, severity, service, environment, event name을 안정된 필드로 둔다. 메시지 문구가...