최근 SOA를 구축하는 사례가 점차 늘면서 SOA 거버넌스에 대한 요구가 급부상하고 있습니다. SOA 거버넌스는 선택사항이 아니고 필수적이라고 합니다.

SOA 거버넌스가 없다면 ROI는 더 낮아질 것이고 파일럿 프로젝트 이상의 모든 SOA 프로젝트는 위험에 직면할 것이란 전문가들의 의견입니다.

본지에선 한국IBM의 정해영 부장의 기고를 통해 SOA 거버넌스의 정의, 적용과제, 효과 등에 대해 알아봤습니다.

 

SOA 거버넌스

 

SOA 있어서의 거버넌스 중요성

SOA에 있어서 거버넌스는 기업이 SOA를 적용하는데 보다 효율적으로 구축 및 관리할 수 있도록 하는 핵심 요소이다.

외부 애널리스트 다음과 같은 언급은 SOA 프로젝트에 있어서 거버넌스의 중요성을 강조하고 있다.

광범위하게 적용된 SOA에서 SOA 프로젝트와 관련된 과제가 급속히 떠오르고 있다. SOA 거버넌스는 선택사항이 아니고 필수적이다. SOA 거버넌스가 없다면 ROI 낮아질 것이고 파일럿 프로젝트 이상의 모든 SOA 프로젝트는 위험에 직면할 것이다.”

Service-Oriented Architecture Craves Governance, Gartner, Inc., Paolo Malinverno, January 20, 2006

“ 2006년에 중대 규모( 50 서비스 이상 운용) SOA 프로젝트에서 거버넌스 메커니즘 작업 결여는 가장 공통된 프로젝트 실패 원인이다.”

Management Update: Predicts 2006: The Strategic Impact of SOA Broadens, Gartner, Inc., Jess Thompson, Yefim V. Natis, Massimo Pezzini, Paolo Malinverno, November 23, 2005

SOA 거버넌스의 과제는 사람들이 의사 결정 권한을 행사할 수 있도록 책임, 권한 및 의사소통의 연결고리를 만드는 것이고 사람들이 그들의 역할과 책임을 수행할 수 있도록 평가, 정책, 관리통제 메커니즘을 구축하는 것이다.

IT 거버넌스는 IT와 관련된 의사결정 권한을 수립하고 IT 의사결정 방식을 평가하고 통제하는데 사용되는 메커니즘과 정책을 구축하는데 비해서 SOA 거버넌스는 SOA의 비즈니스 가치를 보장하는 서비스 라이프사이클에 초점을 맞춘 IT 거버넌스의 확장이다.

SOA 거버넌스는 IT 거버넌스 전체적인 IT 거버넌스를 강화하는 촉매제로서 역할을 하게 된다.

SOA 거버넌스의 과제는 다음과 같다.

과제

필요한 기능

의사결정권한 수립

§         공통 서비스의 비용지불 & 소유권

§         거버넌스를 위한 경영층 책임

§         조직 디자인

 

§         서비스 포트폴리오 계획

§         조직 디자인

§         SOA를 위한 거버넌스 프로세스

고부가가치 비즈니스 서비스 정의

§         공유서비스를 위한 의사결정 권한 및 거버넌스 프로세스

§         표준, 플랫폼 및 정책 의사소통 및 시행

§         공유 가능한 서비스의 정의화 수행

 

§         SOA를 위한 거버넌스 프로세스

§         비즈니스 프로세스, 정보 서비스 아키텍쳐를 위한 모델링

§         서비스와 데이터의 엔터프라이즈 뷰

§         공유 서비스의 인지와 정의를 위한 베스트 프랙티스

자산의 라이프사이클 관리

§         불필요한 서비스 증가를 제거하고 방지

§         공유서비스에 대한 변경관리 필요

 

§         SOA를 위한 거버넌스 프로세스

§         변경관리

§         서비스의 공개, 사용 및 검색을 위한 정책

§         서비스 자산의 조직 및 검색을 지원 및 서비스에 엑세스하고 모니터링 하는 인프라스트럭쳐

효율성 측정

§         서비스 활용도와 비용 측정

§         프로젝트 비용 측정

§         비즈니스 이점 평가

§         정보에 대한 엑세스 및 시각화

§         의사결정 권한 및 거버넌스 프로세스

 

§         SOA를 위한 거버넌스 프로세스

§         정보 사용과 계획을 위한 시각화

§         비즈니스와 IT 대시보드

 

SOA 거버넌스 라이프사이클

효율적인 SOA 거버넌스 프레임웍을 구축, 유지보수 및 강화하기 위한 작업은 계획(Plan), 정의(Define), 적용(Enable) 및 평가(Measure)의 4단계로 구성된 라이프사이클로서 표현된다.

SOA 거버넌스 라이프사이클의 각각의 단계를 보게 되면 다음과 같다.

SOA 거버넌스 계획 - SOA 거버넌스 프레임웍을 구축하기 위한 계획단계에서는, 조직 내의 전체 거버넌스 필요성의 범위를 이해하는데 초점을 맞추고 거버넌스를 향상하기 위한 분야를 정의한다.

SOA 거버넌스를 계획하는 활동의 대부분은 사람 중심이고 사람 사이의 확대된 협업에 초점을 맞추고 있다. 이것을 라이프사이클 내에서 팀이 “해결해야 할 문제”로 정의하는 라이프사이클의 단계이다.

이 단계 에서는 전체 IT 전략 안에서 SOA 전략을 확정하고 IT와 SOA 기능 수준을 분명하게 결정한다. 또한 SOA의 비전과 전략을 분명하고 상세하게 정의하고 현재 거버넌스 능력과 준비상태를 확인하여 계획을 수립한다.

SOA 거버넌스의 정의 - 보다 잘 진행되는 SOA거버넌스를 위한 기회가 한번 정의되면, 비즈니스와 IT 전문가는 현재 거버넌스 준비상태와 메커니즘을 정의하고 수정하기 위한 작업을 한다. 예를 들면, 정책을 수립하기 위한 새로운 접근방식이 이 시점에 도출해야 할 사항이다.

이 단계를 거치게 되면 SOA를 전담하는 조직을 성하고 각각의 역할을 기술하고 IT 인프라스트럭쳐의 업그레이드 같은 추가적으로 요구되는 역량을 정의하고 모든 현업에서 재사용되는 서비스를 위한 정책에 대한 동의를 얻고 예산 배정과 서비스 수준 보장을 위한 메커니즘을 수립한다.

SOA 거버넌스 적용 - SOA 거버넌스에서 필요한 솔루션은 이 단계에서 적용되고 이 단계에서의 공통 활동은 강화된 새로운 거버넌스 계획이나 기존 거버넌스 계획을 실제 적용하는 것으로서 의사 결정과정을 추적하고 정책 인프라스트럭쳐를 적용하고 이를 모니터링 하는 둘을 제공한다. 또한 자원을 검색하고 관리하는 기술을 적용하고 현업과 IT의 의사결정 커뮤니티 안에서 기대되는 행위와 프랙티스에 대한 의사 소통 및 정책 인프라스트럭쳐를 적용한다.  

SOA 거버넌스 평가이 단계에서는 정의되고 운영되는 SOA 거버넌스 계획과 메커니즘을 모니터링 하여 거버넌스 운영에 대한 결과를 측정하고 평가한다. SOA 거버넌스 효율성 강화를 위해 개선이 필요하다면 SOA 거버넌스 라이프사이클을 다시 시작하게 된다. 이 단계에서는 서비스 수준 협약(SLA), 재사용 레벨 및 변경 정책 같은 정책과 거버넌스 계획 준수 여부 모니터링하고 IT 효율성 매트릭스를 분석한다.

 

SOA 거버넌스의 효과

SOA거버넌스는 다음과 같은 일을 업무 진행에 효과적이다.

·         고객의 SOA 환경을 위한 결정 권한 수립

-          기존의 현업 서비스가 모든 현업에 의해서 사용될 수 있는 새로운 공통 프로세스를 위한 가장 좋은 고객 데이터를 가지고 있는지 누가 결정하는가?

-          공통 서비스의 소유권은 누구에게 있는가? 비용은 누가 지불하는가? 누가 업그레이드에 대한 책임을 지는가?

-          각각의 현업이 서비스를 재사용하도록 어떻게 설득할 수 있는가? – 독자적인 자체버전을 가지는 것은 현업이 독자적인 필요성을 가지고 있음을 느끼기 때문이다.

-          누가 서비스를 사용하고 얼마나 자주 사용하는지 누가 결정하는가?

·         적절한 서비스 정의

-          어떤 공통 비즈니스 서비스가 필요한가?

-          어떠한 애플리케이션(서비스 소비자)이 이러한 서비스를 사용하는가?

-          공통적인 정책은 어떤 것이고 어떤 것이 독자적인가? 일관성을 최대화하기 위해 구분되는 다른 점은 무엇인?

-          이미 존재하고 어떤 서비스가 재사용될 수 있는 후보자인가?

·         서비스 자산의 라이프사이클 관리

-          어떻게 조직이 공유 서비스/자산을 공통으로 사용하여서 나중에 효율적으로 재사용되게 할 수 있는가?

-          누가 다른 사람에 의해 재사용되는 서비스를 변경하도록 허용하는가?

-          누가 서비스를 사용하고 서비스가 변경되었을 때 어떤 것이 영향을 받는가?

-          누가 변경을 승인할 필요가 있는가?

-          누가 특정 사용자의 요구사항을 만족하기 위해서 서비스를 업그레이드하는 비용에 대한 책임을 지는가?

·                       효율성 측정

-          서비스의 목표 성과는 무엇인가?

-          성과관련 정보를 모으고 모니터링 하는 필요한 IT 표준이 무엇인가?

-          어떤 서비스 수준 협정(SLA)이 필요한가?

-          어떻게 성과 정보를 모으고 모니터링 할 수 있는가?

이를 통해서 SOA 거버넌스는 비즈니스 프로세스의 유연성과 향상된 적시 서비스 제공 같은 SOA 비즈니스 이점을 실현하고 서비스 품질과 일관성을 유지함으로써 비즈니스 위험성을 낮추고 관리통제가 가능하도록 할 뿐만 아니라 비즈니스와 IT 사이의 의사소통이 분명해지도록 함으로써 팀 효율성을 향상한다.

 

SOA 거버넌스를 진행 시나리오

SOA 거버넌스는 단순히 솔루션만을 사용하여 진행될 수 없고 각 담당자와 의사결정권자의 협업이 필요하고 이 과정에서 적절한 가이드 및 이를 지원하는 솔루션이 포함된다.

IBM은 SOA 거버넌스 라이프사이클의 각 단계에서 필요한 서비스와 솔루션을 제공함으로써 기업이 성공적인 SOA 거버넌스를 통해서 효율적으로 SOA 시스템을 관리/통제하도록 돕고 있다. 또한 IBM은 SOA 거버넌스의 각각의 단계를 위한 서비스와 솔루션을 제공하고 있다. 이들 서비스와 솔루션은 서로 강력하게 통합되어 있어서 SOA 거버넌스의 각 단계에서의 작업이 성공적으로 완수될 수 있도록 지원한다.

IBM의 솔루션과 서비스를 이용한 각 단계에서의 SOA 거버넌스 적용 시나리오를 살펴보면 다음과 같다.

SOA 거버넌스 계획 - SOA 거버넌스는 이미 SOA가 진행되고 있고 현업에서 서비스를 공유하려는 데서 시작할 수 있다. 이 때 누가 의사 결정자 또는 서비스 소유권자인지 확정하고 공유서비스에 대해서 누가 비용을 지불할 것인지 분명하게 정한다. 또한 서비스 QoS를 위한 표준을 정의하는 과정을 포함하여 SOA 거버넌스 계획을 진행하게 된다.

SOA 거버넌스를 계획하는 절차는 다음과 같다.

1.        현업에서 어떻게 SOA를 비즈니스에 활용할지에 대한 비즈니스 전략을 결정한다.

2.        SOA가 현재 어느 정도 수준인지 확인한다.

3.        현재 SOA 접근방식을 확인한다.

4.        이러한 결과를 기반으로 SOA 거버넌스 계획을 문서화 한다.

5.        마지막으로 SOA 거버넌스의 각각의 단계에서 어떤 일을 할지 작업 구조를 정의한다.

 

SOA 거버넌스 정의

SOA 거버넌스의 계획이 수립되었으면 그 다음 단계로 SOA 거버넌스의 관리 통제 및 평가를 위한 요소를 정의한다. 이 단계에서는 서비스의 가치와 비용에 관련된 정보가 시각화가 잘 안되어 있어서 이를 보다 분명하고 직관적으로 볼 수 있도록 시각화 하고 비즈니스 가치 보다는 IT 비용 절감 요구에 따라 서비스가 운영되는 것을 비즈니스 가치에 따라 운영되도록 한다.

이 과정을 통해서 비즈니스 가치에 대한 이해를 분명히 하고 분명한 성공 요인을 제시한다. 그리고 비즈니스 가치와 비용 기반 모델을 비교하여 어떻게 현업간에 비용을 분담할 것인지 정의한다.

SOA 거버넌스 정의 단계는 다음과 같이 진행된다.

1.        현업과 IT가 함께 비즈니스 전략이 잘 진행되고 있는지를 중간에 확인할 수 있는 확인 사항을 문서화 한다.

2.        그리고 비즈니스 전략 확인점 문서화 작업의 결과를 가지고 KPI와 매트릭스를 정의한다.

3.        그 다음에 IT에서 개발을 어떻게 진행할 지 프로세스를 정의한다.

4.        다음으로 정의된 KPI와 개발 프로세스를 가지고 실제적으로 기업의 SOA를 진행하고 역량을 강화할 전담조직을 만들 수 있도록 가이드 한다.

5.        이와 동시에 비즈니스와 시스템 분석가는 관리 통제 표준과 정책을 문서화한다.

6.        그리고 그 산출물을 가지고 비즈니스 프로세스의 KPI 모델링을 수행한다.

7.        만들어진 모델은 소프트웨어 아키텍트가 애플리케이션 디자인 표준을 만들어 낸다.

8.        동시에 데이터 아키텍트는 데이터의 표준을 만든다.

 

SOA 거버넌스 적용

본격적으로 SOA를 적용할 경우 서로 다른 현업은 서로 다른 SOA 모델을 사용하기도 하고 각각 별도로 비용을 지불하고 있는 서비스를 가지고 있을 뿐만 아니라 변경을 꺼려하기도 한다.

이러한 상황에서 SOA 거버넌스를 적용함으로써 시스템과 다양하게 서로 연결된 서비스 변경 관리를 하게 되고 어떻게 서비스 소유자와 사용자가 변경사항에 대해 통지를 하는지에 대한 정책을 분명히 하고 서비스 소유자와 서비스 신청자가 언제 변경이 일어나는지 결정할 수 있는 의사결정 권한을 가졌는지 분명하게 이해하게 된다.

SOA 거버넌스를 적용하는 것은 다음 단계를 거치게 된다.

1.        먼저 개발에서의 변경관리 프로세스를 구축한다.

2.        그리고 운영에서의 변경관리 프로세스 역시 만든다.

3.        개발자는 서비스의 재사용과 공개를 위한 리파지토리를 구축하여 서비스 검색을 위한 기반을 구축한다.

4.        그리고 서비스가 어디가 변경 되었고 어느 서비스에서 사용되는지 등 개발 시 사용되는 자원을 관리하고 추적한다.

5.        또한 정의된 변경관리 절차에 따라 변경이 발생할 경우 변경이 완료되면 이를 확인하고 나중에 감사를 위한 정보를 생성한다.

6.        그리고 각각의 서비스가 어떻게 변경되었고 구성이 어떻게 되었는지에 대한 정보를 저장한다.

7.        보안관리자는 서비스 재사용 및 공개를 위한 리파지토리에 엑세스 하기 위한 사용자 접속 권한을 부여한다.

8.        그리고 전체적인 인증과 접속권한을 위한 보안정책을 제공한다.

 

SOA 거버넌스 평가

SOA 거버넌스 라이프사이클의 마지막 단계는 평가 단계이다. 공통 목표 또는 성공 요소에 대한 동의에 대해서 현업과 IT가 잘 협력하고 있는지, 현업에서 표준화되지 못한 평가 기준이 있는지 비즈니스 가치에 의해서 서비스가 평가되는지 아니면 서비스 활용도에 따라 평가되는지 알 수 있다.

SOA 거버넌스 평가 단계를 통해서 부서의 실현 가능한 목표, 평가 및 성공 요소를 가지도록 하고 비즈니스 가치와 IT 목표에 대한 명백한 정의를 가지게 된다. 또한 부서 간에 균형 잡힌 비용 및 이점을 향유하게 된다.

SOA 거버넌스 평가 단계는 다음과 같이 진행됩니다.

1.        현업과 IT가 비즈니스 전략 확인 사항을 가지고 중간 점검을 하여 성과를 측정한다.

2.        그 다음에 정의된 KPI를 모니터링 한다.

3.        그리고 프로젝트에서 발생한 비용을 측정한다.

4.        운영관리자는 미리 정의된 서비스 레벨 협약(SLA)와 측정된 결과를 비교하여 성과를 측정해 낸고 또한 서비스의 성과를 모니터링하고 측정합니다.

 

SOA 거버넌스와 IBM

SOA 거버넌스는 사실 솔루션만의 문제가 아니다. 산업에 대한 풍부한 경험과 각각의 핵심적인 성공요소를 결합하여 가장 효율적인 관리/통제 인프라스트럭쳐를 구축하는 것이 필요하다. 이 단계에서 경험 있는 파트너의 도움이 필요하다.

IBM은 SOA 거버넌스 라이프 사이클에서의 모든 단계에서 필요한 솔루션과 서비스를 제공하고 있다.

 

저작권자 © 데일리그리드 무단전재 및 재배포 금지