Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

Ruff! Ruff!

[오픈소스] - About DevOps 본문

CS

[오픈소스] - About DevOps

maeng-kim 2024. 9. 13. 18:34

<전통적인 개발 운영 체계의 문제점>
- 장애 발생의 담당자 부재 
   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들이다.