View
221
Download
3
Category
Preview:
Citation preview
DevOps와
Continuous Delivery
이현찬 차장
hclee@kr.ibm.com
Rational Software, 한국IBM
IBM UrbanCode Demo
어플리케이션 개발 라이프 사이클에 대한 회고
SR요청
Dev팀반영
계획반영
개발업무
형상관리
빌드정의및계획
빌드수행
릴리즈및패치
패키징
Deploy
계획
승인
테스트환경에
Deploy실운영환경에
Deploy
테스트환경에서
테스트수행
1nd
GAP
2nd
GAP
3nd
GAP
어플리케이션 개발 라이프 사이클에 대한 회고
시스템통합테스트
사용자인수테스트
운영및제품
개발만 잘하면 되지 운영만 잘하면 되지
Dev(개발) & Ops(운영)의 상반된 관심사
3
서비스딜리버리, 지원 & 운영프로세스소프트웨어개발프로세스
DefineDesign
& Build
TestDeliver
Report개발(Development)
Discover
RelateGovern
ControlAutomate
운영(Operation)
상반된 동기와 관심사빠른 개발과 배포, 신기술 안정화, 품질
Dev & Ops간 주요 이슈
�주요업무간 Gap 발생 (원활하지않은업무흐름)
�주요사용도구간통합부재및공유이슈
�현업담당자는요청한업무의진행현황파악어려움
�업무관련자간협업및공유의어려움
�함께공유할수있는현황보드부재
�공유부족에따른잦은미팅
생산성 및 품질 향상 기반 라이프 사이클 : ALM?
시스템통합테스트
사용자인수테스트
실운영
디자인/설계 형상관리요구사항
변경관리 빌드/배포 품질/테스트
프로젝트관리
Application Lifecycle Management
Dev
개선된
개발환경
Functional
Testing
Functional
Testing
Acceptance
Testing
Acceptance
Testing
ProductionProductionOperator
Setup (weeks)
설치
품질과운영은여전히예전방식을
유지하고있으면이영역에서
bottleneck 발생
개발환경의개선을통한빠른개발진행.
많은개발이이루어지지만,
테스트(품질)가제대로이뤄지지않음.
Development
Code & Tests
Operations
Business Services
Gap
Development
Code
Customers
Desire for
fast and
continuous
innovation
Line of
Business
Requirements
ALM 중심의 개발 환경 개선 : 생산성 극대화 한계 봉착
� 생산성과 품질 향상을 위해서는 개발/품질/운영상의 bottleneck 구간과 문제 이해가 중요합니다.
운영(Operations)
차세대차세대차세대차세대 개발팀개발팀개발팀개발팀 운영팀운영팀운영팀운영팀
Requirem
entsDesign
Coding
Unit Test
Build
Deploy
Test
SCM
Package
Delivery
개발(Development)
“Sweet Spot”
Orchestration Leverage Zone
Dev & Ops : DevOps를 통한 문제 해결 접근
Continuous Integration(CI)를 이용한 문제 해결 시도
SCM Stream
지속적인 빌드 및 통합 (Continuous Integration)
시스템통합테스트
사용자인수테스트
실운영
�정기적으로최신개발내역을기반으로빌드및통합
�실패 : 실패내역을분석하여오류내용수정
�성공 : 사용자인수테스트대상으로관리
최신소스
CI 만으론 문제 해결의 한계
�빌드 이후, 바이너리 파일의 관리 이슈
�QA 프로세스 및 도구와의 연계 이슈
�많은 공수의 커스터마이제이션
Jenkins Rational Build
Forge
uBuild
Unit TestUnit Test Integration TestIntegration Test
Build / Package
QA TestQA Test SecuritySecurity
Static Analysis
(Code)
Integration ?
Maciej Za
wadzki
Continuous Integration의 올바른 이해 (1)
(time)
(Pain)
Continuous Integration의 올바른 이해 (2)
(Merge/time)
(Quality)
It’s not Integration
★
Continuous Integration의 올바른 이해 (3)
(Merge/time)
(Quality)
★
Continuous Integration의 올바른 이해 (4)
Continuous Testing을 이용한 문제 해결 시도
SCM Stream
지속적인 빌드 및 통합 (Continuous Integration)
SCM Stream
시스템통합테스트
사용자인수테스트
실운영
�정기적으로최신개발내역을기반으로빌드및통합
�실패 : 실패내역을분석하여오류내용수정
�성공 : 사용자인수테스트대상으로관리
�빌드/통합이성공적으로이뤄진소스의테스트서버로의배포
�테스트전문도구를이용한테스팅
� Defect 발생시, 처리프로세스에따른문제해결
�기능테스트, 성능테스트 / Black-Box, White-Box 테스트
지속적인 테스팅 (Continuous Testing)Rational Quality Manager
Rational Test Workbench
Rational Test Virtualization Server
DeployDeploy
Stage Deploy
Functiona
l
Test
Functiona
l
Test
Performanc
e
Test
Performanc
e
Test
Dynamic Analysis
Stage
Quality
management
Quality
management
Assurance
Continuous Delivery를 이용한 문제해결 시도
SCM Stream
지속적인 빌드 및 통합 (Continuous Integration)
SCM Stream
SCM Stream
PROD
시스템통합테스트
사용자인수테스트
실운영
�정기적으로최신개발내역을기반으로빌드및통합
�실패 : 실패내역을분석하여오류내용수정
�성공 : 사용자인수테스트대상으로관리
�빌드/통합이성공적으로이뤄진소스의테스트서버로의배포
�테스트전문도구를이용한테스팅
� Defect 발생시, 처리프로세스에따른문제해결
�기능테스트, 성능테스트 / Black-Box, White-Box 테스트
지속적인 테스팅 (Continuous Testing)
�사용자인수테스트까지완료된소스의관리
�테스트완료된소스기반으로패키지구성및승인
�승인절차를마친패키지배포의스케쥴배포
개발/테스트/운영배포관리를위한
릴리즈/디플로이전문솔루션
IBM UrbanCode Release
IBM UrbanCode Deploy
SIT Release
Continuous Deployment
Continuous Deployment?
Continuous Deployment의 이해
Continuous Delivery?
Release
Continuous Delivery
Continuous Delivery의 이해
생산성 및 품질 향상 기반 개발 라이프 사이클
System Integration Test User Acceptance Test
생산성 향상과 품질 향상을 위해서는 CI를 넘어 CD까지 고려
생산성 및 품질 향상 기반 개발 라이프 사이클
Unit TestUnit Test Integration TestIntegration Test
Build / Package
QA TestQA Test SecuritySecurity
Static AnalysisSCM Stream
Continuous Integration
DeployDeploy
Stage Deploy
Functiona
l
Test
Functiona
l
Test
Performanc
e
Test
Performanc
e
Test
Dynamic AnalysisSCM Stream
Continuous Testing
Stage
Quality
management
Quality
management
Assurance
DeployDeploy
PROD DeploySCM Stream
Continuous DeliveryPROD
• 형상관리로 부터 최신 변경 소스 반영
• 모든 소스에 대해 지속적인 빌드 및 유닛테스트
• 필요에 따라 정적분석 및 보안검사
• 형상관리로부터 출시 전 테스트하려는 소스
반영
• 제품 출시 이전에 Stage/Test 환경 구성
• 자동화/메뉴얼 테스트, 품질 관리
• 형상관리로부터 UAT를 거친 소스 반영
• PROD의 정상유무 확인
System Integration Test User Acceptance Test
Continuous
Monitoring
Business
★
CollaborationProcessToolsGoals
DevOps?
DevOps을 통한 혁신과 개선
DevOps Foundation
Open Lifecycle and Service Management Integration Platform
DevOps 라이프사이클
운영 / 생산개발 / 테스트고객 비즈니스담당
지속적인피드백을통한혁신과개선
Eco
syste
mB
est P
ractic
es
Monitor and Optimize
Plan and Measure Develop and Test Release and Deploy
OSLC
IBM DevOps기반 제품 로드맵
20
Line of
Business
SmartCloud Orchestrator
IBM Pure Application System
Openstack
Rational Build Forge
Plan and Measure
Develop and Test
Release and Deploy
Monitor and Optimize
Rational Focal Point
Rational Requirements Composer
Rational Team Concert Rational Quality Manager
Rational Test Workbench
SmartCloud Control Desk
SmartCloud Application Performance Management
IBM UrbanCode Build
IBM UrbanCode Release
IBM UrbanCode Deploy
Cloud
Application(binaries, configuration,
schemas)
Platform(middleware, databases,
common services)
Infrastructure(OS, network, storage, security)
Mainframe Data Center
Public ServicesMid-tier
Data Warehouse MainframeEnterprise Service Bus
Directory Identity
File systems
Collaboration
Web/Internet
Routing Service
Third-partyServices Portals
ContentProviders
EJB
SharedServices
Archives
Business Partners
Messaging Services
*SCO : SmartCloud Orchestrator
DevOps와와와와 Cloud
22
© Copyright IBM Corporation 2013. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way.IBM, the IBM logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
www.ibm.com/software/rational
Recommended