DevOps란?

완료됨

"Dev"와 "Ops"의 결합은 사일로화된 개발 및 운영 팀을 통합하는 것을 의미합니다. 이 아이디어는 결과에 대한 공유 사례, 도구 및 책임과 함께 작동하는 다학제 팀을 만드는 것입니다. 필수 DevOps 사례에는 민첩한 계획, 지속적인 통합, 지속적인 업데이트 및 애플리케이션의 포괄적인 모니터링이 포함됩니다. DevOps는 대상이 아닌 지속적인 개선 여정입니다.

DevOps의 비즈니스 가치

DevOps 사례를 구현하는 조직은 일반적으로 주요 운영 메트릭에서 측정 가능한 개선 사항을 확인합니다.

  • 배포 빈도: 드문 릴리스에서 정기적이고 예측 가능한 배포로 증가
  • 리드 타임: 확장 개발 주기에서 더 짧은 배달 기간으로 감소
  • MTTR(평균 복구 시간): 더 빠른 인시던트 해결 및 시스템 복원
  • 변경 실패율: 향상된 테스트 및 자동화로 인한 프로덕션 문제 감소

예상되는 이점은 다음과 같습니다.

  • 새로운 기능에 대한 출시 시간 단축
  • 배포 관련 인시던트 감소
  • 개발자 생산성 및 만족도 향상
  • 자동화를 통해 운영 비용 절감

연속 루프에서 계획, 빌드, 통합, 배포, 운영 및 피드백 단계를 포함하는 DevOps 주기를 보여 주는 다이어그램.

주기 시간 이해 및 계산

OODA(Observe, Orient, Decide, Act) 루프를 사용하여 소프트웨어 개발에 대한 기본 개념부터 시작해 보겠습니다. 전투기 조종사가 격추되지 않도록 설계된 OODA 루프는 비즈니스 세계에서 경쟁업체보다 앞서 나가기 위한 훌륭한 프레임워크입니다.

실제에서의 OODA 루프:

  • 관찰: 비즈니스 메트릭, 시장 추세, 사용자 동작 및 원격 분석 데이터 모니터링
  • 지향성: 실험을 통해 제공할 수 있는 항목에 대한 옵션 분석
  • 결정: 데이터 및 비즈니스 우선 순위에 따라 수행할 작업 결정
  • 작업: 실제 사용자에게 작업 소프트웨어 제공 및 피드백 수집

주기 시간 계산 연습: 현재 개발 프로세스에 대해 생각해 보세요. 어디에서 어디까지 가는 데 얼마나 걸리나요?

  • 코드 커밋 → 프로덕션 배포?
  • 기능 요청 → 고객 피드백
  • 버그 보고서 → 프로덕션에서 수정하시겠습니까?

예: 한 줄 구성 변경을 배포하는 데 2주가 걸리는 경우 주기 시간은 2주입니다. 이는 속도 제약 조건이 됩니다.

연속 반복을 강조하면서 순환 패턴으로 연결된 Observe, Orient, Decide 및 Act 단계가 있는 OODA 루프 주기를 보여 주는 다이어그램

데이터에 대한 통찰을 활용하여, 데이터 기반이 되지 마세요

데이터를 사용하여 다음 주기에서 의사 결정을 알리는 것이 좋지만 분석에 의해 마비되는 것을 방지하는 것이 좋습니다. 많은 조직의 경험에 따르면 배포에는 다음과 같은 다양한 결과가 있는 경우가 많습니다.

  • 일부 배포에는 부정적인 비즈니스 결과가 발생합니다.
  • 일부 배포는 긍정적인 결과를 가져옵니다.
  • 일부 배포는 측정 가능한 차이를 만들지 않습니다.

주요 원칙: 비즈니스를 발전하지 않는 이니셔티브에 빠르게 실패하고 비즈니스 목표를 지원하는 결과를 두 배로 줄입니다. 이 접근 방식은 흔히 "피벗 또는 지속"이라고 합니다.

실용적인 응용 프로그램:

  • 새 기능에 대한 A/B 테스트 설정
  • 배포 전에 성공 메트릭 정의
  • 실패한 실험에 대한 롤백 절차 설정
  • 신속하게 영향을 측정하는 피드백 루프 만들기

유효성이 검사된 학습을 위해 노력합니다.

빠르게 실패하거나 두 배로 감소할 수 있는 속도는 주기 시간(피드백 루프가 완료되는 데 걸리는 시간)에 따라 달라집니다. 각 주기에서 수집하는 피드백은 다음과 같습니다.

  • 팩트: 실제 사용자 동작 및 시스템 메트릭 기반
  • 실행 가능: 명확한 다음 단계 및 의사 결정을 이끌기
  • 적시: 다음 반복에 영향을 줄 수 있을 만큼 빠르게 사용 가능

이 증거 기반 접근 방식을 검증된 학습 이라고 하며, 가정이나 의견이 아닌 경험적 증거를 기반으로 의사 결정을 내립니다.

유효성이 검사된 학습에 대한 예제 메트릭:

  • 사용자 참여율 및 기능 채택
  • 시스템 성능 및 오류 비율
  • 고객 만족도 점수 및 지원 티켓
  • 비즈니스 KPI(수익, 전환율, 보존)

지속적인 개선을 위한 피드백 루프가 있는 양호하고 무관심하며 나쁜 결과를 보여 주는 유효성 검사된 학습 주기를 보여 주는 다이어그램

주기 시간 단축

DevOps 사례를 채택하는 경우:

  • 더 작은 일괄 처리로 작업하여 주기 시간을 단축할 수 있습니다.
  • 더 많은 자동화를 사용합니다.
  • 릴리스 파이프라인 보안 강화
  • 원격 분석 향상
  • 더 자주 배포합니다.

유효성이 검사된 학습과 배포 빈도(좋은 순환, 무관심 순환, 나쁜 순환)의 다이어그램.

유효성이 검사된 학습 최적화

배포 빈도는 많을수록 실험할 수 있습니다. 방향 전환 또는 꾸준한 진행 기회를 더 많이 얻을수록 각 주기에서 검증된 학습을 얻을 수 있습니다. 유효성이 검사된 학습의 이러한 가속화는 개선의 가치입니다. 이를 달성한 진행 상황과 피한 실패의 합계로 간주합니다.

확인된 학습과 배포 빈도에 대한 다이어그램. 좋음, 무관심, 나쁨 주기. 개선 지표의 가치.