전통적인 프로젝트 세팅
•프로그래머 -> QA -> OPS
• OPS가 프로그래머, 테스터, QA에 항상 관여하는 것
은 아니지만 최종 결과는 OPS에서 진행이 됨.
• 분리된 팀, 공통의 언어가 없음.
• 서로간에 두려움이 있음.
21
22.
애자일 프로젝트 세팅
•프로그래머와 QA가 함께 developer 가 되고 한 팀이
됨.
• 애자일에서 운영은 분리가 되어 있음.
• 운영의 경우 개발 팀에서 만든 소프트웨어를 배포함.
• Cycle time ( 아이디어에서 사용자에게 실제 서비스
하는데 걸리는 시간) 은 여전히 길어짐.
22
이상적인 프로젝트란?
• 티켓관리 시스템에 이슈 등이 집약되어 있다.
• 버전 관리 시스템을 이용.
• 반복 검증 가능한 CI 시스템을 도입
• 환경의 영향을 최소화하고 항상 배포 가능 상태로 둔다.
• 모두 기록해서 추적 가능하게 한다.
33
34.
지속적 통합(Continous
Integration)
• CI란?
•통합이란 빌드, 테스트를 실시하는 프로세스를 말하며 이러한 통합 프로세스를 상시로 실시하는 것
을 CI 라고 함.
• 통합을 지속적으로 수행하는 것이 CI
• 원래 CI는 애자일 개발 방법의 하나로, 익스트림 프로그래밍 방법론으로 고안되었음.
• 가치 있는 소프트웨어를 고품질로 신속하게 전달하는 것을 목표로 하는것.
• 애자일 개발 중에서도 가장 기본이자 핵심 방법론임.
• 통합 작업을 미루지 말고 개발 중에라도 실시해서 소프트웨어 개발의 복잡성을 제거 하자는 것.
• 왜 CI 같은 방법론이 요구되는 걸까?
• 비용 면에서의 이점
• 시장 변화 속도
• 속도와 품질 둘 다 확보
34
35.
CI 에 필요한것
• 버전 관리 시스템 : subversion, Git
• 빌드 도구 : make, Scons, Ant, Maven, Gradle, Rake
• CI 도구 : Jenkins, Travis CI
35
우리의 문제는 무엇인가?무엇을 할
것인가?
• 큰 이야기
• 같은 목적을 향해 달려가고 있는가?
• 같은 프로세스를 사용하고 있는가?
• 같은 도구를 사용하고 있는가?
• 작은이야기 1
• 도구부터 접근하기
• 공통의 배포 프로그램, 워크플로우 프로그램 사용
• QA / Staging 환경을 구축해보기
• 작은 이야기 2
• 오늘 해커톤을 통하여 효과를 검증해 보기(만들고 측정하고 배우기)
37
Editor's Notes
#2 안녕하세요 이번에 devops에 대해 발표를 진행하게될 정해균 이라고 합니다. 발표 시작 하겟습니다.
#3 devops 시작 - 기존에 개발과 운영으로 나뉜상황에서 일어나는 일, devops 정의
소개 - 기존 프로젝트 팀의 단점, devops를 하면 하면 좋은점
구성 - 전통적인, 애자일 측정지표 비교 / devops로 변경하면서 얻는 이점
자동화 도구 - CI소개
이제 무엇을 할까 - 열심히 합시다.
#32 예를들어 배치 사이즈를 크게 잡았을때는 그만큼 배포의 주기가 길다는 말이 되는거고 변경사항이 많기 때문에
위험도가 커지게 됩니다.
반대로 배치 사이즈를 작게 잡았을때는 배포의 주기가 짧기 때문에 그만큼 위험도가 작아지게 됩니다.
그렇기 때문에 배치 사이즈를 작게 잡고 배포 하는것이 중요합니다.
#34 버전관리 - 시스템 - 테스트 - ci -배포 를 모두 기록하기 때문에 추적이 가능하게 만드는것
#35 ci란 빌드, 테스트를 실시하는 프로세스를 말하며 이러한 통합 프로세스를 상시로 실시하는 것을 CI 라고 합니다
ci를 함으로서 얻는 이점은 비용, 시장에 대한 변화속도, 품질을 지속적으로 얻을수 있기 때문입니다.