반응형
DevOps
데브옵스(DevOps)는 소프트웨어의 개발(Development)과 운영(Operations)의 합성어로서,
소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화를 말한다.
데브옵스는 소프트웨어 개발조직과 운영조직간의 상호 의존적 대응이며
조직이 소프트웨어 제품과 서비스를 빠른 시간에 개발 및 배포하는 것을 목적으로 한다.
목적
데브옵스의 목적은 전반적인 배포 파이프라인에 걸쳐있다.
여기에는 개선된 배치(deployment) 주기를 포함하며 다음으로 이어질 수 있다.
- 제품 출시까지 걸리는 기간(time to market) 단축
- 새로운 판의 더 낮은 실패율
- 픽스 긴 짧아진 리드 타임(상품 생산 시작부터 완성까지 걸리는 시간)
- 복구 시 더 빠른 평균 시간(새로운 릴리스의 충돌 및 그 밖에 현재의 시스템을 비활성화하는 상황에서)
단순한 프로세스들은 데브옵스 접근을 사용하여 더 프로그래밍 가능하게 되고 유동적으로 되고 있다.
DevOps의 이점
- 속도
- 신속한 제공
- 안정성
- 확장
- 협업 강화
- 구성
DevOps 방식
- 지속적 통합
- 지속적 전달
- 마이크로 서비스 - 독립적으로 단일 서비스 또는 서비스 그룹으로 배포할 수 있다.
- 코드형 인프라 - 버전 관리 및 지속적 통합과 같은 코드와 소프트웨어 개발 기술을 사용하여 인프라를 프로비저닝하고 관리하는 방식
- 모니터링 및 로깅
- 커뮤니케이션 및 협업
데브 옵스 툴체인
- 계획 - 목적을 수행하기 앞서 방법이나 절차 등을 미리 생각하여 계획
- 코드 - 코드 개발 및 검토, 버전 관리 도구, 코드 병합
- 빌드 - 지속적 통합(CI) 도구, 빌드 상태
- 테스트 - 테스트 및 결과가 성능을 결정
- 패키지 - 애플리케이션 디플로이 이전 단계
- 릴리스 - 변경 사항 관리, 릴리스 승인, 릴리스 자동화
- 구성 - 인프라 스트럭처 구성 및 관리, IaC(Infrastructure as Code) 도구
- 모니터링 - 애플리케이션 성능 모니터링, 최종 사용자 경험
여담
각 회사마다 데브옵스를 사용하여 개발하고 있을겁니다.
지금 회사 역시도 젠킨스를 사용하고 있어 그것들에 대해 하나씩 공부하고 있습니다. :)
왜 사용하는지는 알고 있지만, 정확한 정의나 용어 등을 모르고 있어 하나씩 정리하며 글을 써가려고 합니다.
아직 많이 부족한 주니어이기에 계속하여 공부하려고 노력하고 있습니다..
야근만 없으면!! ㅠㅠ 왜 하루는 24시간 밖에 되지않을까 늘 한탄 중..
참고
https://ko.wikipedia.org/wiki/%EB%8D%B0%EB%B8%8C%EC%98%B5%EC%8A%A4
https://aws.amazon.com/ko/devops/what-is-devops/
반응형