SRE 방법론(Site Reliability Engineering)
Site Reliability Engineering
핵심 키워드
- 개발자와 운영팀 사이의 간극을 좁힘
- 서비스 수준 목표(SLOs) 원칙
- 시스템이 가질 수 있는 장애와 문제 발생에 대한 허용 한도를 뜻하는 오류 예산
- 적극적인 용량 관리로 최고의 성능 유지
서비스 수준 목표(SLOs) 원칙
- 서비스의 성능과 신뢰성에 대한 목표를 사용자 관점으로 정의하여 모니터링
- 성능, 가용성 및 응답시간이 이에 포함됨.
- 임계값을 설정하여 일정 이상의 응답시간이 소요되면 SLO를 위반하는 등의 목표 설정
- 측정 가능한 지표를 사용하여 모니터링되야 함.
SRE 방법론을 채택하게 된다면?
- 시스템의 안정성과 신뢰성을 핵심 목표로 하기에 목표를 명확히 설정하고 이에 맞는 업무 방향성을 제시 할 수 있습니다. 또한 협력을 주요 키워드로 설정하여 문제 해결과 기능 개발 사이의 운영, 개발 팀의 원활해질 수 있습니다.
- 장애 모의 훈련 등 오류와 장애와 문제를 파악하고 해결하는 것에 중점을 두어 대응 능력을 강화하고 장애의 영향을 최소화합니다.
- 반복적이고 예측 가능한 작업을 자동화하는 것을 중점으로 개발, 배포 등 다양한 영역을 최적화합니다.
단계별 사용 예시
1. 개발
- 코드 리뷰와 자동화된 품질 검사 도구를 통해 병합 전 코드 품질을 향상시킵니다.
- 실험적인 테스트 환경을 구축하여 시스템의 동작을 예측 가능케 합니다.
2. 배포
- CI/CD 도구로 자동화하며, 롤백 기능을 포함합니다.
- 카나리아 배포 전략을 채택하여 일부 사용자들에게 미리 신규 버전의 서비스를 공개하고, 문제가 발생할 경우 빠르게 대응합니다.
3. 운영
- 시스템의 지속적인 모니터링을 진행하며 SLOs 원칙에 따라 이상 징후를 감지하고 경보를 생성하여 신속한 대응을 진행합니다.
기존에 대비하여 추가적으로 얻을 수 있는 이점
- 안정성과 신뢰성에 대한 명확한 목표 설정이 가능하다.
- 장애 예측과 대응 능력에서 뛰어난 강점을 가진다.
- 개발과 운영 사이에서 명확한 책임과 역할을 가진다.
참고 문서
Comments:
comments powered by