[디지털데일리 박기록기자] ‘분산아키텍처의 구현’은 매우 세심하고 민감한 주제다. 고려해야할 것이 많다. 클라우드와 연결되는 기술적인 문제이기도하지만 유지보수 운영의 문제, IT서비스 품질의 문제와도 복합적으로 연결된다.

분산아키텍처는 단순히 기존 메인프레임이나 유닉스 서버를 x86서버로 대체하는 하드웨어의 변화가 아니라 IT 인프라 운영전략의 근본적인 변화를 요구한다. 2020년대의 시장 상황에 대응하기위해 또 다시 차세대시스템 또는 포스트 차세대시스템을 추진해야하는 금융회사의 입장에선 반드시 건너야할 강이다. 분산아키텍처와 클라우드 전환은 향후 3~4년간 국내 금융IT 혁신의 핵심 주제다. 

이번 시리즈에서는 '분산 클라우드 환경에서의 코어뱅킹시스템' 구현 전략과 사례를 주제로, 오는 14일 ‘금융 IT 혁신 컨퍼런스’(서울 프라자호텔 그랜드볼룸)에서 발표하는 뱅크웨어글로벌의 발표 내용중 일부를 발췌해 기고문의 형태로, 다음과 같이 요약 정리한다.

◆금융권이 직면한 '차세대 코어뱅킹'의 구현 과제 = 은행의 코어뱅킹(Core Banking)시스템은 타 업종과 비교해 복잡도가 매우 심하다. 통합적인 고객 뷰, 거래와 회계의 분리, 유연한 상품 설정, 맞춤형 가격 책정, 전면적인 리스크 관리 기능 등을 갖추고 있다. 기존 모든 것을 다 갖춘 헤비급 코어에서 보다 전문화된 라이트급 코어로 발전하고 있다. 

은행의 차세대 코어시스템 구축과 관련해, 직면하고 있는 도전은 크게 두 가지다. 하나는 업무 혁신과 IT운영이 시장의 발전 속도를 어떻게 따라 잡느냐는 것이고, 또 하나는 고도의 병행 처리와 대량의 데이터 흐름에 어떻게 대응하느냐에 관한 것이다. 

◆변화 속도에 대한 대응전략 – 코어뱅킹시스템의 모델화 설계 = 이 도전 과제의 해결 방법은 오랫동안 한결같았다. 표준화, 컴포넌트 구성, 재사용 빈도 향상 등이 그것이다. 즉, 데이터에서 어플리케이션까지 모델링을 거쳐 컴포넌트 정의에 따라 업무를 개발함으로써 신규 업무 추가 시 전체 업무 프로그램을 새로 짜야하는 부담을 줄인다. 아울러 최대한 기존의 로직을 재사용 하도록 설계한다.

하지만 현실에선 부족한 분석설계 시간때문에 완벽한 컴포넌트 설계가 이뤄지지 않는다. 재설계 및 리팩토링이 이루어 지지 않아 유사한 API가 증가하는 등 결국에는 최대한의 재사용이 아닌 적당한 재사용과 재개발로 신규 업무를 추가 하는 악순환에 빠진다.
  
또 데이터 모델의 변화에 따른 어플리케이션의 변경 영향을 줄이려하지만 이 또한 전문 인력의 부족, 분석 설계 시간 부족 등으로 원하는 모습으로 만들어 지지 않아 업무의 변화에 빠르게 대응하기 어렵다. 

뱅크웨어글로벌의 경우는 'BX CBP'(코어뱅킹플랫폼), BX PF(프로덕트팩토리) 모듈을 활용해 상품, 계약, 액터, 이벤트, 회계, 정산, 자산 등 금융 업무를 개념 중심으로 분류해 모델을 구축하고 있다. 그리고 이 모델링에 기반해 통일된 데이터 모델, 통일된 베이스 컴포넌트 모델, 통일된 객체 지향 개발 모델을 구현하고 있다. 

그 결과 새로운 업무 개발의 60%는 기존의 서비스 컴포넌트 재사용, 20%는 기존의 베이스 컴포넌트 조립, 10%는 파라미터 설정, 나머지 10%는 플러그인을 이용한 개발을 통해 완성할 수 있었다. 또 업무 뿐만 아니라 분산 아키텍처라는 새로운 시스템적 요구사항의 구현도 수개월 만에 완성할 수 있었다.

◆대량의 데이터 흐름에 대한 대응 전략 – 분산 아키텍처 = 기존의 온프레미스(on-premise)의 확장(scale-up) 전략으로는 병행 처리, 대용량 처리 등의 한계가 존재한다. 물론 그 한계는 시스템의 연산 능력에 따라 다르다. 

빅데이터가 관심을 끌기 시작하면서부터 수십, 수백대에 이르는 서버들로 이중화 삼중화를 하는 것보다 x86기반의 싸구려 서버 수십 수백대로 2중 3중의 복사본을 만들어 사용하는 것이 훨씬 저렴하고 안전할 수 있다는 시각을 갖게 됐고, 자연 스럽게 '분산 = 클라우드' 라는 생각도 가지게 됐다.

분산 아키텍처의 핵심은 처리량의 증가에 따라 시스템을 늘리는 수평적 확장이다. 즉, 스케일아웃(scale-out)이다. 기존 아키텍처에서 어플리케이션 레이어는 수평적 확장이 가능했지만 데이터베이스 레이어는 여전히 싱글 모드에 머물러야 했다. 정확하게 말하면, 데이터 저장은 단일 노드에서만 가능했고 대량의 병행 처리 상황이 오면 데이터 베이스의 하드웨어 스펙을 끊임없이 업그레이드(Scale Up)할 수 밖에 없었다. 

기존 아키텍처의 최대 단점은 ‘모든 것을 공유한다(Shared Everything)’는 것이다. IO의 처리 능력과 함께 확장 능력에도 한계가 노출됐다. 반면, 분산 아키텍처는 ‘아무 것도 공유하지 않는다(Shared Nothing)’는 것이다. 처리 능력을 향상시키고 싶으면 노드를 추가하는 것만으로 가능하다.

◆성공적인 분산 아키텍처 구현을 위한 전략 = 은행권에선 오랫동안 풀리지 않은 의문이 하나 있었다. “복잡한 데이터 일관성에 대한 요구가 높은데 정말 분산으로 처리할 수 있을까?” 

이에 대해 과거에는 부정적인 견해가 많았다. 에릭 브르워(Eric Brewer)의 CAP이론이 대표적이다.분산 아키텍처에서 데이터의 완벽한 일관성은 보장될 수 없어 은행 업무의 요구 사항을 충족시킬 수 없다고 보았다. 하지만 CAP이론은 이제 수정되고 있다. 

CAP은 일관성(Consistency), 가용성(Availability), 파티션 용인성(Partition tolerance)의 이니셜이다. 이 세 가지 조건 중 두 가지만 만족할 수 있다는 주장은 오해의 소지가 있으며 이는 세 가지 성질 간의 상호 관계를 과도하게 단순화한다. 

그러나 좀 더 세부 내용을 분석할 필요가 있다. 합리적인 범위에서 데이터 일관성(C)과 가용성(A)의 합세를 최대한 이끌어야 하고, 이러한 사고 방식을 확대해 파티셔닝(P) 기간의 동작과 파티셔닝 후의 복구를 계획한다. 특히 아주 명확하고 공개된 방식으로 파티션을 관리하는 게 핵심이다. 주도적으로 파티션 생성을 감지해야 할 뿐만 아니라 파티셔닝 기간 동안 침해 받을 가능성이 있는 모든 불변적 제약에 대비해 전문적인 복구 프로세스와 계획이 마련돼야 한다.

분산 아키텍처는 업무 로직에 깊게 영향을 미친다. 따라서 이러한 영향을 분석, 제어, 실현 가능하게 보장하는 것이 본질적인 핵심이다. 우리의 해답은 여전히 잘 설계된 추상적인 데이터 모델과 베이스 컴포넌트 모델로 여러 업무에 일괄 적용하는 것이다. 

◆클라우드 기반한 분산 아키텍처 적용 사례 = 뱅크웨어글로벌은 현재 자사의 코어뱅킹솔루션인 'BX CBP'를 알리바바가 운영하는 '앤트 파이낸셜 클라우드'(Ant Financial Cloud)의 미들웨어 서비스를 이용해 제공하고 있다. 클라우드를 통해 분산아키텍처가 적용된 코어뱅킹시스템을 제공하는 방식이다. 

뱅크웨어글로벌은 앞서 언급한 전산자원의 수평 확장 뿐만 아니라 여러 기술적 사항들을 고려하여 적용했다. '앤트 파이낸셜 클라우드'는 DTS (분산 트랜잭션 서비스), DSR (분산 서비스 레지스트리), DDS (분산 데이터소스 서비스) 등 분산 처리를 하는 어플리케이션을 위한 다양한 서비스를 제공한다. 

이 서비스들을 사용하기 위해서 BX CBP의 서비스 컴포넌트들 중 DTS의 처리 구조에 부합하지 않는 일부 서비스들의 내용을 분리해 좀 더 작은 마이크로 서비스로 만들고, 이 서비스들을 조합해서 사용자에게 제공하는 Choreography 서비스(마이크로 서비스 클라이언트)를 추가 했다. 

또 분산 데이터 소스를 사용하기 위한 데이터 처리 레이어에  분산 유형을 처리 하도록 일부 추가 하여 빠르게 분산 시스템으로 전환했다. 

또한 데이터도 수직/수평 분할을 통해 데이터베이스의 수평적 확장이 가능하도록 구성했으며 트랜잭션 서비스와 연계 되도록 트랜잭션 관리 API도 추가했다. 

'수직 데이터 분할'은 전자 상거래 업무에 비해 금융 업무가 상대적으로 더 복잡하다. 데이터 베이스의 테이블 갯수가 많고 데이터 구조는 복잡하며 개체간의 관계는 더 긴밀하기때문이다. 설계 초기 단계에서 모델링을 잘 하지 않으면 수직 분할을 분명하게 하기 어렵다. 
 
참고로, 뱅크웨어글로벌의 데이터 모델에는 액터, 상품, 계약, 정산, 회계, 이벤트, 자산 등 개념적 개체가 있다. 이 중 상품, 계약, 회계는 상대적으로 수직적 분할 설계가 용이하다. 그러나 정산, 이벤트 등은 다른 개념적 개체와 관계가 밀접하기 때문에 이들을 독립적인 개체 그룹으로 나누지 않았다. 

'수평 데이터 분할'은 데이터를 여러 데이터베이스 인스턴스에 나누어 저장하는 것을 말한다. 상품은 데이터 양이 많지 않아 수평 분할의 대상에서 제외하고 부서와 스태프는 기관 번호에 따라 분할하는데, 그 이유는 총계정원장 정보와 관련 부서, 스태프의 운영 기록 등을 보유한 해당 개체 그룹에서 상대적으로 많은 데이터 양이 생성되기 때문이다. 또 고객 개체 그룹은 고객 번호에 따라 분할하고, 제일 중요한 계약 개체 그룹은 계약 번호에 따라 분할한다.

앤트 파이낸셜 클라우드의 DTS는 2PC(2 phase commit)를 위한 규약과 라이브러리, 방법을 제공하고 있다. 트랜잭션의 오류가 발생한 경우에는 리커버리를 통해 트랜잭션의 취소 처리를 해야한다. 분산된 데이터들을 하나의 트랜잭션으로 처리 해야하는 요건을 만족시키기 위한 다양한 방법 중 DTS는 API제공과 모니터링 서비스를 제공해 분산 환경의 다양한 오류 상황에서도 데이터 정합성을 유지 할 수 있도록 하고 있다. 

1개월여의 준비 기간과 2개월의 구축, 2개월의 테스트 및 튜닝 기간을 거쳐 모바일 뱅킹 어플리케이션을 분산 환경에서 서비스가 되도록 구축하고 기능 및 성능, 어플리케이션 및 데이터베이스의 수평 확장을 검증했다. 

<박기록 기자>rock@ddaily.co.kr
 

[제13회] 2018년 전망, 금융IT 이노베이션 컨퍼런스에 여러분을 초대합니다.

독자 여러분 안녕하십니까.

디지털금융 전략 구현을 위한 금융권의 역동적인 도전이 전개되고 있습니다. 인공지능(AI), 블록체인, 빅데이터 등 신기술이 금융산업에 핵심 ICT 인프라로 편입되고 있습니다. 

또‘클라우드’를 고려한 시스템 운영 전략, 비대면채널 시대에 맞춘 UI/UX 전략, 금융보안 강화 전략도 2018년 금융권의 중요한 혁신 과제입니다. 여기에 AML고도화 등 글로벌 금융시장에서 신인도 제고를 위한 컴플라이언스 대응도 시급한 과제입니다.

<디지털데일리>는 국내외 금융권 IT 기획자 및 관련 업계 담당자를 초청해, 내년 금융 IT이슈 및 정책과제를 진단하기위한 '2018 금융IT 혁신 컨퍼런스'를 개최합니다. 금융 IT트랜드를 공유하고, 업계가 제시하는 최신 금융솔루션 전략을 경험할 수 있기를 기대합니다. 

독자 여러분의 많은 관심과 참여 부탁 드립니다.

자세한 행사 일정 및 프로그램 안내



네이버 뉴스스탠드에서 디지털데일리 뉴스를 만나보세요.
뉴스스탠드


  • IT언론의 새로운 대안-디지털데일리
    Copyright ⓒ 디지털데일리. 무단전재 및 재배포 금지
 
배너
배너
· [카드뉴스] 기업의 지속가능성 해법은 결국···
· [카드뉴스] B tv 서라운드, 거실을 영화관으로
· [이지크로] 안전하고 믿을 수 있는 에스크로
  • 동영상
  • 포토뉴스
삼성전자 C랩 스타트업 열전 “화염 속 생명 찾… 삼성전자 C랩 스타트업 열전 “화염 속 생명 찾…
  • 삼성전자 C랩 스타트업 열전 “화염 속 생명 찾…
  • CJ헬로, 고객응대 AI조언자 도입
  • LGU+, 편의점 알뜰폰 판매 돕는다
  • LG전자, 유럽 공조 시장 공략 ‘확대’