반응형
Devops란?
Devops는 Development + Operation을 합친 단어로 단순히 각 용어를 결합한 것 보다, 개발과 운영을 결합하고, 자동화해 고품질의 소프트웨어를 제공하는 문화, 도구 등을 일컫는 단어라고 생각합니다.
새로운 기능이나 개선, 버그 수정 등 하나의 아이디어가 개발에서 배포까지 과정의 속도를 높여 사용자에게 소프트웨어를 제공하도록 합니다.
이러한 빠른 속도는 고객을 더 생각하고 지원하며, 시장에서의 경쟁력을 확보할 수 있습니다.
Devops 도구
각 업체, 사이트 마다 말하는 도구는 약간의 차이가 있을 수 있습니다.
그 중 중요하다고 생각하는 몇가지만 설명하겠습니다.
- CI
- 지속적 통합이라고도 불리며, 자동화된 빌드/테스트를 통해 개발자가 변경된 소스를 형상 관리 툴에 주기적으로 병합하는 방식입니다.
- 이를 통해 버그를 신속히 찾아내고, 소프트웨어의 품질을 개선할 수 있습니다.
- 추가로 변경사항을 감지하고 검증하는데 시간을 줄일 수 있습니다.
- 대표적으로 Jenkins/Github Actions 등이 있습니다.
- CD
- 지속적 배포라고도 불리며, CI 단계 이후의 모든 코드 변경 사항을 테스트 환경 혹은 프로덕션 환경에 배포함으로써 지속적 통합을 확장합니다.
- 이를 통해 언제나 즉시 배포할 수 있고, 표준화된 결과물을 보유할 수 있습니다.
- 대표적으로 Spinnaker/ArgoCD 등이 있습니다.
- 모니터링 및 로깅
- 지표와 로그를 통해 최종 사용자 경험에 미치는 영향이나, 문제를 식별할 수 있도록 도와줍니다.
- 대표적으로 Datadog, Prometheus 등이 있습니다.
Devops의 장점
다양한 장점들이 있지만, 제가 생각하는 장점을 AWS를 참고해 정리해봤습니다.
- 속도
- 작업 속도가 빨라지고, 고객에게 더 빠르게 제공해 비즈니스 성과를 달성 할 수 있습니다.
- 안정성
- CI/CD를 활용해 변경 사항이 제대로 반영되고, 휴먼에러를 줄여 보다 안정적인 소프트웨어를 제공할 수 있습니다.
- 확장성
- 자동화와 일관성을 통해 위험을 줄이면서 복잡한 시스템 혹은 변화하는 시스템을 효과적으로 관리할 수 있습니다.
- 협업 강화
- 주인의식과 책임감 같은 가치를 강조하는 문화를 통해 좀 더 효과적인 팀을 구축할 수 있습니다.
- 개발자와 운영자는 긴밀하게 협력하고, 워크플로를 결합합니다.
출처
반응형
댓글