brunch

You can make anything
by writing

C.S.Lewis

by 조영국 Jul 16. 2016

금융IT 인프라를 이루는 기술#1

 365일 24시간 고객의 거래를 지키는 기술들

 IT 업계에 있는 사람들은 새로운 스타트업 혹은 이미 성과를 이룬 기업들이 어떤 기술 스택을 사용할까 하는 궁금증을 가진다. 주로 사용하는 프로그래밍 언어부터 OS, 미들웨어, DB 등의 Infra S/W, 모니터링은 어떻게 할까? H/A를 위한 이중화 삼중화는 어떤 기술(솔루션)로 구현했나? 비교적 보수적인 금융IT 업계에 있다 보니 요즘 스타트업, 현재 열심히 구현 중일 인터넷 전업은행은 얼마나 참신한 기술을 쓸지 궁금하다. 비슷하게 금융IT를 이루는 기술 스택을 궁금해하는 사람들이 많고 알고 있는 내용을 정리하는 것도 좋을 것 같아 이 포스트를 쓴다.



_ 서버와 운영체제


 요새 IT를 시작하시는 사람들은 모르는 "메인프레임"이란 서버 플랫폼이 있었다. IBM Z 시리즈로 대표되는 메인프레임은 은행의 대표적인 계정계 시스템이었다. 이 메인프레임은 2000년대 초중반 "금융권 차세대 프로젝트"를 통해 Unix 시스템으로 전환되었다. 현재는 이 인프라가 유지되고 있다.

 Unix 시스템을 공급하는 회사는 전통적인 IT 기업 3사이다. HP, IBM, Sun MicroSystems HP는 현재 Printer와 PC 사업부와 분리된 HPE로 변하였고 Sun은 Oracle에 인수되었다.

 HP는 전통적인 Unix 시스템의 강자이다. 과거에는 PA-Risc라는 CPU를 자체 개발하였고, HP-UX라는 안정적인 Unix 운영체제도 가지고 있다. CPU를 개발하는 비용 대비 효율을 생각하였는지 Intel의 Itanium2 chip을 사용하는 것으로 선회하였다. 현재까지도 Intel과 돈독한 파트너십을 유지하고 있다. HP 시스템 중 가장 인기가 많고 유명한 것이 Superdome이다. 이름부터 먼가 있어 보인다. 지금의 2세대 Superdome은 표준 랙과 비슷한 이미지로 퇴색되었지만 1세대 Superdome은 전산실에서 압도적인 풍모를 자랑했다. High-End 시스템답게 nPar라고 하는 H/W Partitioning 기술 등 여러 고급 기술들이 녹아있다. Spec 또한 굉장해서 최대 256 cores 까지 확장할 수 있다. (256 cores 대단하다.)

 IBM은 원래 전통적인 IT 공룡 기업으로 H/W S/W 할 것 없이 없는 것 말고 다 있다. 금융권에는 메인프레임을 공급해오던 벤더였으나, 메임프레임의 쇠퇴와 함께 주력 시스템을 Unix로 전환하였다. 금융권에서는 메인프레임을 이상하리만큼 선호했다. IBM 입장에서는 훌륭한 효자 상품이었다. 하지만 시대가 변하고 Unix 시스템의 안전성과 성능이 크게 향상되어 이를 대체하게 되었다. IBM은 잘 나가던 형의 자리를 교체하는 입찰에 둘째에게 형의 정장을 입히고 나서게 하는 아이러니 한 상황도 연출되었다. 현재 금융권에서 사용하고 있는 IBM Unix 시스템은 Power8 chip 기반의 AIX 운영체제로 운영된다.

 마지막으로 Oracle 은 Sun MicroSystems를 인수해서 H/W 시장에 진입했다. Sun은 Sparc이라는 CPU를 바탕으로 Solaris라는 자사의 운영체제를 탑재한 Unix 시스템으로 한 때 높은 점유율을 가지고 있었다. 하지만 시장에 변화에 기민하게 대처하지 못 해 여러 가지 부침을 겪다 Oracle에 인수되었다. 그런 Sun에도 높은 유산이 있다. C, C++ 일색이던 프로그래밍 언어 생태계에서 Java라는 걸출한 스타를 만든 것이 Sun이었고, Solaris라는 훌륭한 운영체제도 있다.  

 이렇게 Unix 시스템으로 유지되던 금융IT 인프라에서 조금씩 변화가 생기고 있다. 이미 증권회사들은 리눅스 도입을 꺼리지 않고 은행, 카드회사들도 중요 업무에 리눅스를 도입하고 있다. 빅데이터, 머신러닝, 클라우드가 일상이 되는 현재 금융권 리눅스 도입은 더 가속화될 것으로 예상한다.



_ 고가용성 솔루션


 고가용성 솔루션. 영어를 한자어로 번역하다 보니 오히려 직관적으로 이해하기 어렵다. 쉽게 말해 시스템은 죽어도 서비스는 중단되지 않도록 하는 솔루션이다. 금융권의 서비스는 다른 어떤 서비스보다 고객의 양해가 박하다. 매일 들어가는 블로그가 안 돼도 너그럽게 용서하는 사람도 주말에 장을 보면서 내민 카드가 안 된다고 하면 화를 참을 수 없을 것이다. 때문에 금융권의 IT 인프라는 가능한 모든 층위의 컴포넌트에 이중화, 삼중화를 한다. 예를 들면 Network Card, System, Switch, Storage 등의 장애를 고려한다.


 1. Network Interface Card

  - 현재 Server에서 사용하는 OS는 거의 대부분이 NIC 이중화 솔루션을 제공한다. 예전에는 별도의 비용을 지불하는 S/W 였으나 지금은 OS에 번들로 포함되어 있다. 이름은 각 벤더별로 다르지만 기능은 동일하다. NIC 2개를 혹은 그 이상을 묶어서 대역폭을 높이거나 NIC 하나의 장애 시에도 통신이 문제가 없도록 하는 것이다. 구성할 때 다른 Switch 에 연결함으로써 Switch 장애 시에도 문제가 없도록 구성한다.

  - HP-UX : APA (Auto Port Aggregation)

  - AIX : AIX Etherchannel

  - Solaris : IPMP (IP Multi-Pathing)


 2. System ( Clustering )

  - System은 보통 이중화 삼중화라는 표현을 쓴다. 동일한 서비스를 제공하는 시스템을 여러 개로 구성하여 서비스의 연속성을 보장한다. 여기에는 기본적으로 필요한 기능이 있다. Cluster로 묶인 서버들의 상태를 확인하기 위한 통신(Heartbeat)과 공유 디스크를 관리하는 기술이다. 각 벤더별로 이런 System clustering을 제공한다. 아래는 HP-UX에서 사용하는 MC Serviceguard에서 권고하는 구성이다.

 Oracle DB의 Clustering 기술인 RAC가 포함되어 복잡하지만 System Clustering의 구조를 잘 볼 수 있다. Heartbeat(SG-HB, CSS-HB)은 Cluster에 포함되어 있는 노드들이 서로 상태를 체크하기 위한 통신이고, Shared Disk 기술은 동일 업무를 하는 노드들에서 정합성을 유지하기 위한 기술이다.

 System Clusering을 이해하기 위해서는 설명해야 하는 개념이 많아 각 벤더별 Clustering을 소개하며 마무리하겠다.

  - HP-UX : MC/SG (Mision Critical Service Guard)

  - AIX : HACMP (High Availability Cluster Multiprocessing)

  - Solaris : Sun Cluster


 3. Storage (Multi-Path)

  Stroage 자체의 이중화는 Raid라는 유명한 기술로 구현되어 있다. 워낙 유명한 기술이라 이 포스트에서는 논하지 않아도 될 것 같다. 금융IT 환경에서는 Storage로 가는 길을 다중화하는 것으로 가용성을 높인다. 시스템의 FC HBA(Fibre Channel Host Bus Adaptor)를 여러 개 꽂아서 다른 SAN Switch에 연결하여 같은 디스크로 가는 Path를 이중화한다. 디스크로 가는 길이 여럿이다 보니 OS에서는 LUN(Logical Unit Number)이라 부르는 Disk가 여러 개로 보인다. 이 여러 개로 보이는 디스크를 하나로 보이게 만드는 것이 Multi-Path이다. Multi-Path를 통해 FC 및 San Switch의 장애에도 Storage에 접근할 수 있다.




 포스트를 시작할 때는 금융IT 인프라를 총망라하는 포스트를 정리하겠어!! 라는 거창한 포부였으나 쓰다 보니 타깃 독자도 모호하고 기술 설명의 깊이도 뒤죽박죽이다. 지속적으로 좋아지리라 생각한다. 다음 포스트에도 금융IT에서 사용하는 여러 기술들을 소개하겠다.


덧 : 금융IT 인프라를 이루는 기술은 시리즈로 올리겠습니다. ^^


작가의 이전글 취미로의 프로그래밍을 꿈꾸며…
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari