박재석 대표 / 투씨드
(jsp@twoseed.co.kr)
DevOps 구성 사례와 전망
DevOps
• 정의 및 특징
 Development 와 Operations 의 합성어로 개발자와 운영자/관련자 간의 의사 소통,
협업, 융합 을 강조한 소프트웨어 개발 방법론
 Agile을 운영으로 확장
 능률적인 프로세스 적용 및
도구를 활용하여 Lyfe cycle의 효율화
 문화를 기반으로 하는 업무 방법론 [출처: http://en.wikipedia.org/wiki/DevOps#Devops_Days]
DevOps 주요 구성
Users Workflow
Requirement
Business Analysis
Plan / Design
Dev
Review
Deploy
Done
S/W
Culture
Process Cowork
Sharing Communication
DevOps 구성 사례
• facebook: 서비스 배포 주기의 단축 (1회/1일 -> 1회/2일)
• Flickr: 서비스 배포 주기 단축 (1일 10회 이상)
• fotopedia: 평균 하루 3회 핫픽스 배포
• 공통점
점진적인 통합 및 가속화 보다 빠른 제품/서비스 생산
Communication
Chat log
Continuous Integration
Build Automation
Review process
Source Searching
Git management
Branch / Merge
Integration with Application
DevOps 구성 사례
• Atlassian 제품 군을 활용한 DevOps 구성 예
Agile (Sprint board)
Backlog
Issue Tracking
Communication
Knowledge base
DevOps 구성 단계 (예시)
요건 수립 및 정의
 Devops 적용을 위한 환경 구성을 위해 내부 요건의 수집 및 정의
 현재 진행되고 있는 업무 및 구성원/조직에 대한 이해가 기반이 되어야 함
 명확한 결과물을 위해 정확한 정의가 선행이 되어야 하며 변경에 대해 사전 고려
 반드시 내부 구성원의 참여 및 공유를 필요로 하며 정확한 목표 설정과 공감이 필요
요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
DevOps 구성 단계 (예시)
분석 및 검토
 환경 구성을 위해 내부 현황의 수집 및 정리
 현재의 업무 분석 및 개선 방향에 대한 설계 방안 수립
 요건에 알맞은 도구 선정 및 검토
 필요 시 Pilot / POC 등의 검증 계획 수립
요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
DevOps 구성 단계 (예시)
설계
 프로세스 구성 적용 방안 및 사 후 지원을 포함한 업무 구성 설계
 도입 예정 시스템의 POC/Pilot를 통한 검증
 구성원의 역량 성숙도 분석 및 일정 계획
 지표 추출 및 구성 방안 수립
요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
DevOps 구성 단계 (예시)
구축
 구성 시스템 구축 적용
 계획 일정에 따른 구성 진척 관리 및 확인
 적절한 변경 관리 및 통제
 요건 변경에 대한 보정 및 협의
요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
DevOps 구성 단계 (예시)
적용
 구축 형태에 대한 최종 적용
 구성 역량에 따른 단계적 적용 방안에 의해 절차적 확산
 지속적인 개선 및 협의
 지원 프로세스 확립을 통해 원활한 업무 환경 수립
요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
DevOps 실패 사례
요건 수립 및 정의 단계의 문제로 인한 실패 사례
 분석 설계부터 지속적인 방향의 보정으로 인해 일정 지연 및 반복 작업으로 난잡한 구성
 구성원 간의 협의 미비로 인한 구성 및 확산 실패
 애초의 요건에 적합한 결과물이 아닌 전혀 다른 결과물 도출
 일정 지연 또는 범주 조정 등 프로젝트 진행 실패 확률 상승
요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
DevOps 실패 사례
분석/검토 및 설계 단계의 문제로 인한 실패 사례
 현실에 맞지 않는 구성으로 인해 원하는 결과와 다른 결과 도출
 근시안적 결정으로 인해 지속적 개선이 불가능한 결과물 도출
 과다한 이상적인 구성 요건으로 인해 사용이 어려운 시스템 구성 및 난해한 확산
 충분한 검토를 거치지 않은 내용으로 인해 구축 전/후 지속적인 추가 변경 소요 발생
요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
DevOps 실패 사례
구축 단계의 문제로 인한 실패 사례
 잦은 변경으로 인해 일정 지연 및 반복된 수정 발생
 적절한 인력 배치 및 제품의 수급 등 지원 실패로 인한 구축 실패
 변경 요건 통제의 실패로 인하여 설계와 다른 결과물을 도출
 무분별한 요건 변경으로 인한 방향성 상실
요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
DevOps 실패 사례
적용 단계의 문제로 인한 실패 사례
 사용자의 업무 환경을 배려하지 않는 무리한 확산으로 인해 업무 지장 초래 및 확산 실패
 빅뱅 형태의 적용으로 인해 사용이 어려워 자연스러운 도태 현상 발생
 사용 필요성에 대한 공유가 미비하여 원활한 확산 전개 불가능
 지원 프로세스 미비로 인해 지속 사용 불가능
요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
DevOps 구성 검토 사항
• 우리가 가고자 하는 방향은 최종적으로 어떤 것을 지향하고 있는가?
• 원하는 업무 구성을 위해 필요한 구성 도구는 어떠한 것들이 있으며 적합한 도구는?
• 무리하게 이론적 배경 또는 유행을 추구하고 있지 않은가?
• 진행하고자 하는 변경에 대하여 다른 구성원과 충분히 공유와 합의가 이루어 졌는가?
• 적용 이 후에도 지속적인 변경을 통해 원활한 확장 및 변경이 가능 할 것인가?
DevOps 전망
• Gartner 발표 기준 2015년 전년 대비 21.1% 성장 및 2016년 지속 성장 전망
• Open source 의 활용이 확산 전개 중에 있으며, 기존 상용 제품의 지속적인 하락세
• One stop solution 보다는 보다 전문화 된 도구의 통합 연계
• 기존 제품의 제공 기능 보다는 요구사항, 테스트, 협업 관련 등의 다른 부분 강세
• 국내에는 Agile과 더불어 최근 급속한 성장 예상
감사합니다.

[오픈소스컨설팅]Session 4. dev ops 구성 사례와 전망

  • 2.
    박재석 대표 /투씨드 (jsp@twoseed.co.kr) DevOps 구성 사례와 전망
  • 3.
    DevOps • 정의 및특징  Development 와 Operations 의 합성어로 개발자와 운영자/관련자 간의 의사 소통, 협업, 융합 을 강조한 소프트웨어 개발 방법론  Agile을 운영으로 확장  능률적인 프로세스 적용 및 도구를 활용하여 Lyfe cycle의 효율화  문화를 기반으로 하는 업무 방법론 [출처: http://en.wikipedia.org/wiki/DevOps#Devops_Days]
  • 4.
    DevOps 주요 구성 UsersWorkflow Requirement Business Analysis Plan / Design Dev Review Deploy Done S/W Culture Process Cowork Sharing Communication
  • 5.
    DevOps 구성 사례 •facebook: 서비스 배포 주기의 단축 (1회/1일 -> 1회/2일) • Flickr: 서비스 배포 주기 단축 (1일 10회 이상) • fotopedia: 평균 하루 3회 핫픽스 배포 • 공통점 점진적인 통합 및 가속화 보다 빠른 제품/서비스 생산
  • 6.
    Communication Chat log Continuous Integration BuildAutomation Review process Source Searching Git management Branch / Merge Integration with Application DevOps 구성 사례 • Atlassian 제품 군을 활용한 DevOps 구성 예 Agile (Sprint board) Backlog Issue Tracking Communication Knowledge base
  • 7.
    DevOps 구성 단계(예시) 요건 수립 및 정의  Devops 적용을 위한 환경 구성을 위해 내부 요건의 수집 및 정의  현재 진행되고 있는 업무 및 구성원/조직에 대한 이해가 기반이 되어야 함  명확한 결과물을 위해 정확한 정의가 선행이 되어야 하며 변경에 대해 사전 고려  반드시 내부 구성원의 참여 및 공유를 필요로 하며 정확한 목표 설정과 공감이 필요 요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
  • 8.
    DevOps 구성 단계(예시) 분석 및 검토  환경 구성을 위해 내부 현황의 수집 및 정리  현재의 업무 분석 및 개선 방향에 대한 설계 방안 수립  요건에 알맞은 도구 선정 및 검토  필요 시 Pilot / POC 등의 검증 계획 수립 요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
  • 9.
    DevOps 구성 단계(예시) 설계  프로세스 구성 적용 방안 및 사 후 지원을 포함한 업무 구성 설계  도입 예정 시스템의 POC/Pilot를 통한 검증  구성원의 역량 성숙도 분석 및 일정 계획  지표 추출 및 구성 방안 수립 요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
  • 10.
    DevOps 구성 단계(예시) 구축  구성 시스템 구축 적용  계획 일정에 따른 구성 진척 관리 및 확인  적절한 변경 관리 및 통제  요건 변경에 대한 보정 및 협의 요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
  • 11.
    DevOps 구성 단계(예시) 적용  구축 형태에 대한 최종 적용  구성 역량에 따른 단계적 적용 방안에 의해 절차적 확산  지속적인 개선 및 협의  지원 프로세스 확립을 통해 원활한 업무 환경 수립 요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
  • 12.
    DevOps 실패 사례 요건수립 및 정의 단계의 문제로 인한 실패 사례  분석 설계부터 지속적인 방향의 보정으로 인해 일정 지연 및 반복 작업으로 난잡한 구성  구성원 간의 협의 미비로 인한 구성 및 확산 실패  애초의 요건에 적합한 결과물이 아닌 전혀 다른 결과물 도출  일정 지연 또는 범주 조정 등 프로젝트 진행 실패 확률 상승 요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
  • 13.
    DevOps 실패 사례 분석/검토및 설계 단계의 문제로 인한 실패 사례  현실에 맞지 않는 구성으로 인해 원하는 결과와 다른 결과 도출  근시안적 결정으로 인해 지속적 개선이 불가능한 결과물 도출  과다한 이상적인 구성 요건으로 인해 사용이 어려운 시스템 구성 및 난해한 확산  충분한 검토를 거치지 않은 내용으로 인해 구축 전/후 지속적인 추가 변경 소요 발생 요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
  • 14.
    DevOps 실패 사례 구축단계의 문제로 인한 실패 사례  잦은 변경으로 인해 일정 지연 및 반복된 수정 발생  적절한 인력 배치 및 제품의 수급 등 지원 실패로 인한 구축 실패  변경 요건 통제의 실패로 인하여 설계와 다른 결과물을 도출  무분별한 요건 변경으로 인한 방향성 상실 요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
  • 15.
    DevOps 실패 사례 적용단계의 문제로 인한 실패 사례  사용자의 업무 환경을 배려하지 않는 무리한 확산으로 인해 업무 지장 초래 및 확산 실패  빅뱅 형태의 적용으로 인해 사용이 어려워 자연스러운 도태 현상 발생  사용 필요성에 대한 공유가 미비하여 원활한 확산 전개 불가능  지원 프로세스 미비로 인해 지속 사용 불가능 요건 수립 분석/검토 설계 구축 1차 적용 단계적 확산요건 정의
  • 16.
    DevOps 구성 검토사항 • 우리가 가고자 하는 방향은 최종적으로 어떤 것을 지향하고 있는가? • 원하는 업무 구성을 위해 필요한 구성 도구는 어떠한 것들이 있으며 적합한 도구는? • 무리하게 이론적 배경 또는 유행을 추구하고 있지 않은가? • 진행하고자 하는 변경에 대하여 다른 구성원과 충분히 공유와 합의가 이루어 졌는가? • 적용 이 후에도 지속적인 변경을 통해 원활한 확장 및 변경이 가능 할 것인가?
  • 17.
    DevOps 전망 • Gartner발표 기준 2015년 전년 대비 21.1% 성장 및 2016년 지속 성장 전망 • Open source 의 활용이 확산 전개 중에 있으며, 기존 상용 제품의 지속적인 하락세 • One stop solution 보다는 보다 전문화 된 도구의 통합 연계 • 기존 제품의 제공 기능 보다는 요구사항, 테스트, 협업 관련 등의 다른 부분 강세 • 국내에는 Agile과 더불어 최근 급속한 성장 예상
  • 18.