Service Lifecycle
서비스 라이프사이클은 소프트웨어 또는 서비스가 기획, 개발, 배포, 운영, 개선, 종료까지의 과정을 포함하는 전체 생명주기
서비스 라이프사이클이란?
ITIL에서 말하는 서비스 라이프사이클(Service Lifecycle)은 IT 서비스를 기획하고, 설계하고, 전환하고, 운영하고, 지속적으로 개선하는 전 과정을 의미함. 이는 IT 서비스 관리(ITSM)의 핵심 프레임워크이며, 각 단계에서의 명확한 역할과 책임을 정의 하고 있음.
ITIL의 5단계 구성
- Service Strategy (서비스 전략)
- 비즈니스 목표와 IT 서비스 간 정렬
- 서비스 제공 대상, 차별점, 비용 구조 정의
- 핵심 프로세스: 전략 관리, 포트폴리오 관리, 수요 관리, 재무 관리
- Service Design (서비스 설계)
- IT 서비스 및 프로세스를 설계
- SLA, 보안, 가용성, 용량, 연속성 등을 포함
- 핵심 프로세스: SLA 관리, 가용성 관리, 보안 관리 등
- Service Transition (서비스 전환)
- 서비스가 운영 환경으로 안정적으로 전환되도록 함
- 변경 관리, 릴리스 관리, 구성 관리 포함
- 핵심 프로세스: 변경 평가, 릴리스 및 배포 관리, CMDB
- Service Operation (서비스 운영)
- 일상적인 서비스 제공과 이슈 해결
- 사용자 만족도 유지 및 중단 없는 운영 보장
- 핵심 프로세스: 사건 관리, 문제 관리, 접근 관리
- Continual Service Improvement (지속적 개선)
- 서비스 품질 향상을 위한 데이터 기반 개선 활동
- KPI, SLA, 벤치마크 분석을 기반으로 개선
- 핵심 도구: CSI 모델, Deming Cycle (PDCA)
서비스 라이프사이클 관리의 핵심 과제
토스ㅣSLASH 24 - 클러스터 운영부터 서비스 라이프사이클 관리까지, 데브옵스 업무 효율화
- 노드 조인 자동화
- 기존: 노드 교체, 커널 업그레이드, 클러스터 버전 업그레이드 시 수작업 및 수시간 소요
- 개선: 쉘 스크립트 기반 자동화, 노드가 자동 조인되도록 구성 → 운영 비용 대폭 감소
- 결과:
- 커널 업그레이드 시간 30분 → 2분
- 쿠버네티스 버전 업그레이드 시간 2시간 → 30분
- 서비스 생성/삭제 자동화
- 기존: 신규 서비스 생성 시 DevOps가 직접 CI/CD 파이프라인 구성 → 반복 작업 증가, 실수 발생
- 개선: 개발자가 UI를 통해 파이프라인 생성 → YAML 자동 생성 → Git PR로 검토 후 Merge
- 결과: 개발자 주도 구성 + DevOps 공수 절감
- 서비스 종료 및 미사용 리소스 정리
- 기존: 사용 안 하는 서비스가 방치됨 → 리소스 낭비 (CPU/Memory)
- 개선:
- 미사용 서비스 탐지 알림 자동화 (ex. Istio 메트릭 기반 트래픽 없는 API 식별)
- 배치/컨슈머의 미사용 여부 자동 판단 → 불필요한 리소스 자동 제거
- 결과: CPU 1280 코어 / 메모리 128GB 절감
서비스 라이프사이클 관리의 실제 사례
✔ 노드 조인 자동화
- 쉘 스크립트 + 사이드카 방식 구성
- 클러스터 디스커버리 → 버전 맞는 설정 다운로드 → 워커 노드 조인 자동화
✔ 서비스 생성 UI 개발
- 서비스 개발자가 직접 파이프라인 구성 (YAML UI 생성 → Git PR → Merge)
✔ 미사용 리소스 탐지 & 제거
- Istio 메트릭 활용 → API 사용 여부 추적
- Consumer 메트릭 + Kafka 정보 활용 → 미사용 토픽 판단
- Suspend 상태 배치 관리 → 사용 유무 자동 분류
- 주 1회 알림으로 개발자 확인 유도
✅ 결론
- 서비스 라이프사이클 관리는 DevOps 자동화와 자원 효율성의 핵심
- 토스의 사례처럼 “반복 업무 자동화”, “사용 종료 감지”, “자체 UI 도구 개발”은 좋은 실천 예시
- 개발자 자율성을 높이면서도, 리소스 낭비 없이 시스템 안정성 확보 가능
This post is licensed under CC BY 4.0 by the author.