애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

25
© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 애플리케이션 개발 단계에서의 성능 품질 생산성 효율 , 둘 다 잡기 HP Software 김기배 차장 ([email protected]) HP Software Day

Upload: ki-bae-kim

Post on 17-Aug-2015

61 views

Category:

Software


2 download

TRANSCRIPT

Page 1: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

애플리케이션 개발 단계에서의

성능품질과 생산성효율, 둘 다 잡기

HP Software

김기배 차장 ([email protected])

HP Software Day

Page 2: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

애플리케이션성능품질이란?

Page 3: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.3

애플리케이션 품질

“Capability of a software product to

conform to requirements”

- ISO/IEC 9001 -

Page 4: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.4

애플리케이션 성능 요구 사항

인터넷 뱅킹 시스템의 계좌 이체 처리 시간은

1.5초 이내여야 한다.

자동차 텔레매틱스 서비스는 평상시의 조건 하에서

최소 10,000명의 사용자가 사용할 수 있어야 한다.

스마트 TV는 전원을 켠 후 3초 이내에 초기화면을

표시 할 수 있어야 한다.

고객 관리 시스템은 1,500명의 사용자가 접속하여

업무를 처리할 수 있는 환경을 제공하여야 한다.

Performance

* 최종사용자가 체감하는 성능

* 업무 수행에 소요되는 응답시간

Load

* 얼마만큼의 부하를 견딜 수 있는가

* 시스템의 부하 임계치

Page 5: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.5

애플리케이션 성능 품질

Performance

Load

성능

확장성

안정성

적정성

가용성

* 시스템 확장성

* 아키텍쳐 확장성

* Tier 별 확장성

* 빠른 응답시간

* 높은 부하 임계치

* 하드웨어 성능

* 프레임워크 성능

* 애플리케이션 성능

* 아키텍쳐 성능

* 동일한 성능 보장

* 임계 상황에서의 성능 보장

* 용량의 적정성

* Capacity Planning

* 장애 발생 시 회복 능력

* 장애 복구 후 동일한 성능 확보

성능

품질

보증

Page 6: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

애플리케이션성능이슈

Page 7: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.7

금융권 애플리케이션 성능 이슈 사례

전산 장애가 빈번한 첫 번째 원인으론

시스템 과부하가 꼽힌다.

평소에는 큰 문제가 없지만 연휴 이후

공과금 결제일 등 특정일에거래가몰리면

장애가생길수 있다는설명이다.

안정성

가용성

적정성

* 임계 상황에서의 성능 보장 실패

* 적정한 용량 산정 실패

* 장애 회복 능력?

Page 8: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.8

클라우드 환경 성능 이슈 사례

문제의 원인은 네트워크에 대한 미러링

때문이라고 아마존 측은 설명했다.

미러링과정에서용량부족이

발생했다는것이다.

확장성

가용성

적정성

* 인프라 확장에 따른 성능 보증 실패

* 적정한 용량 산정 실패

* 장애 회복 능력?

Page 9: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.9

모바일 환경에서의 애플리케이션 성능 요구 사항 변화

0

20

40

60

80

100

120

140

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Workload 분석

PC환경 Mobile환경

Peak Time의 서비스 사용시간의

사용량과 사용시간이 증가됨

IT 서비스의 이용하지 않던

시간의 사용량이 증가됨

Page 10: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.10

성능 이슈에 대응하는 올바른 자세

수동적인 대응 (Reactive Approach)

* 장애 발생 후 조치

* 기업/비즈니스신뢰도실추

* 금전적손해

선제적인 대응 (Proactive Approach)

* 애플리케이션 운영이전에성능검증수행

* 성능저하원인을미리파악하고제거

* 높은애플리케이션성능품질제공

Page 11: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

성능이슈해결방안

Page 12: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.12

애플리케이션 성능 검증

1 목표 TPS ( Transaction per Second )

2 목표응답시간

4 Availability ( 일반적으로 Transaction Fail Rate 1~5% 미만필수 )

5 지표의품질 ( 일정시간당 TPS curve 의 품질 , 일정시간당응답시간의품질 )

3 System Utilization ( CPU, Memory 등 )

Page 13: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.13

애플리케이션 성능 검증

Network

Throughput

DatabaseApp ServerWAS SecurityLoad Balancer

.Net

Latency Dispatcher

SQL Call

Application

CRM

BW

ERP

J2EE Work Process FirewallIndexes

Encryption

DNS

구간별성능측정을통해정확한성능저하요인파악및조치

Infrastructure

Application

Page 14: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.14

애플리케이션 성능 검증 절차 [Process]

1.분석 2.설계 3.이행 4.평가P P P P

1.성능목표 수립T

1.목표성능치 산정 A

2.이행절차 계획수립

T

1. 대상 선정 A

2.시험절차 계획 A

3.시험조건 계획 A

4.자원감시 계획 A

3.스크립트 설계

1.업무 시나리오 A

2.데이터 구성 A

3.스크립트 작성 A

시나리오설계서O

데이터설명서O

검증스크립트O

Detailed Test

Plan (DTP)

O

1.요구사항 분석T

1.요구사항 수집 A

2.프로젝트수행계획 수립

T

2.요구사항 정의 A

1.적용기술 검토 A

2.일정계획 수립 A

3.투입자원 계획

수립

A

고객면담서O

NFR 분석서O

Master Test

Plan (MTP)

O

1.단위 시험T

1.단위성능 시험 A

2.단위시험 분석 A

시험요약서, 튜닝권고내역서O

반복수행

실행결과서, 모니터링결과서O

2.통합 시험T

1.통합성능 시험 A

2.통합시험 분석 A

시험요약서, 튜닝권고내역서O

반복수행

실행결과서, 모니터링결과서O

1.결과 보고T

1.결과보고서 작성 A

최종결과보고서O

Page 15: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.15

애플리케이션 성능 검증 조직 구성 [People]

시스템 전문가 패키지 전문가 DB 전문가 모니터링 툴 전문가

인프라관리그룹 접점

개발팀

* OS,N/W Storage

* 상세 모니터링

* 분석 및 튜닝

* 문제 해결

* ERP/CRM 등

* 상세 모니터링

* 분석 및 튜닝

* 문제 해결

* Query 최적화

* 상세 모니터링

* 분석 및 튜닝

* 문제 해결

* 모니터링 환경 구축

* 모니터링 지원

* 모니터링 결과제공

* 애플리케이션 튜닝

* 성능 문제 업무 조치

* 검증 대상 거래 점검

* 성능 테스트 데이터 제공

애플리케이션관리그룹 접점

성능 테스트 진행

* 성능 테스트 계획

* 성능 테스트 진행 촐괄

* 테스트 결과 취합 및 결과 보고

* 성능 테스트 결과 분석 총괄

성능 테스트 총괄

* 성능 목표 관리

* 성능 테스트 진행 관리

* 성능 이슈 관리

인프라성능관리 그룹 애플리케이션성능관리 그룹

성능테스트팀

Page 16: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.16

네트워크애플리케이션 서버 Database최종사용자

성능검증구간

수작업 성능 검증의 어려움

부하생성

* 인력 및 시간, 비용이 많이 소요됨

* 부하 조절 및 부하 발생 통제가 어려움

* 부하 발생을 통한 원인 분석이 어려움

* 동일 부하 발생 상황 재현이 어려움

* 부하 테스트 정확성을 보장하지 못함

수작업성능 검증

* 제한적인 자원의 효율적인 사용

* 가상사용자로 실제 사용자를 대체

* 최소 하드웨어 자원으로 대량 거래 발생

* 가상사용자의 수를 자유자재로 조절

* 다양한 보고서를 이용한 정확한 분석

* 테스트 스크립트의 반복 재사용

성능 측정스크립트 작성 부하 생성 결과 분석

성능 테스트자동화

Page 17: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.17

네트워크애플리케이션 서버 Database

성능 테스트 자동화 도구 [Technology]

성능 측정스크립트 작성 부하 생성 결과 분석

HP LoadRunner

Virtual User Generator

(VuGen)을이용하여

가상유저스크립트생성

VuGen Controller

Controller에서성능검증

시나리오를구성한후

Agent 를 통해 부하생성

Load Generator

Analysis

취합한성능검증 데이터를

분석하여구간별성능 측정

및 성능 저하요인 파악

비즈니스프로세스를

수행하는가상유저

스크립트를실행하고결과

데이터취합

Page 18: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.18

성능 이슈 해결 방안

People Process

Technology

성능 검증프로세스

성능 요구사항 분석

성능 검증시나리오작성

성능 검증수행 및 분석

성능 저하요인 파악및 튜닝

도구 및인프라

성능 검증솔루션 활용

유지 보수및 기술 지원

성능 검증전문 인력

관련 지식및 Skillset 보유

성능 검증프로젝트수행 경험

지속적인개선

축적된경험 및 자산

Best Practices

성능검증

체계구축

확장성 안정성 적정성 가용성

성능검증영역

Page 19: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.19

성능 이슈 해결 방안

성능 검증의조기 수행

성능 저하요인을 조기에파악하여장애 비용최소화

개발 단계에서의수정(튜닝) 범위최소화

Needs

Specification

Design

Detailed Design

Coding

Unit Test

SIT

UAT

AIT올바른성능 검증의수행

현실적인운영 상황을반영한 성능검증 시나리오

다양한유스케이스및 환경 고려

성능 저하원인을 빠르게파악하고수정방안제시

개발 및운영 단계에서의불필요한재 작업 방지

Page 20: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.20

애플리케이션 성능 검증의 확장

소수의사용자가핵심업무의처리를위해사용하는애플리케이션

* 주로 금융 및 공공 분야

- Core Banking 기능에대한성능 검증

- 공공업무전산 처리에대한성능 검증

다수의사용자를대상으로하는다양한목적의애플리케이션

* 금융, 공공, 제조, SI, 게임, 포털등을 아우르는 모든 분야

- 인터넷뱅킹, 웹 포털 등의웹 애플리케이션성능 검증

- ERP, CRM 등의 엔터프라이즈애플리케이션성능 검증

- 모바일애플리케이션및 게임에대한 성능검증

- TV, Camera 등의 스마트기기에대한 성능 검증

플랫폼및기술

사용자성숙도

커뮤니케이션

업무의중요도

지식

경험

SNS

모바일클라우드

Page 21: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.21

성능 검증 솔루션 적용 효과

성능 품질 보증 개발 생산성

정확한병목지점을찾아내어수정에드는비용을최소화하고불필요하게

있을수 있는재작업방지

개발단계에서의성능검증을통해운영시 발생가능한성능저하요인에

대한선제적인대응가능

Page 22: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Why HP?

Page 23: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.23

HP ALM 솔루션 포트폴리오

대시보드

애플리케이션라이프사이클관리 (HP ALM)

HP Unified Functional Testing

통합기능테스트

HP Performance Center

HP LoadRunner

HP Fortify

HP QAInspect

성능최적화 애플리케이션보안검증

서비스가상화 (HP Service Virtualization)

HP ALM 플랫폼

Page 24: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.24

Page 25: 애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

감사합니다