Skip to content

Latest commit

 

History

History
59 lines (45 loc) · 2.69 KB

devops.md

File metadata and controls

59 lines (45 loc) · 2.69 KB

DevOps

DevOps 정의

  • 개발(Dev)과 운영(Ops)의 합성어인 DevOps는 고객에게 지속적으로 가치를 제공하도록 지원하는 사람, 프로세스 및 기술의 합집합입니다.

개발자는 계속해서 새로운것을 도입하고 싶어하지만, Ops들은 안정성을 최우선으로 여긴다.
그래서 등장한것이 DevOps이다.
이 DevOps라는 개념은 소프트웨어 개발 방법론 중 하나이다.

개발자들과 Ops들을 서로 잘 융합시키고 의사소통이 원할하게 하기 위한 개발 방법론이다.

DevOps의 목적

목적

  • 제품 출시까지 걸리는 시간(time to market)단축
  • 새로운 판의 더 낮은 실패율
  • 픽스간 짧아진 리드타임(상품생산 시작부터 완성까지 걸리는 시간)
  • 복구시 더 빠른 평균시간(새로운 릴리스의 충돌 등)

DevOps의 특징

Cross Functional Team

  • 각 프로세스의 (개발 ~ 배포 및 테스트) 담당자들을 하나의 팀으로 모으는 것

개발 프로세스를 하나의 팀에서 할 수 있도록 해야 한다는 것

Widely Shared Metrics

: 팀원 모두가 알고있는 하나의 공유된 지표가 필요하다는 것

서비스 개발 뿐만아니라 서비스가 운영에서 잘 돌아가고 있는지, 사용자의 반응은 어떤지를 측정할 수 있는 기준이 필요하다는 것

  • 이 지표를 기준으로 팀원들이 아 우리 서비스가 이정도로 잘돌아가고있구나, 아니면 아 이부분은 좀 부족하구나라는걸 인지할 수 있도록 해야함

Automating repetitive tasks

: 반복적인 일들은 자동화 하라는 것 반복작업에 투입되는 시간을 줄여야 좀 더 생산적으로 일할수 있고 좀 더 고도화된 서비스를 만들 여유와 시간을 벌 수 있을 것이다.

CI/CD를 이용해서 빌드-배포-테스트 프로세스를 자동화 해야한다

그리고 자동화 툴을 만드는 과정에서 시스템 전체에 대한 이해가 높아진다 장점이 여러모로 많음

Post Mortems

: 장애나 이슈가 있을때 그걸 혼자만 알지 말고 팀원들과 공유하는 것

서비스를 운영만 하다보면 어떤 이슈가 있을때 이 이슈가 얼마나 큰 이슈인지를 파악하지 못할떄가 많다고 한다

Regular Release

: 짧은 주기의 정기 배포를 통해서 빠르게 서비스의 기능을 개선, 고객들의 VOC를 반영해 나가는 것�

이점

  • 속도
  • 신속한제공
  • 안정성
  • 확장
  • 협력강화
  • 보안

Dev Ops의 방식

  • 지속적 통합(CI)
  • 지속적 제공(CD)
  • 마이크로 서비스
  • 코드형 인프라
  • 모니터링 및 로깅
  • 커뮤니케이션 및 협업