탕구리's 블로그

SRE란 무엇일까? 본문

일상생활

SRE란 무엇일까?

탕구리당 2020. 7. 20. 23:11
반응형

어느날 점심시간이었나? 팀장님이 나에게 그런말을 해주셨다.

 

"혹시 SRE라고 들어봤어? 우리팀 업무가 그쪽과 비슷한거 같으니 그 쪽으로 커리어를 쌓아보는건 어때?"

 

물론 나는 SRE란 단어를 처음들어봤다. 그리고 바로 검색(호다다닥)

 

SRE(Site Reliability Engineering)는 사이트 신뢰성 엔지니어라고 한다. 소프트웨어 기술을 인프라 및 운영에 활용할 수 있도록 하는 역할이다.

 

물론 평소에도 "인프라와 운영" 정말 관심이 많고 재밋게 공부하고 있는 분야이다. 처음 기술PM이라는 직군에 지원하게 된 것도 두 가지 영역 모두에 흥미를 갖고 있었기 때문이라고 나는 생각한다.

 

그렇다면 SRE의 역할은 정확히 무엇일까?

 

사전적인 의미는 이렇다

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

약간 쉬운말로 풀어보자면  SRE는 "운영(operation)과 시스템 자동화(Software Engineering)에 대한 업무를 담당하며 시스템관리 경험과 소프트웨어 엔지니어 혹은 코딩 및 자동화에 대한 업무를 담당하며 이에 숙련된 사람을 말한다.

 

위의 내용만 봤을 땐 요즘 유행(?)하고 있는 "DevOps"와 굉장히 유사한 역할을 하는 직군인 것 같다는 생각이 들었다.

 

DevOps에 대해서 잠깐 살펴보면 DevOps의 다섯가지 원칙에 대해 찾아볼 수 있다.

 

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

  1. 조직 사일로를 줄일 것 (시스템과 운영간의 분리를 줄인다.)
  2. 실패를 일반적인 것으로 간주할 것
  3. 점진적 변경을 구현할 것
  4. 도구와 자동화를 조율있게 이용할 것
  5. 모든 것을 측정할 것

SRE는 DevOps의 규칙 하에서 이루어지는 직군이라고 한다. 다른 자료들을 추가로 살펴보니 DevOps와 SRE의 관계는 DevOps > SRE 즉, SRE의 역할이 DevOps에 포함된다고 생각하면 될 것 같았다. 

 

정확히 아직은 SRE라는 단어가 어떤 역할을 담당하고 업무를 진행하는지 추상적으로 밖에 다가오지 않는다.

 

그래서!

 

구글에서 SRE를 담당하는 개발자들이 집필한 "Site Reliability Engineering"이라는 책을 찾았고 한번 읽어보려한다.

구글에서 SRE들이 어떤 업무를 하는지 공유하기 위해 제작된 서적이라고 한다.

해당 도서를 얼른 읽어보고 시간이 된다면 독후감을 써보는것도 나쁘지 않을 것 같다.

 

 

반응형
Comments