오픈소스 SW로 엔터프라이즈급 시스템 구축이 가능할까?
상태바
오픈소스 SW로 엔터프라이즈급 시스템 구축이 가능할까?
  • 이형로 상무
  • 승인 2020.06.29 14:12
  • 조회수 2718
  • 댓글 0
이 콘텐츠를 공유합니다


IT컨설팅을 수행하다 보면, 항상 고객사의 의사결정자 및 핵심고객으로부터 반드시 듣는 이야기가 있다. “이렇게나 비용이 많이 드나요?”라는 질문이다. 의사결정을 하는 입장에서보면, 시스템을 구축해야 할 필요성에는 공감하나, 너무 많은 비용이 소요된다는 것이다. 컨설팅 PM의 역량 평가 중 하나가 산출된 구축비용을 경영진에게 공감시키고 당초 비용안대로 통과시키는 것을 능력의 하나로 본다. 시스템 투자 필요에는 공감하더라도, 투자 규모는 부담스럽게 느낀다는 의미일 것이다. 

그러나, 최근의 상황은 많이 달라지고 있다. 필자가 판교에 있는 A사에 컨설팅을 수행할 기회가 있었는데, A사는 인프라의 핵심 장비를 제외하고 모든 SW를 오픈소스로 구현하여 사용하고 있었다. 하루에 수천만 건의 트랜잭션을 오픈소스 기반(DB를 포함하여)으로 처리하고 있었는데, 아무 문제가 없었다. 컨설턴트로 오래 일해 온 필자에게도 매우 충격적이었다.

물론, 벤처회사나 소규모 기업에서는 오픈소스 활용이 매우 활성화되어 있다. 그러나 본 글에서 엔터프라이즈급 시스템의 의미는 다운타임이 제로여야 하는 매우 중요한 핵심시스템을 의미한다. 예를 들어, 인터넷뱅킹시스템, 주식주문시스템 등 미션크리티컬한 시스템을 의미한다.

엔터프라이즈급 시스템에서 오픈소스의 활용은 바로 우리 코앞에 와있다. 단순한 호기심 차원에서 바라보던 오픈소스SW가 실제 시스템에 속속 도입되고 있다. 대표적인 분야가 RDBMS이다. 오라클 등 상용DBMS 대신에 PostgreSQL이나 EDB(엔터프라이즈DB)를 채택함으로써 비용을 크게 절감하는 사례들은 흔하게 볼 수 있다. 오픈소스DBMS 들을 전문으로 유지보수 서비스를 제공하는 회사들도 등장하고 있다. 일반 기업이 오픈소스를 편하게 사용할 수 있는 환경이 된 것이다.

 

엔터프라이즈급 시스템에 도입 가능한 오픈소스

많은 오픈소스가 도입되고 있지만, 가장 대표적인 오픈소스SW를 살펴보면 아래 표와 같다. 

 

오픈소스 SW 도입을 꺼리는 이유

 

첫째, 장애가 발생할 경우 책임 소재 문제가 있다

실무자들이 항상 이야기하고 가장 크게 이슈제기하는 내용이기도 하다. 상용SW를 도입하여 운영할 경우의 장점은 문제 발생시 해당 업체의 도움을 받을 수 있다는 것이고, 일정부분 책임을 전가(?)할 수 있기도 하다. 그러나, 최근 오픈소스의 성숙도가 높아지고, Trouble Shooting의 노하우가 실시간 공유되는 집단지성이 활성화되고 있기 때문에, 크게 문제가 되지는 않을 것이다. 그러나, 장애 발생에 대한 보완책으로 최근 활성화되는 것이 오픈소스 전문유지보수 업체가 등장하고 있다는 것이다. 엔터프라이즈급 시스템에 도입되는 오픈소스를 전문적으로 관리해주고, 업그레이드, 패치 등을 수행하는 업체가 활성화되기 시작했다는 것이다. 이러한 업체의 등장으로 실무자들의 부담이 많이 줄어들고, 도입에 대한 장벽이 사라질 것으로 예상된다. 


둘째, 레퍼런스 부족으로 인한 도입 주저이다

오픈소스는 대부분 외국에서 많이 성장하다보니, 해외의 사례는 많이 있으나, 국내기업의 도입 사례가 많지 않다. 국내의 특수한 환경적 요소를 반영하지 못 할 것이라는 불안감이 존재하고, 실제 도입 실패할 경우, 이에 대한 책임을 담당자가 져야하는 부담 또한 무시하기 어려울 것이다. 
필자가 경험한 사례이다. 모 고객사에서 차세대 ISP(Information Strategy Planning, 정보전략계획)를 진행할 때 모든 IT직원들이 Oracle DB의 유지를 강력히 주장하였다. 그러나 해당 고객사보다 수백배 규모가 큰 미국의 본사 시스템이 PostgreSQL로 운영되고 있었는데, 왜 Oracle을 계속 유지해야 하는지 미국의 경영진은 이해하지 못했다. 결국, 해당 고객사는 PostgreSQL로 차세대 시스템의 Main DB로 사용할 수 밖에 없었다. 물론, 지금 고객사의 시스템은 아무런 문제 없이 잘 운영되고 있다.


셋째, 커스터마이징이 어렵다고 생각한다

실무적인 관점에서의 최고 불편사항 중 하나이다. SW가 도입되면 필연적으로 일정부분 커스터마이징이 필요하게 된다. 오픈소스 SW는 이러한 서비스가 제공되지 않기 때문에, 직접 프로그램을 작성해야 하는 문제가 존재한다. 그러나 오픈소스는 대부분 소스코드가 공개되어 있다. 공개되어 있기도 하고, 대부분 자바 프로그래밍 되어 있는 것이 일반적이기 때문에, 간단한 프로그램 스킬만 가지고 있다면 충분히 수정 및 변경이 가능하다. 

성능(Performance)의 이슈는 조금 다른 문제이지만, 커스터마이징이 불가능하다는 이슈로 오픈소스를 도입하기 어렵다는 핑계는 “나는 능력이 없는 사람입니다”라는 것을 강조하는 것이나 다름없는 시대가 도래하고 있다. 대형기업의 경우 필요하다면 관계사 등의 인력을 통해 충분히 커스터마이징 인력을 소싱할 수도 있다.

 

오픈소스 SW를 도입 할 수 밖에 없는 이유

 

첫째, 매우 큰 폭의 비용절감이 가능하다

조금 과장되게 말한다면 도입비용과 유지비용이 거의 들지 않는다. 오픈소스SW는 공개망에 올라와 있는 소스를 다운로드 받아 그대로 사용하면 된다. 물론, 해당 소스의 저작권을 준수해야 한다. SW당 수억원의 비용을 들여서 구입하고 사용하는 대신 검증된 오픈소스를 사용하다면 비용이 거의 들지 않으므로, 비용절감의 효과는 상상을 초월한다. 유지보수 관점에서 본다면 상용SW의 연간 유지보수료는 약 10~15%내외로 결정되는 것이 일반적이다. 이정도의 예산이라면 오픈소스 SW전문 유지보수업체로부터의 서비스를 충분히 받을 수 있다.

대표적인 사례가 빅데이터(Big Data) 분석시스템 구축이다. 최근 대형기업의 경우 조직 내에 Big Data 분석을 위한 전문 조직을 갖추고 시스템 구축을 진행한다. 대부분 회사는 Big Data 구축 및 분석을 위해 Hadoop Ecosystem(하둡 생태계)을 도입하는 것이 일반적이다. Hadoop Ecosystem은 모두 오픈소스이다. 즉, SW도입비용이 제로이므로 인프라 도입 비용만 고려하면 되는 것이다. 이러한 이유로 Big Data 분석 시스템 구축 프로젝트가 생각보다 구축 비용이 많이 들지 않는다. 물론, 해당 시스템에 어떠한 데이터와 분석기법을 적용할 것인가는 논외이다.


둘째, 장기적으로 내부 직원의 역량이 향상된다

오픈소스는 어찌 보면 완성되지 않은 반제품이라고 할 수 있다. 도입하는 기업의 요구에 따라 추가 개발되고 이렇게 개발된 모듈과 기능은 오픈소스SW 공개망을 통해 공유되고 다음 버전에 새로운 기능으로 업그레이드되어 배포된다. 즉, 집단지성의 힘으로 계속 발전된다고 할 수 있다. 

도입되는 SW는 해당 기업의 요구에 100% 충족할 수 없다. 즉, 많은 부분을 Tailoring해야 하고, 계속 관리되어야 한다. 그러기 위해서는 직원은 공부해야 하고, 연구해야 할 것이다. 반 강제적(?)으로 직원의 역량 개발이 이루어질 수 있다. 오픈소스를 잘 활용하고 있는 기업의 직원들은 자주 타 기업체로부터 입사 제안을 받고, 해외의 유수 기업으로부터도 인터뷰 제안을 받기도 한다. 오픈소스 SW를 관리하고 운영하고 개발하는 노하우가 최근 IT시스템에 매우 중요한 요소가 되기 때문이다.

 

오픈소스 SW 도입 시 고려해야 할 사항

 

첫째, 단계적, 비핵심업무로부터 시작해야 한다

처음부터 코어 시스템에 오픈소스를 도입하는 것은 불가능하고, 바람직하지도 않다. 처음에는 트랜잭션의 양이 적고, 시스템의 장애가 발생하더라도 조직 내에서 감내 가능한 시스템부터 도입하는 것이 좋을 것이다. 주변 시스템부터 천천히 도입하고, 도입하면서 조직 내의 경험과 노하우를 축적하는 것이 중요하다. 다수의 시스템에 도입 경험이 확보되고, 운영노하우 및 직원의 역량이 향상 된 후 조직의 핵심시스템으로 확대하는 방향이 리스크를 줄일 수 있다. 

B 금융회사의 사례를 보면, 해당 은행의 내규관리시스템을 Oracle대신 PostgreSQL을 도입하여 운영하였고, 이렇게 운영해 본 경험을 바탕으로 동남아에 있는 계열 금융사의 계정계 시스템 구축 시 계정계 DB로 PostgreSQL을 사용하였다.


둘째, 유지보수가 가능한 SW인지 확인하는 것이 좋다

오픈소스가 아무리 좋다고 하더라도, 도입하는 입장에서 본다면 유지보수의 이슈를 고민하지 않을 수 밖에 없다. 그러나 최근 대표적인 오픈소스는 유지보수를 전문적으로 하는 업체들이 생겨나고 있다. 이러한 업체의 서비스를 받으면, 유지보수의 걱정을 많이 줄일 수 있다.

특히, 오픈소스를 최초로 도입할 때 이러한 유지보수 전문업체의 인력을 참여시켜 같이 개발한다면, 해당 업체의 시스템에 대한 이해도를 증진시킬 수 있고, 향후 유지보수의 안정성을 확보할 수 있다. 이러한 유지보수 업체를 정리한 내용은 www.oss.kr(공개SW포털, NIPA에서 관리)에서 공개 SW솔루션 맵이라는 자료를 참조하면 쉽게 알 수 있다.


셋째, 조직 변경이 필요하다. 즉, 선발대가 필요하다

오픈소스를 도입하고 운영하는 별도의 조직을 구성해야 한다. 이 조직은 시행착오(trial and error)가 용인되는 조직으로 구성되어야 할 것이다. 조직의 비핵심, 주변시스템부터 오픈소스를 활용하는 체계로 변경하는 장기적인 플랜을 수립하고, 이를 적용하려면 전문 조직이 있어야하며, 해당 조직에 상당한 수준의 스폰서십이 필요하다. 물론, 이러한 조직을 운영하기 위해서는 충분한 교육이 먼저 진행되어야 할 것이다. 기억해야할 것은 장기적으로 이러한 방식으로 조직을 변모시키는 것은 IT의 총 운용비용(TCO)를 대폭 낮출 수 있어, 돈 먹는 하마의 조직으로서 IT가 아니라 Profit Center로서의 IT로 변모할 수 있을 것이다.

 

넷째, 오픈소스 도입 및 성공한 회사를 벤치마킹한다

예를 들면, 카카오뱅크의 경우 대외계 시스템은 Maria DB로 구축한 것으로 알려져 있다. 아마도 금융권에서 최초로 대외계 시스템을 오픈소스로 구현한 것으로 알려져 있다. 이처럼 이미 오픈소스를 사용하여 시스템을 성공적으로 운영하고 있는 기업의 벤치마킹을 통해, 우리회사에 적용방안을 찾아가는 방법이 시간과 노력을 줄일 수 있는 방법이라고 할 수 있다.

 

마지막으로 경영진의 지속적인 스폰서십이 필요하다. “지속적인”이 핵심이다

오픈소스 도입은 대형기업의 경우 장기적인 프로젝트이자, 기업의 IT문화와 일하는 방식을 바꾸는 혁신이다. 1~2년 정도의 스폰서십이 아니라 우리회사의 핵심시스템까지의 적용을 목표로 조직과 시스템을 변경시키기 위해서는 지속적인 스폰서십이 필요하다. 이를 위해 단계별 목표를 달성하기 위한 KPI(Key Performance Indicator)를 정의하고, 주기적으로 이를 확인해야 한다. 대형조직/기업의 일하는 방식과 문화는 쉽게 바뀌기 어렵다. 

경영진의 지속적 관심과 격려가 없다면, 엔터프라이즈급 시스템에 오픈소스SW를 도입 및 적용하는 것은 현실적으로 어려울 수 밖에 없다.  
 

 

 

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.