나의 잡다한 노트 및 메모

SRE ( Site Reliability Engineering ) 본문

DevOps/SRE

SRE ( Site Reliability Engineering )

peanutwalnut 2025. 4. 24. 10:04

소프트웨어 엔지니어링 원칙을 IT 운영에 적용하여 서비스의 안정성과 성능을 유지 및 개선하는 역할을 한다.

주요 목표는 자동화와 효율성을 통해 운영 작업을 최소화하는 것이다.

서비스 가용성, 성능, 모니터링, 대응을 주로 관리하며, 개발자와 운영자 간의 효율적 협업을 장려한다.

SRE에서 가장 중요한 점 중 하나는 모든 것을 데이터화하고, 의사결정을 데이터를 기반으로 한다.

https://bcho.tistory.com/1325

Metric & Monitoring

  • 모니터링 지표 정의
  • 대시보드 형태로 시각화
  • 지표 분석을 통한 인사이트 찾기

Capacity Planning

  • 운영에 필요한 충분한 하드웨어 리소스를 확보하는 작업
  • 시스템의 자원은 시스템이 필요한 용량, 확보된 리소스 용량, 그 위에서 동작하는 소프트웨어의 최적화 이 3가지에 대한 함수 관계. (소프트웨어에 대한 성능 튜닝 또한 중요하다)

Change Management

  • 소프트웨어 배포/업데이트, 설정 변경, 인프라 구조 변경
  • 사람을 프로세스에서 제외하고 자동화하는 방향으로 작업을 진행
    • 점진적인 배포와 변경 ( 카나리 배포, 롤링 업데이트 )
    • 배포시 장애가 발생했을 경우 빠르고 정확하게 해당 문제를 찾아낼 수 있도록 할 것
    • 롤백

Emergency Response

  • 시스템 안정성 → MTTF( Mean Time To Failure )와 MTTR ( Mean Time To Recover )
  • MTTR을 줄이는 게 목표
  • 장애 복구 단계에서 사람이 컨트롤을 하되 가급적이면 각 단계는 자동화되는 게 좋고, 사람이 해야 하는 일은 메뉴얼화 돼 있는 것이 좋다. 이것을 Playbook 이라고 하는데, 없는 경우에 비해 3배이상 MTTR이 낮다는 게 통계이다.

Culture

  • Error budget
  • 데이터에 기반한 합리적인 의사결정. 모든 의사결정은 데이터 기반으로 돼야 한다.
  • 서로 비난하지 않고, 장애 원인을 분석하고 예방하는 문화
  • 책임을 나눠가지는 문화

'DevOps > SRE' 카테고리의 다른 글

SLI와 SLO  (0) 2025.04.24
모니터링을 위해 수집되야 할 DB 주요 지표와 의미  (0) 2025.03.26
모니터링 방법론  (1) 2024.09.08