Exture+선도프로젝트의 출사표

1.
어제 코스콤이 Exture+를 위한 선도개발프로젝트 제안요청 설명회를 하였습니다. 늦은 시간 어떤 분이 이메일로 자료를 보내주셔서 알았습니다. 혹시 입찰공고를 ?코스콤 홈페이지에 등록하였는지 확인하니까 관련된 자료가 전혀 없네요. 받은 자료를 보니까 10월 17일에 입찰공고를 하였다고 합니다만 어디에 공고를 하였는지 알 수 없습니다. 사실 저와 관계는 없습니다. 제안참여를 하는 것이 아니니까요.(^^)

코스콤이 발주한 프로젝트는 세가지입니다.

매칭엔진 전용 미들웨어 설계/검증을 위한 기술 컨설팅 제안요청서(3.6억)
EXTURE+ 선도개발 위한 인프라 및 기타업무 개발 도급업체 선정(9.1억)
EXTURE+ 선도개발 위한 업무 개발 도급업체 선정(13.5억)

우선 선도개발을 위한 업무개발 부분은 다음과 같습니다.

접속(Gateway) – 비동기(Async) 방식의 회원사 접속 기능, 글로벌 표준 FIX 프로토콜이 수용이 가능한 형태,가상 회원사 접속 기능
매매체결 – 국내 및 글로벌 주요 제도 적용, 유가증권, 코스닥, 파생, 채권 시장의 매매체결 기능
매칭엔진 – 초고속 미들웨어, 메모리 호가ㆍ집계장(고성능 인메모리 오더북)

무슨 말인지 이해하지만 ‘가상 회원사’접속기능는 잘 모르겠습니다. 혹시 코로케이션서비스를 위하여 준비하는 기능은 아닐까 추측을 해봅니다.

다음은 메칭엔진 전용 미들웨어 설계 부분입니다.

□ 매칭엔진 전용 미들웨어 설계 기술 컨설팅
○ 매칭엔진 전용 미들웨어 아키텍처 설계
○ 초고속 처리를 위한 데이터 전송 기능 설계
○ 신뢰성 있는 데이터 전송 기능 설계

□ 매칭엔진 전용 미들웨어 검증 및 테스트 방안 컨설팅
○ 매칭엔진 전용 미들웨어 검증 방안 제시
○ 매칭엔진 전용 미들웨어 테스트 방안 제시

□ 매칭엔진 전용 미들웨어 테스트 및 튜닝 지원
○ 통합테스트 테스트 방안 컨설팅 및 지원
○ 성능 튜닝 튜닝 방안 컨설팅 및 지원

□ 기타 사항
○ 설계 컨설팅 및 테스트/튜닝 지원 엔지니어 프로필 제시
○ 설계 컨설팅 결과, 테스트/튜닝 방법 및 기타 미들웨어 개발에 필요하다고 판단되는 교육에 대한 교육 일정/내용 및 지원방안 제시
○ 별도의 SDK를 이용하여 개발해야하는 경우, 개발 SDK 교육 일정/내용 및 지원방안 제시
○ 프로젝트 단계별 투입인력 및 M/M 제시

제안요청만을 놓고 보면 설계에 한정하고 있지만 앞서 업무개발부문과 연결하면 메시징미들웨어를 개발할 업체를 찾는다는 뜻입니다. 어떤 업체를 선정할지 모르지만 ZeroM과 경쟁(?)하는 업체가 나올 듯 합니다.(^^)

2.
제안 요청서는 이를 개발SDK 혹은 라이브러리기반이라는 말로 메시징미들웨어를 표현하고 있습니다. 주위에서 들은 소문에 따르면 코스콤이 매칭엔진용 미들웨어 개발에 사용할 라이브러리가 ZeroMQ라고 들었습니다. 그런데 이를 지정하지 않고 제안업체가 알아서 제안하라고 하므로 국내에 들어와 있는 외산메시징제품들중 라이브러리기반으로 된 제품도 가능하다는 뜻으로 읽힙니다. 예전에 보았던 자료중 29West의 Ultra Messaging이 No Broker, No Daemon의 라이브러리인 것으로 기억합니다.기본적으로 ZeroMQ가 지향하는 바와 비슷합니다. 그런데 매칭엔진 전용 미들웨어 요건을 보면 LDMA라는 말을 사용하고 있습니다. 이는 NYSE의 Data Fabric이 제공하는 Transport입니다. 국내 모 업체가 국내판권을 가지고 있습니다. ?하여튼 어떤 결정을 내릴지 궁금합니다.

□ 매칭엔진 전용 미들웨어 요건
○ 메시지 기반의 미들웨어가 지원되어야 함
○ 리눅스계열의 OS를 지원해야 함
○ C/C++ 언어를 이용한 개발이 지원되어야 함
○ C/C++ 언어 기반의 사용자 API가 지원되어야 함
○ 사용자 API는 멀티쓰레드 환경에서 정상적으로 수행되어야 함
○ 메시지 미들웨어는 라이브러리 기반으로 수행되어야 함
○ 10Gb Ethernet 또는 Infininband 환경에서 통신 지원되어야 함
○ 초고속 통신을 위한 방법(예: RDMA,LDMA,등)이 지원되어야 함
○ 다자간 통신을 위한 N:1, 1:N 통신이 지원되어야 함
○ 메모리 기반의 데이터 처리 순서 보장 및 유실 방지 기능이 지원되어야 함
○ 초고속 미들웨어에 대한 모니터링이 지원되어야 함

제안요청서를 보면서 요청서상의 요건을 충족하는 업체가 있을지 의문이 들었습니다. 제가 보기에 가장 중요한 기술인 초고속 미들웨어와 메모리호가 및 집계장의 기술요건은 다음과 같습니다.

□초고속 미들웨어개발
– RDMA 기반 TCP/Multicast 개발 유경험자
– 1/10Gb Ethernet, Native InfiniBand, Shared Memory 기반 메시징
– TCP/UDP 통신 개발 전문가
– MOM 기반 메시징 개발 유경험자

□메모리 호가ㆍ집계장(MOA)
– C/C++ 기반의 인-메모리 DB 개발 경험자
– Linux/Unix환경에서 멀티쓰레드 기반의 개발 경험자

이중 메모리호가장은 코스콤이 작년말에 수행한 파일럿프로젝트때 메모리DB를 맡았던 업체가 하면 가능할 듯 합니다. 반면 아무리 라이브러리기반의 미들웨어를 도입하여 매칭엔진용 미들웨어를 개발한다고 하더라도 위의 요건을 충족하는 개발자가 있을지 궁금하네요. 더구나 Native Infiniband개발이라고 하면 Verb로 개발하겠다는 뜻이라 더 궁금해집니다.

제안요청서를 보면서 빠진 업무가 있다는 생각입니다. Latency를 무척 강조한 제안요청서임에도 불구하고 어디를 살펴보아도 Latency Measurement와 관련된 항목은 하나도 없습니다. 마이크로 혹은 나노단위가 목표인 시스템에서 어떤 방식으로 레이턴시를 측정할지가 정의되어 있지 않습니다. 레이턴시측정 및 모니터링영역이면서 PTP와 같은 시간동기화부분입니다.

마지막으로 쓴소리를 한마디하죠. 저는 현재 준비하고 있는 서비스를 위하여 가장 먼저 한 일이 MOM과 MemoryDB개발이었습니다. ZeroM과 ZeroCache라고 부릅니다. 위의 제안요청서중 핵심이라고 할 수 있는 메모리DB와 초고속미들웨어와 개념적으로 동일합니다. 자체기술을 갖지 않을 경우 향후 서비스의 진화와 경쟁력 확보에 어려움이 있을 것을 예상하여 ?준비였습니다. Exture+도 같다고 생각합니다.

그런데 제안요청서를 보면 핵심적인 기술과 업무 대부분을 외부업체가 담당합니다. 자본시장의 핵심인 거래소를 책임지는 코스콤이 핵심기술을 자체적으로 소화하지 못한다는 뜻입니다. 더불어 지속적인 시스템 진화는 어떻게 할지 궁금합니다. 사실 메모리DB와 메시징은 자체기술로 하고 나머지를 외주 주는 것이 합당하지 않나요? 아니면 NYSE처럼 관련기술을 가진 기업을 M&A를 해서 기술을 확보하던가..

참고로 ZeroMQ를 이용하여 시스템을 개발하는 방법을 설명한 동영상을 소개합니다.

6 Comments

  1. yosnoop

    잘 읽었습니다. Brokwer는 Broker가 맞겠네요.

    저희도 다음 프로젝트에는 10Gb네트워크로 갑니다. 서버에서부터 모든 것을 다시 생각해야하더군요. 다음주에 시험장비들어옵니다만 많이 기대됩니다.

    Reply
    1. smallake

      ㅋㅋㅋㅋ broker로 수정했습니다.

      10G로 가는 곳이 점점 늘어나네요. 좋은 결과가 있기를 기대합니다.

      Reply
  2. 해양소년

    쓴소리로 지적하신 것은 이미 Pilot개발시에 개발이 된 것으로 압니다. 다만 좀 더 정교한 부문과 성능등을 위한 보강 작업으로 이해하시면 될 듯 합니다.

    Reply
    1. smallake

      음~ 말씀 대로라면 제가 잘못 적은 듯 합니다. 수정하고 사과해야겠죠.

      다만 메모리DB와 관련된 기술은 외주업체가 개발하였습니다. 저도 만났던 업체입니다. 메시징은 외산제품을 가지고 파일럿을 한 것으로 알고 있습니다. 그리고 오늘 저녁에 우연히 만난 분의 이야기를 들으니 외국인개발자들이 설계에 참여한다고 하네요.

      이상을 놓고 보면 적으신 것과 사실이 다른 듯 하네요.

      사실이 무엇인지를 따지는 것이 중요하지 않습니다. 제가 지적하고자 한 바는 핵심기술을 어떻게 확보할 것인가하는 점입니다. 가능하면 R&D역량을 키워서 매매체결에 최적화된 기술을 확보하여야 한다는 취지입니다. 그래야 수출을 하더라도 기술경쟁력과 가격경쟁력을 확보하지 않을까요? 또한 핵심기술을 계속 발전시켜나가면서 점진적인 시스템의 진화도 해낼 수 있고.

      Exture, Exture+와 같은 프로젝트는 자주 할 수 있는 것은 아니라고 생각합니다.

      Reply
  3. 해양소년

    물론 외부업체와 같이 개발한 것은 맞습니다. 다만 그 동안의 경험과 노력으로 아키텍처를 설계하고 리드해 나간 것이 중요하다고 보여집니다. 외주업체는 설계에 대하여 개발한 것이라 할 수 있죠. 메시징은 파일럿시에는 외산으로 한 것은 맞습니다. 선도시에 개발을 하는 것으로 압니다. 일부 내부 역량이 부족한 것은 외부역량을 도입하는 것은 불가피하다고 생각되고 그렇게 확보된 기술을 어떻게 배양하고 유지 발전시켜 나가는 가가 중요하다고 보여집니다. 지적하신 R&D의 필요성이기도 하지요. 전반적으로 거버넌스 차원에서 다시 재정비가 필요하다고 보여집니다. 그리고 대부분 지적하신 부분은 지당하신 말씀입니다. 감사합니다.

    Reply
    1. smallake

      코스콤에 재직중인 소프트웨어엔지니어에 대한 쓴소리는 아닙니다. 조직의 전략적인 목표를 수립하고 추진하여야 하는 경영진에 대한 이야기입니다.

      솔직히 코스콤이 한국자본시장IT에서 리더십(?)을 발휘하지 못하고 있습니다. CME나 NYSE등이 협력업체 혹은 자체R&D역량으로 리더십을 발휘하는 것과 대비됩니다.

      자본규모나 인적구성으로 보나 코스콤이 할 수 있는 일이 무척 많아 보이는데 아쉽습니다.

      어찌되었든 꺼끄러운 글에 어려운 댓글을 달아주셔서 감사드립니다. 건강하시고 Exture+가 꼭 성공하시길 바랍니다. 물론 쌓은 역량이 있으시니 성공하시리라 생각합니다.

      Reply

Leave a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.