사이트 신뢰성 엔지니어링은 Google 엔지니어링 팀의 Ben Treynor Sloss가 창안한 개념입니다.
SRE 팀은 소프트웨어를 툴로 활용하여 시스템을 관리하고, 문제를 해결하고, 운영 태스크를 자동화시키는 목적을 가지는 엔지니어입니다.
표준화 및 자동화는 SRE 모델에서 중요한 2가지 구성 요소입니다. 사이트 신뢰성 엔지니어는 운영 태스크를 개선하고 자동화할 방법을 끊임없이 모색해야 합니다.
사이트 신뢰성 엔지니어는 운영 태스크 시간과 프로젝트 작업 시간을 구분합니다. Google의 SRE 모범 사례에 따르면 사이트 신뢰성 엔지니어는 자기 시간의 최대 50%만 운영에 사용할 수 있으며 모니터링을 통해 이 시간을 초과하지 않도록 해야 합니다.
SRE는 확장성이 뛰어나고 안정적인 소프트웨어 시스템을 만드는 것이 목표인 운영에 소프트웨어 엔지니어링 측면을 적용하는 분야
운영 및 개발 작업 간의 균형을 유지하는 것이 SRE의 핵심
DevOps | SRE |
---|---|
문화로 인식 | 규범으로 인식 |
개발과 운영의 사일로 현상을 해결 하기위한 문화 | 안정성을 위한 문화 |
DevOps엔지니어 or DevOps개발자로불림 | SRE입니다. |
사일로 현상 : 부서 이기주의 뜻함 (곡물을 보관하는 창고 ‘사일로’에 단단한 벽을 두르고 남들이 곡식에 접근하지 못하게 하는 현상을 뜻함)
비슷한점
DevOps와 마찬가지로 SRE는 팀 문화 및 관계에 관한 것입니다. SRE와 DevOps 모두 개발 팀과 운영 팀 사이의 간극을 메우고 서비스를 더 빠르게 제공하는 목적을 가짐
DevOps 및 SRE 모두 더 빠른 애플리케이션 개발 라이프사이클, 서비스 품질 및 신뢰성 개선, 개발되는 애플리케이션당 소요되는 IT 시간 단축 등의 이점을 달성할 수 있습니다.
차이점
DevOps 엔지니어는 전체 SDLC(Software Development Life Cycle)를 이해하고 실제로 개선된 프로세스를 지원하기 위한 툴을 제공하는 실무 기술을 보유한 엔지니어다. DevOps에서 CICD와 MSA, 그리고 이를 위한 툴들이 필수적으로 나오는 이유다. 일반적으로 이러한 기술은 시스템 관리자와 개발자로서의 수년간의 경험을 필요로 한다. SRE의 주요 업무는 사이트(일명 플랫폼/서비스)가 무엇이든 상관 없이 항상 운영되도록 하는 것이다.