Ruff! Ruff!
[오픈소스] - About DevOps 본문
<전통적인 개발 운영 체계의 문제점>
- 장애 발생의 담당자 부재
a.k.a 책임 미루기
- 운영 이슈에 대한 처리
- 빠르고 안정적인 배포의 어려움
=> 해결책 : DevOps
<DevOps>
- Development + Operation
- 애플리케이션 개발-운영 간의 협업 프로세스를 자동화 하는 것을 말하며, 결과적으로 애플리케이션과 개선 속도를 빠르게 함.
- 인프라에 대한 전문 지식 없이도 오픈소스와 클라우드의 도움을 받아 개발자도 "운영"을 겸할 수 있게 됨
- 필수 요소
-> CALMS 모델
1. Culture : 변화를 받아들이는 문화, 협업하는 문화, 잘못을 따지기 보다 결과 개선에 집중하는 문화
2. Automation : 반복적인 수동 업무 제거, CI/CD
3. Lean : 사용자에게 가치를 전달하는 일에 집중, 애자일(개발을 빠르게 고객한테 전달하고 고객 피드백을 받아서 무한히 개선하는 시스템)
4. Measurement : 지속적인 개선을 위한 노력의 결과를 성과지표로 측정
5. Sharing : 지식과 정보의 공유, 책임과 성공의 공유/ 책임과 성공의 공유
<CI/CD>
- 지속적인 통합 (CI: Continuous Integration) : 개발자가 작업한 코드를 자동으로 테스트하고 테스트에 통과하면 코드를 통합하여 저장
- 지속적인 배포 (CD : Continuous Delivery/Deployment) : 작업한 코드 및 변경사항들은 테스트를 거쳐 리포지토리에 업로드 되고 실제 서비스 배포까지 자동화
위 이미지의 Jenkins, Git, GitHub, docker, kubernetes 정도가 CI/CD에 사용되는 tool들이다.
'CS' 카테고리의 다른 글
[오픈소스] - GitHub을 활용한 협업방법 (0) | 2024.09.24 |
---|---|
[오픈소스] - Git을 활용한 소스코드 관리 (1) | 2024.09.17 |
서버 시스템 구축 실습 - 사용자 계정 인증 (0) | 2024.05.08 |
서버 시스템 구축 실습 - 데이터베이스 연결 (0) | 2024.05.01 |
서버 시스템 구축 실습 - Express.js 웹 개발 (0) | 2024.04.24 |