사이트 신뢰성 공학

사이트 신뢰성 공학(Site Reliability Engineering, SRE)은 소프트웨어 공학의 관점들을 통합한 원칙으로, 이들을 인프라스트럭처와 운영 문제에 적용한다. 주된 목적은 상당한 스케일링이 가능하고 상당히 신뢰할만한 소프트웨어 시스템을 만드는 것이다. 구글의 사이트 신뢰성 팀의 설립자 벤 트레이너에 따르면 SRE는 "소프트웨어 엔지니어가 이른바 운영이라 불리는 임무를 떠맡을 때 발생하는 것"이다.[1]

역사 편집

사이트 신뢰성 공학은 2003년 즈음 구글에서 개발되었으며 당시 벤 트레이너는 운영 환경을 구동하기 위해 7명의 소프트웨어 엔지니어의 팀을 이끌었다. 이 팀은 구글의 사이트를 유연하게, 효율적으로, 더 신뢰할 수 있도록 동작시키는 임무가 주어졌다. 초기에 구글의 대규모 시스템들은 이러한 대형 시스템을 관리하는 방법에 관한 새로운 패러다임을 따라감과 동시에 새로운 기능들을 계속해서 도입하지만 매우 높은 품질의 최종 사용자 경험을 제공해야 했다.

역할 편집

사이트 신뢰성 엔지니어(SRE)는 최대 50%를 이슈, 긴급 대기, 수동 간섭 등 "ops" 관련 작업에 소비한다.

데브옵스 vs SRE 편집

데브옵스는 5가지 성공 규칙을 정의한다:

  1. 조직 사일로를 줄일 것
  2. 실패를 일반적인 것으로 간주할 것
  3. 점진적 변경을 구현할 것
  4. 도구와 자동화를 조율있게 이용할 것
  5. 모든 것을 측정할 것

SRE는 상기의 데브옵스 규칙을 충족한다.[2]

각주 편집

  1. Are SRE the next data scientists?, TechCrunch, Mar 2, 2016, Donald Fischer
  2. Google Cloud Platform (2018년 3월 1일). “What's the Difference Between DevOps and SRE? (class SRE implements DevOps)” – YouTube 경유.