Search

Opsgenie의 알림 및 대기 중 담당자 기능을 이제 Jira Service Management 및 Compass에서 사용할 수 있습니다. 자동 마이그레이션 도구를 사용하여 2027년 4월 5일 전에 기존 Opsgenie 데이터 및 구성을 마이그레이션하세요.자세히 알아보기

SRE란 무엇입니까? 원칙 및 관행 설명

  • SRE(사이트 신뢰성 엔지니어링)는 릴리스 중에 개발 및 운영 팀이 직면하는 일반적인 문제를 줄이는 데 도움이 됩니다.

  • SRE는 모든 업데이트를 통해 애플리케이션이 안정적으로 유지되도록 지원하여 신뢰성, 책임감 및 혁신을 향상합니다.

  • 측정, 대응, 학습 및 개선은 SRE 작동의 기반이 되는 네 가지 주요 구성 요소입니다.

  • 효과적인 SRE는 리더십 수준에서 시작되지만, 강력한 팀 구조 및 신뢰성에 대한 공동 책임에도 달려 있습니다.

  • Jira Service Management는 인시던트 대응을 간소화하고 SRE를 효과적으로 구현하는 데 도움이 됩니다.

소프트웨어를 개발하고 릴리스하는 데에는 많은 변수가 존재하며, 팀 간 제공을 조율하는 것은 어려울 수 있습니다. 사이트 신뢰성 엔지니어링(SRE)과 같은 혁신은 마찰을 줄여 팀이 ITSM을 간소화할 수 있도록 돕습니다.

SRE는 최신 소프트웨어 개발에서 중요한 역할을 하며, 장애물 및 신뢰성 문제를 최소화하면서 제공 시간을 단축하도록 도와줍니다. SRE 핵심 원칙 및 요소에 대해 자세히 알아보고 SRE가 조직에 미치는 영향을 확인하세요.

사이트 신뢰성 엔지니어링(SRE)이란 무엇입니까?

SRE는 신뢰할 수 있고 확장 가능한 시스템을 구축하고 유지 관리하기 위해 운영 업무에 소프트웨어 엔지니어링 관행을 적용하는 엔지니어링 분야입니다. 자동화, 측정 가능한 신뢰성 목표 및 지속적인 운영 개선을 통해 시스템 성능을 개선하는 데 중점을 둡니다.

Google SRE 관행을 초기에 주도한 인물 중 한 명인 Ben Treynor는 사이트 신뢰성 엔지니어링에 대해 "소프트웨어 엔지니어가 예전에는 운영이라고 불리던 업무를 맡는 경우" 발생하는 일이라고 설명했습니다.

과거에는 개발 팀이 새로운 기능을 빠르게 제공하는 데 집중했고, 운영 팀은 시스템 신뢰성을 우선시했습니다. 이러한 이해의 차이로 인해 릴리스 결정 및 위험 허용 범위에 대한 마찰이 생기는 경우가 많았습니다.

SRE는 신뢰성 목표를 정의하고 측정 가능한 임계값을 통해 변경 사항을 안전하게 릴리스할 수 있는 시점을 안내하는 보다 체계적인 접근 방식을 도입했습니다. 전담 신뢰성 엔지니어가 지속적 혁신을 실현하면서 시스템이 성능 기대치를 충족하도록 지원합니다.

Google SRE의 Andrew Widdowson이 언급했듯이, SRE는 시스템을 프로덕션에 유지하면서 지속적으로 개선한다는 점에서 "빠르게 움직이는 피트 크루의 일원이 되는 것"과 비슷합니다.

SRE, 기존 IT 운영 및 DevOps 비교

기존 IT 운영에서는 새로운 릴리스의 문제와 그로 인한 위험을 최소화하는 데 주안점을 둡니다. 팀은 IT 전문성을 기반으로 구성되며, 네트워크 엔지니어가 네트워크 등의 업무를 담당합니다. 이 모델은 신뢰성을 최대화하는 데 효과적이지만, 병목 상태 및 지연을 초래할 수 있습니다.

DevOps는 기존 IT 운영 팀이 직면한 도전 과제를 해결하기 위한 최신 솔루션으로 만들어졌습니다. 기존 IT 운영과 달리 DevOps는 자동화를 통한 애자일 및 효율성에 중점을 둡니다. DevOps 팀은 또한 교차 기능적이므로 더 큰 유연성을 갖추고 있습니다.

SRE는 개발 팀과 운영 팀을 연결하는 것을 목표로 하는 최신 혁신입니다. SRE는 가시성, 자동화 및 애플리케이션 모니터링을 통해 개발 팀 및 운영 팀 간의 공동 작업을 간소화합니다. SRE 팀은 신뢰성을 보장하기 위해 서비스 수준 계약(SLA), 서비스 수준 지표(SLI) 또는 서비스 수준 목표(SLO)를 기준으로 애플리케이션 성능을 측정합니다. SRE 팀원은 또한 코드 문제를 식별하고 수정할 수 있으므로, 코딩은 SRE 팀의 핵심 기술입니다.

주요 초점

팀 구조

강점

제한

기존 IT 운영

릴리스 중 신뢰성 및 위험 감소

기능별로 구성된 전문 팀

강력한 제어 및 신뢰성

사일로, 병목 상태 및 느린 제공을 초래할 수 있음

DevOps

자동화를 통한 애자일, 속도 및 효율성

개발 팀과 운영 팀 간의 교차 기능 공동 작업

더 빠른 제공, 더 나은 유연성, 더 강력한 공동 작업

팀마다 신뢰성 관행이 다를 수 있음

SRE

엔지니어링, 자동화 및 가시성을 통한 신뢰성

개발과 운영을 연결하는 엔지니어

더 강력한 신뢰성, 측정 가능한 서비스 성능 및 더 빠른 인시던트 대응

기술적 성숙도, 명확한 메트릭 및 코딩 전문성이 필요함

SRE는 어떻게 작동합니까?

SRE에는 DevOps를 간소화하고 소프트웨어 신뢰성을 보장하는 데 도움이 되는 몇 가지 핵심 요소가 있습니다. SRE의 핵심 측면을 자세히 살펴보면 SRE를 조직에 효과적으로 통합하는 데 도움이 될 수 있습니다.

측정: 신뢰성 정의 및 추적

측정은 SRE 의사 결정의 토대이며, SRE 팀이 제공할 때마다 신뢰성을 최대화하기 위해 활용하는 핵심 데이터를 제공합니다. 주요 메트릭은 다음과 같습니다.

  • 서비스 수준 지표(SLI): 대기 시간, 가용성, 처리량 및 오류율과 같은 SLI는 시스템 신뢰성을 측정하는 핵심 메트릭입니다. 

  • 서비스 수준 목표(SLO): SLO를 통해 팀은 사용자 경험을 기반으로 현실적인 신뢰성 목표를 설정할 수 있으며, 이를 통해 성능 목표와 운영상 제약 조건 간의 균형을 맞춰 소프트웨어 제공 시 신뢰성을 보장합니다.

  • 서비스 수준 계약(SLA): SLA는 일반적으로 SLO만큼 엄격하지 않은 외부 신뢰성 약속입니다. SLO는 잠재적인 성능 문제에 대한 경고 시스템 역할을 하여 고객에 대한 책임을 보장하고 최고의 고객 경험을 제공하므로, SLA보다 엄격합니다.

  • 오류 예산: 오류 예산은 특정 기간 동안 허용되는 가동 중지 시간입니다. 팀은 오류 예산을 활용하여 개발 속도를 조절합니다. 오류 예산이 소진되면 개발 속도가 느려집니다. 예산이 충분할 때는 개발 속도를 높이고 더 많은 위험을 감수할 수 있습니다.

대응: 인시던트 및 운영 부하 관리

대응은 SRE 팀이 실시간으로 신뢰성 문제를 관리하는 구조화된 방법입니다. 팀은 정의된 프로세스 및 표준화된 프레임워크를 사용하여 인시던트 관리를 간소화합니다. 

  • 인시던트 대응 관행: 팀은 적시에 일관된 인시던트 대응을 보장하기 위해 정의된 프로세스, 역할 및 에스컬레이션 경로를 만듭니다. Jira Service Management(JSM)는 팀이 중앙 집중식 위치에서 문제를 쉽게 관리하고 에스컬레이션하고 모범 사례 및 절차를 공유할 수 있도록 지원합니다.

  • 심각도 수준 및 우선 순위 지정: 팀은 표준화된 심각도 프레임워크를 사용하여 영향을 신속하게 평가하고 특정 문제의 긴급도를 판단합니다. 팀은 이를 통해 심각도에 따라 인시던트의 우선 순위를 정할 수 있습니다.

  • 대기 중 엔지니어링: 지속 가능한 대기 중 교대 근무는 시스템 대응성, 개발자 생산성 및 웰빙 간의 균형을 맞추는 데 도움이 되며, 번아웃을 줄이고 더 나은 결과를 달성하도록 지원합니다.

학습: 인시던트를 시스템 차원의 개선으로 전환

인시던트 대응 종료 후 학습은 팀이 반복적인 오류를 방지하고 시스템 복원력을 높이는 데 도움이 되는 메커니즘입니다.

  • 비난을 배제한 사후 검토: 팀이 개인의 실수보다는 문제의 구조적 원인에 집중하면, 문제 해결이 더 효과적으로 이루어지고 팀의 심리적 안정감이 증진됩니다.

  • 사후 검토 템플릿 및 관행: 구조화된 인시던트 검토를 활용해 더 효과적으로 문서화하고 실행 가능한 후속 조치를 이끌어냅니다. JSM의 사후 검토 템플릿은 이 프로세스를 간소화합니다.

  • 신뢰성 지식 공유: 중앙 집중식 페이지 및 문서를 통해 팀은 참조 자료를 만들고 서비스 및 조직 전반에 걸쳐 학습을 확장할 수 있습니다.

개선: 규모에 맞는 엔지니어링 신뢰성

개선은 성숙한 SRE 관행의 장기적인 결과입니다. 비즈니스 성장과 함께 확장할 수 있고 장기적인 신뢰성을 보장하는 변경 사항입니다.

  • 업무 부담 감소: 반복적인 운영 워크플로를 식별하고 없애면 팀이 가치가 높은 엔지니어링 업무에 집중할 수 있는 시간을 확보하여 귀중한 리소스를 낭비하지 않게 됩니다.

  • 자동화 및 표준화: 자동화는 운영 워크플로를 간소화하고 인적 오류의 위험을 줄여 시스템 일관성, 복원력 및 운영 효율성을 개선합니다.

  • 작업 수용량 계획 및 성능 최적화: 시스템 설계에 예방적 접근 방식을 활용하면 일반적인 문제를 방지하고 지속 가능한 성장을 지원하여 비즈니스 성장에 맞게 쉽게 시스템을 확장할 수 있습니다.

SRE를 효과적으로 운영하는 방법

SRE는 적절히 사용하면 효과적인 도구가 될 수 있습니다. 적절한 절차 및 모범 사례를 따르면 SRE를 효과적으로 구현하기가 더 쉬워집니다.

신뢰성을 공동 책임으로 만들기

신뢰성을 공동 책임으로 만드는 것은 SRE의 핵심 원칙 중 하나입니다. 개발 팀과 운영 팀이 릴리스 결과에 대한 책임을 공유하면, 팀이 당면한 문제에 대한 솔루션을 찾기 위해 생산적으로 협력할 가능성이 높습니다.

오류 예산과 같은 도구는 우선 순위를 정렬하고 공동 작업을 장려하는 데 핵심적인 역할을 합니다. SLO, SLI 및 SLA는 시스템 성능을 객관적으로 측정하는 간단한 방법으로, 팀이 업무에 활용할 수 있는 견고한 토대를 제공합니다.

올바른 팀 구조 선택

SRE 팀은 중앙 집중식 팀이나 포함된 팀으로 구성할 수 있으며, 두 모델 모두 각자의 장점이 있습니다.

포함된 SRE 팀은 제품 팀 내에서 업무를 수행하므로, 제품에 대한 이해도가 높고 신속한 대응이 가능합니다. 중앙 집중식 SRE 팀은 조직 전반에 걸쳐 업무를 수행하는 별도의 팀입니다.

하이브리드 팀은 중앙 집중식 SRE 팀과 포함된 SRE 팀 간의 효과적인 절충안으로, 포함된 SRE 팀의 애자일과 중앙 집중식 팀의 일관성을 결합합니다. 하이브리드 엔지니어링 역할은 개발을 가속화하고 신뢰성 문제를 줄여 더욱 신뢰할 수 있는 시스템을 제공하도록 돕습니다.

신뢰성을 위한 리더십 지원 확보

신뢰성을 장기적인 우선 순위로 만들고 전략적 의사 결정 프로세스에 포함하는 일은 SRE 팀을 만드는 것만큼 간단하지 않습니다. 효과적이고 장기적인 SRE는 리더십에서 시작됩니다.

리더십이 신뢰성 개선에 전념하면, SRE 팀은 신뢰성을 보장하는 데 필요한 리소스를 활용할 수 있습니다. 리더십의 지지는 또한 빠른 릴리스보다 신뢰성을 우선시하는 문화적 변화를 뒷받침하여 조직이 수행하는 모든 것에 SRE를 통합하는 데 도움이 됩니다.

SRE는 언제 도입해야 합니까?

If SRE 도입을 고려하고 있다면 조직이 전환할 준비가 되었다는 몇 가지 신호가 있습니다.

  • 많은 양의 리소스가 번아웃을 초래하는 반복적인 수동 작업에 소모됨

  • 고객이 성능이나 가동 중지 시간에 대해 자주 불만을 표하거나 SLA를 위반하고 있음

  • 배포 시간이 느리고 배포로 인해 문제가 자주 발생함

SRE를 구현하는 것은 안정성을 개선하는 효과적인 방법이지만, 고려해야 할 몇 가지 도전 과제가 있습니다.

  • 변화에 대한 문화적 저항

  • 채용 또는 교육의 어려움

  • 과도한 업무 관리

단계적 SRE 구현을 통해 이 도전 과제 중 일부를 해결할 수 있습니다. 덜 중요한 파일럿 프로젝트부터 시작하여 점자 익숙해짐에 따라 자동화, 오류 예산 및 지속적인 개선을 구현하세요.

SRE 관행 구축 시작

SRE는 안정성을 개선하고 개발 팀과 운영 팀 간의 공동 작업을 간소화하는 가장 효과적인 방법 중 하나입니다. SLO, SLI 및 SLA를 사용하여 시스템 성능을 측정하면 인시던트를 최소화하고 고객 경험을 개선하며 개발자가 혁신에 집중할 수 있습니다.

SRE를 도입할 준비가 되었다면 작은 프로젝트부터 시작하여 팀을 구축하고 SRE 관행을 개선하고 지속적으로 향상하는 데 집중하세요.

SRE에 대한 더 자세한 가이드를 살펴보고 SRE 팀 구축에 대해 자세히 알아보거나, JSM을 확인하여 인시던트 관리를 간소화하고 팀 간 공동 작업을 향상할 수 있습니다.

맞춤 추천

튜토리얼

Opsgenie를 사용하여 대기 일정 설정

이 자습서에서는 Opsgenie 내에서 대기 일정을 설정하고, 재정의 규칙을 적용하고, 대기 중 알림을 구성하는 등의 방법을 배웁니다.

인시던트 커뮤니케이션 템플릿 및 예제

인시던트에 대응할 때 커뮤니케이션 템플릿은 매우 중요합니다. Atlassian 팀에서 사용하는 템플릿과 일반적인 인시던트에 대한 더 많은 예시를 확인하세요.

인시던트 관리에 대해 자세히 알아보세요.

이 허브에서 더 많은 인시던트 관리 가이드 및 리소스를 찾아보세요.