SRE와 DevOps

행복한 콩🌳·2022년 1월 8일
0

개념

목록 보기
1/18


https://drive.google.com/file/d/1iOMaYIwlUBiGoG2mf8MFzl3EHy5xGJpq/view
자료 참조함

DevOps는 뭐고 SRE는 무엇인가
DevOps는 좀 많이 들어봐서 익숙한데 SRE는 익숙하지 않다.

DevOps는

Developer + Operation 을 함께하는 팀으로
일반적으로 개발팀은 주어진 시간 내에 개발을 완료할 수 있도록 개발 속도[Agility] 에 포커스를 잡고 있다면,운영 팀은 시스템 안정성[Stability] 에 포커스를 둔다.
서로 이해하며 싸우지 말자고 만든것이 DevOps

개발팀과 운영팀을 나누지 않고 병합하여 개발에서 테스트, 배포, 운영까지 모두 수행하는 것을 말한다.

즉 데브옵스 팀은, 개발과 개발과 운영을 모두 담당하므로써 개발된 시스템을 빠르게 배포하고 운영 노하우를 반영하여 시장의 요구사항에 빠르게 대응한다.

그렇다면 SRE는?

구글버전의 DevOps인 SRE는 Site Reliability Engineering으로
기본 사상 중 하나는 서비스의 안정성이 완벽할 수 없으며, 장애를 허용하는 모델, 사용자가 납득할 수 있는 가용성을 제공하되 개발의 속도를 유지하는 철학
개발자가 셀프 서비스로 운영을 하려면 그 플랫폼이 자동화 되어있어야한다.
애플리케이션을 빌드하고 유연하게 배포하고, 이를 모니터링할 수 있는 플랫폼이 필요한데 SRE는 이런 플랫폼을 개발하고, 이 플랫폼 위에서 개발자들이 스스로 배포, 운영을 하는 것이 목표

구글 넥스트 2018 발표자료에 따르면 SRE 엔지니어는 5가지 일을 한다.

  1. Metrics & Monitoring
    모니터링의 지표[matrics] 를 정의하고, 이 지표를 모니터링 시스템에서 올리는 것
    SLI (Service Level Indictor) : 서비스 수준을 판단할 수 있는 몇 가지를 정량적으로 측정할 수 있는 척도
    SLO (Service Level Objective) : SLI에 의해 측정된 서비스 수준의 목표 값 혹은 일정 범위의 값
    SLI를 정하고, 각 지표에 대한 안정성 목표를 SLO로 정해서 관리
  2. Capacity Planning
    용량 계획, 시스템 운영에 필요한 충분한 하드웨어 리소스 확보
  3. Change Management
    소프트웨어 배포/ 업데이트 영역
    점진적 배포와 변경
    배포시 장애가 발생하면 빠르고 정확하게 문제를 찾아낼 수 있도록 할 것
    문제가 발생했을 때 빠르게 롤백 가능하게 할 것
  4. Emergency Response
    장애 관리, 장애가 발생하더라도 빠르게 복구 될 수 있도록 장애 시스템 가급적 빠르게 정상화할 수 있도록 하는 것
  5. Culture

SRE 엔지니어들은 대규모 시스템을 확장성, 신뢰성 및 효율적으로 설계, 구축 및 실행할 수 있는 솔루션을 개발한다.

소프트웨어 개발과 시스템 엔지니어링의 교차점에서 운영함으로써 시스템 관리를 가이드한다.

profile
매일매일 조금씩 모여 숲이 되자🐣

0개의 댓글