DevOps란? 시리즈 <Azure>

이선재·2022년 11월 21일
0

기술면접

목록 보기
3/4

DevOps란 무엇인가

Azure Docs를 기반으로 DevOps가 무엇인지 정리를 해본다.


DevOps의 정의

DevOps는 개발(Dev)과 운영(Ops)의 합성어로 프로세스 및 기술의 합집합이다. 팀에는 DevOps는 개발, IT운영, 품질 엔지니어링, 보안 등 서로 단절되어있던 역할 간에 조율하고 협업하여 안정적인 제품을 생산할 수 있도록 지원하는 개발 방식입니다.
이러한 DevOps 문화(향상된 협업)는 고객의 요구 사항에 효과적으로 대응하고 비즈니스 목표를 더 빨리 달성할 수 있다는 다음과 같은 이점이 있다.

출시 시간 단축 / 시장과 경쟁 지형에 따른 유연한 대응 / 시스템 안정성 및 신뢰성 유지 / 평균 복구 시간 개선

DevOps 방식

일부 방식은 특정 단계를 가속화 및 자동화하고 개선하는 데 도움이 되고 다른 방식은 여러 단계에 걸쳐 적용되어 팀들이 생산성을 높이는 원활한 프로세스를 만들도록 지원한다.

CI/CD(연속 통합 및 지속적 업데이트)

  • 구성 관리 도구를 사용하면 변경 사항을 체계적인 방식으로 롤아웃하여 시스템 구성이 수정될 위험을 줄일 수 있다.

버전 제어

  • 버전 제어란 코드를 버전으로 관리하는 것으로 수정 버전과 변경 이력을 추적하여 코드를 검토하기 쉽고 복구하기 쉽게 만드는 것을 의미한다.
  • 버전 제어 시스템은 동일한 파일에서 이루어진 코드 변경 사항을 병합하고 충돌을 처리하고 변경 사항을 이전 상태로 롤백하기 위한 명확한 프로세스를 제공한다.

Agile Software Development

  • 팀 협업, 고객 및 사용자 피드백 짧은 릴리스 주기를 통한 고도의 변화 적응력을 강조하는 소프트웨어 개발 방식이다.

IaC(infrastructure as code)

  • 코드형 인프라는 시스템 리소스를 안정적이고 반복 가능한 관리형 방식으로 배포할 수 있게 해준다.
  • 배포를 자동화하고 복잡한 대규모 환경에서 사용자가 오류가 발생할 위험을 줄이는 데도 도움을 준다.
  • 다른 IDC, CSP로 복제하는 것도 간편하고 효율적이다.

지속적인 모니터링

  • 방대한 데이터로부터 인사이트를 창출할 수 있도록 유용하고 의미 있는 알림을 설정하고 깊이 있는 원격 분석 데이터를 수집하기 위해 노력한다.
  • 즉, 지속적인 모니터링을 통하여 데이터를 분석하고 저장하여 애플리케이션 스택의 성능과 상태에 대한 완전한 실시간 가시성을 갖는 것을 목표로 한다.

Azure에서 보는 DevOps는 AWS와 비슷한 개념인데 뭔가 Azure가 생각하는 DevOps는 문화와 가깝고, Agile은 소프트웨어 개발 방법론으로 생각하는 것 같다.

profile
지적을 환영하는 인프라 냠냠을 시도하는 취준생

0개의 댓글