25
DevOpsContinuous Delivery 이현찬 차장 [email protected] Rational Software, 한국IBM IBM UrbanCode Demo

Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

Embed Size (px)

Citation preview

Page 1: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

DevOps와

Continuous Delivery

이현찬 차장

[email protected]

Rational Software, 한국IBM

IBM UrbanCode Demo

Page 2: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

어플리케이션 개발 라이프 사이클에 대한 회고

SR요청

Dev팀반영

계획반영

개발업무

형상관리

빌드정의및계획

빌드수행

릴리즈및패치

패키징

Deploy

계획

승인

테스트환경에

Deploy실운영환경에

Deploy

테스트환경에서

테스트수행

1nd

GAP

2nd

GAP

3nd

GAP

Page 3: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

어플리케이션 개발 라이프 사이클에 대한 회고

시스템통합테스트

사용자인수테스트

운영및제품

개발만 잘하면 되지 운영만 잘하면 되지

Page 4: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

Dev(개발) & Ops(운영)의 상반된 관심사

3

서비스딜리버리, 지원 & 운영프로세스소프트웨어개발프로세스

DefineDesign

& Build

TestDeliver

Report개발(Development)

Discover

RelateGovern

ControlAutomate

운영(Operation)

상반된 동기와 관심사빠른 개발과 배포, 신기술 안정화, 품질

Dev & Ops간 주요 이슈

�주요업무간 Gap 발생 (원활하지않은업무흐름)

�주요사용도구간통합부재및공유이슈

�현업담당자는요청한업무의진행현황파악어려움

�업무관련자간협업및공유의어려움

�함께공유할수있는현황보드부재

�공유부족에따른잦은미팅

Page 5: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

생산성 및 품질 향상 기반 라이프 사이클 : ALM?

시스템통합테스트

사용자인수테스트

실운영

디자인/설계 형상관리요구사항

변경관리 빌드/배포 품질/테스트

프로젝트관리

Application Lifecycle Management

Page 6: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

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 구간과 문제 이해가 중요합니다.

Page 7: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

운영(Operations)

차세대차세대차세대차세대 개발팀개발팀개발팀개발팀 운영팀운영팀운영팀운영팀

Requirem

entsDesign

Coding

Unit Test

Build

Deploy

Test

SCM

Package

Delivery

개발(Development)

“Sweet Spot”

Orchestration Leverage Zone

Dev & Ops : DevOps를 통한 문제 해결 접근

Page 8: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

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

Page 9: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

(Code)

Integration ?

Maciej Za

wadzki

Continuous Integration의 올바른 이해 (1)

Page 10: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

(time)

(Pain)

Continuous Integration의 올바른 이해 (2)

Page 11: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

(Merge/time)

(Quality)

It’s not Integration

Continuous Integration의 올바른 이해 (3)

Page 12: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

(Merge/time)

(Quality)

Continuous Integration의 올바른 이해 (4)

Page 13: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

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

Page 14: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

Continuous Delivery를 이용한 문제해결 시도

SCM Stream

지속적인 빌드 및 통합 (Continuous Integration)

SCM Stream

SCM Stream

PROD

시스템통합테스트

사용자인수테스트

실운영

�정기적으로최신개발내역을기반으로빌드및통합

�실패 : 실패내역을분석하여오류내용수정

�성공 : 사용자인수테스트대상으로관리

�빌드/통합이성공적으로이뤄진소스의테스트서버로의배포

�테스트전문도구를이용한테스팅

� Defect 발생시, 처리프로세스에따른문제해결

�기능테스트, 성능테스트 / Black-Box, White-Box 테스트

지속적인 테스팅 (Continuous Testing)

�사용자인수테스트까지완료된소스의관리

�테스트완료된소스기반으로패키지구성및승인

�승인절차를마친패키지배포의스케쥴배포

개발/테스트/운영배포관리를위한

릴리즈/디플로이전문솔루션

IBM UrbanCode Release

IBM UrbanCode Deploy

Page 15: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

SIT Release

Continuous Deployment

Continuous Deployment?

Continuous Deployment의 이해

Page 16: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

Continuous Delivery?

Release

Continuous Delivery

Continuous Delivery의 이해

Page 17: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

생산성 및 품질 향상 기반 개발 라이프 사이클

System Integration Test User Acceptance Test

생산성 향상과 품질 향상을 위해서는 CI를 넘어 CD까지 고려

Page 18: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

생산성 및 품질 향상 기반 개발 라이프 사이클

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

Page 19: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

Business

CollaborationProcessToolsGoals

DevOps?

Page 20: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

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

Page 21: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

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

Page 22: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

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

Page 23: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

22

Page 24: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인
Page 25: Continuous Delivery · PDF file · 2013-09-05Testing Acceptance Testing Production Operator Setup (weeks) ... F $%& , F $%& / Black-Box, White-Box $%& 지속적인

© 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