devops

DevOps와 SRE는 무슨 차이가 있는 걸까 본문

DevOps

DevOps와 SRE는 무슨 차이가 있는 걸까

vata500 2022. 9. 14. 21:07
반응형

DevOps, SRE의 정의에 대해서 간단히 알아보자.

https://jhall.io/archive/2021/09/17/whats-the-difference-between-devops-and-site-reliability-engineering/

DevOps(Development + Operations)

데브옵스는 전체적인 개발 사이클을 빠르게 하고자 하는 소프트웨어 개발 접근방법이다. Continuous delivery이 가능하게 하며, 빈번한 release와 자동화된 소프트웨어와 앱 개발이 가능하도록 하는데 초점을 둔다. 그래서 업무의 빠른 flow가 가능하게 된다.

데브옵스 프로세스의 주요 목표는

  • 프로덕트의 출시를 가속화
  • 소프트웨어의 개발 라이프사이클 단축화
  • 시장 니즈에 빠른 대응

그래서 development와 operation의 융합이자, 코드를 가능한 부드럽고 빠르게 배포될 수 있도록 하는 팀을 의미하기도 한다. 팀은 개발과 운영을 위해 원활한 소통이 요구되며 높은 수준의 자동화를 구현할 수 있어야한다.

DevOps는 Software Delivery 속도를 향상시킨다.

그러므로 회사는 프로덕트를 시장에 짧은 시간에 출시할 수 있다. 업데이트는 더 쉽고 빠르며, 프로덕트의 견고함은 더욱 향상되는 결과를 만든다. 더구나 문제 발생 시, 더 빠르게 롤백할 수 있다.

DevOps가 일하는 방식

  • Break down silos : 개발과 운영을 통합하는 것으로 더 많은 인사이트와 의사소통이 요구된다.
  • Accept failure and fail fast : 리스크를 해소한다. 같은 실수가 두번 발생하지 않으며, 테스트 자동화를 통해 조기에 문제를 발견한다.
  • Introduce change gradually : 큰 단위의 변경이 아닌, 정기적으로 작은 단위의 변경 사항을 배포한다. 이럴 경우 변경 사항을 더 빠르게 검토하고 버그를 해결할 수 있다.
  • Leverage tools and automation : 자동화 도구를 활용하여 release 파이프라인을 구축한다. 이는 속도와 정확성을 높이고 수동 작업의 오류를 최소화한다. 불필요한 수작업도 줄어든다.
  • Measure everything : 데이터를 활용해 모든 활동의 결과를 측정한다. 주요 메트릭은 lead time for changes(변경 시간), deployment frequency(배포의 빈도), time to restore service(서비스 복원 시간), change failure rate(변경에 의한 실패율)로 총 4가지다.

+ silo : 조직의 부서들이 다른 부서와 소통하지 않고 내부 이익만을 추구하는 부서간 이기주의


SRE(Site Reliability Engineering)

Site Reliability Engineering은 대규모 응용 프로그램 구축에서 개발자를 위한 프레임워크로 만들어졌다. System Operations Responsibilities와 Software Development/Engineering이 결합된 개념으로 매우 안정적이고 확장 가능한 프로덕트를 개발하는 것이 주요 목표다.

SRE는 Uptime(가동시간)을 향상시키는데 초점을 둔다.

플랫폼이나 서비스가 정상적으로 유지되는 데 집중한다고 보면 된다. 재해 예방, 리스크 완화, 안정성과 관련된 작업이 가장 중요하다. 그래서 downtime을 유발할 수 있는 문제를 미리 방지할 수 있도록 한다.

SRE가 일하는 방식

SRE는 안정적인 시스템을 만들도록 도와주는 역할을 한다. 이를 위해서 SLO(서비스 수준 목표), SLA(서비스 수준 계약), SLI(서비스 수준 지표) 세 가지 메트릭을 통해서 시스템을 개선한다.

  • SLI(Service Level Indicators) : 서비스의 측정가능한 특성으로 시간이 정해지며, 측정 가능해야한다. ex) 가용성(Availbility)
  • SLO(Service Level Objectives) : 주어진 SLI를 통해서 성취하거나 목표하는 지표 ex) 95%, 99%
  • SLA(Service Level Agreements) : 서비스가 목표한 기대를 못 미쳤을 때, 고객 보상을 제공해주는 구속력 있는 계약

https://codilime.com/blog/sre-vs-devops-what-is-the-difference/


 

 

 

 

반응형
Comments