Home > 정보마당 > 공개SW 활용 성공사례

공개SW 활용 성공사례

“공개SW 도입으로 모바일 플랫폼의 실시간 동시접속 이슈 해결”

대기업과 프랜차이즈가 시장이나 골목 상권을 위협하는 등 ‘갑’과 ‘을’이란 용어와 관련된 사회적 이슈가 심심치 않게 거론되고 있다. 이런 상황에 도움이 되고자 소상공인들에게 필요할 만한 비즈니스 모델을 고민하던 아이엑스소프트가 소상공인용 모바일 멤버십 플랫폼인 ‘젤라(THE ZELLA)’를 기획했다. 내부적으로 여러 개의 서버와 서비스가 탑재된 젤라의 개발을 위해서는 트래픽을 줄이고 빠른 속도를 유지하는 것이 관건이었다. 이에 아이엑스소프트는 공개SW에 자체적인 기술 역량을 더해 동시접속 이슈를 해결하면서 비용까지 절감하는 효과를 얻었다.

- 기     관 아이엑스소프트
- 수행년도 2013년
- 도입배경 여러 서버와 서비스가 탑재된 소상공인용 모바일 멤버십 플랫폼의 트래픽 절감 및 실시간 동시접속 과정을 저비용으로 효과적으로 처리하기 위한 이슈 대두
- 솔 루 션 CentOS, NginX, Apache, Tomcat, ProGuard, Spring Framework, iBatis, ModSecurity
- 도입효과 : 빠르고 안정적인 동시접속 이슈를 해결하면서 비용을 절감하고 특정 벤더에 종속되지 않는 완전한 독자성 확보

아이엑스소프트 로고

F/W, IDS, IPS, VPN, 웹 방화벽, PKI 등 보안소프트웨어 개발과 보안컨설팅을 전문으로 해왔던 개발자 출신 기업인이 2006년 설립한 소프트웨어 벤처기업 아이엑스소프트는 아이폰이 국내에 공식 출시된 2009년부터 다양한 모바일 애플리케이션을 개발해왔다.

이 회사는 금융결제원이 주관한 스마트폰 기반 모바일 뱅킹 프로젝트를 통해 농협, 시티은행, 외환은행, 부산은행 등 시중 및 지방은행용 아이폰 앱을 개발하고 수십여 종의 자체적인 애플리케이션을 제작하는 등 다양한 경험을 통해 그동안 보안 분야뿐 아니라 모바일 분야에서도 자체적인 기술력을 쌓아왔다. 그런 기술력을 바탕으로 모든 사람들이 사용할 수 있고, 도움을 줄 수 있는 애플리케이션 개발에 조금씩 눈을 돌린 아이엑스소프트는 때마침 사회적으로 갑을 관계가 이슈화되면서 점차 어려워져가는 소상공인들에게 필요한 비즈니스 모델을 소프트웨어적으로 지원하는 방법을 고민하기 시작했다. 이에 소상공인용 모바일 멤버십/쿠폰 오픈 플랫폼인 젤라가 기획됐다.

 

젤라홈페이지
▲ 소상공인용 모바일 멤버십 오픈 플랫폼 젤라

 

소상공인에 초점을 맞춘 오픈 플랫폼 개발

간단하게 말해 젤라는 오프라인의 멤버십 카드와 쿠폰북을 모바일로 옮겨 놓은 서비스다. 대기업 통신사업자가 ‘월렛(wallet)’이란 형태의 서비스로 제공하는 멤버십 포인트 및 쿠폰 관련 서비스 기능을 제공하며, 이에 더해 젤라 플랫폼을 기반으로 태블릿PC를 활용한 스마트 메뉴 서비스를 지원하는 등 다양한 융합 서비스가 가능한 것이 특징이다. 무엇보다 소상공인의 장사에 실질적으로 도움이 돼야 한다는 관점으로 기획된 점이 눈에 띈다. 이를 통해 일반적으로 대기업이나 프랜차이즈 업체의 전유물과 다름없던 멤버십 카드 개념을 소상공인들도 인터넷 회원 가입과 다운로드만으로 간단하게 활용해 볼 수 있기 때문이다.

또한 통합포인트 관리 기능을 지원해 각 소상공인들끼리 제휴를 맺어 포인트를 공유하고 교류하는 것도 가능토록 했다. 이밖에 POS(Point Of Sales) 시스템을 도입하기 어려운 노점상에서도 스마트폰 카메라를 POS 대신 활용할 수 있도록 지원해 소상공인을 위한 다양한 편의점을 제공하고 있다. 이와 관련해 아이엑스소프트의 이태흔 대표는 “빈익빈 부익부 현상이 심한 앱 개발사들의 상황을 감안해 앱의 활용 및 판매와도 연동할 수 있는 플랫폼을 개발코자 했다”며 “앱 개발사들이 젤라 플랫폼을 활용하면 자사의 앱 다운로드나 활용에 따른 포인트 설정 및 적립이 가능해 홍보가 어려운 영세 앱 개발사나 개발자들도 새롭고 다양한 마케팅으로 이익 창출에 도움을 얻을 수 있을 것”이라고 설명했다.

 


▲ 젤라 서비스 구성도

 

플랫폼 전반에 공개SW 도입

다양한 기능과 편의를 제공하는 만큼 젤라 플랫폼은 내부적으로 여러 개의 서버와 서비스가 탑재돼야 했고, 그 과정에서 트래픽을 줄이고 빠른 속도를 유지하는 것이 관건으로 떠올랐다. 이에 아이엑스소프트는 고객사와 연동하는 부분을 TCP/IP(Socket)로 처리하고 모바일 앱과 모바일 서버 간에는 HTTP/JSON 방식을 사용해 데이터 처리량을 최소화했으며, 서버단에는 CentOS와 NginX를 적용했다. 기존에 방화벽 장비를 개발할 때부터 CentOS를 사용해왔다는 이태흔 대표는 “어떤 시스템이든 최적화를 위해 커널을 튜닝하고 DNS나 메일 서버 설정과 같은 서비스 설정 작업이 필요한데, 우분투나 레드햇과 비교해도 CentOS가 그런 사용 과정에서 오류가 적고 사용이 편리했다”고 전했다. 또한 반응 속도가 빨라야 하는 모바일 쪽에는 응답(response) 시간이 아주 중요한 요소라고 설명한 그는 과거 웹 방화벽 성능 테스트를 위해 검증을 실시한 경험을 들며, 여러 운영체제 중에서도 NginX의 응답 시간이 제일 짧았을 뿐 아니라 전 세계적으로도 NginX의 이런 성능은 인정받는 분위기라고 덧붙였다.

이밖에도 젤라 플랫폼에는 DB 서버단에 Spring Framework와 iBatis가 활용됐으며, 웹서버와 WAS에는 아파치와 톰캣이 활용되는 등 시스템 서버 전반적으로 다양한 공개SW가 도입됐다. 특히 코드 난독화와 웹 방화벽 구축을 위한 부분에까지 공개SW인 ProGuard와 ModSecurity를 각각 적용해 보안적인 면에서도 자체 기술력에 기반한 시스템 구축의 독자성을 확보했다.

 


▲ 젤라 소프트웨어 아키텍처

 

“다양한 추가 기능 개발에도 공개SW 활용”

2013년 6월에 정식 개발이 완료된 젤라는 현재 여러 소상공 업체를 비롯해 몇몇 호텔과 전국 규모의 대리점 등에서도 활용되고 있다. 이와 관련해 아이엑스소프트는 소상공인을 위해 개발한 애초의 취지에 맞게 다양한 기능을 개선해 많은 이들에게 도움을 줄 계획이다. 이에 따라 POS의 비용 문제나 스마트폰 카메라를 POS 대용으로 사용할 때의 불편을 개선코자 NFC 태깅 방식의 포인트 적립 시스템이 개발 중이며, 젤라와 NFC를 연동해 가게 메뉴를 주문할 수 있는 스마트 메뉴 서비스도 개발해 테스트가 진행 중이다. 또한 한국을 방문하는 외국인의 경우 대기업 통신사가 제공하는 월렛 기능을 사용할 수 없다는 점을 감안해 한국을 관광하는 과정에 포인트를 적립하고 활용할 수 있도록 젤라의 다국어 서비스도 준비되고 있다. 특히 아이엑스소프트는 현재까지 다양한 공개SW 활용으로 공개SW와 관련된 많은 기술적 경험을 보유하고 있는 만큼, 향후에 개발되는 솔루션과 서비스 전반에도 공개SW를 활용할 계획임을 밝혔다.



[인터뷰]


“성능뿐 아니라 보안 측면에서도 공개SW 활용도 높아”

아이엑스소프트 이태흔 대표이사


아이엑스소프트 이태흔 대표이사

보안 부분에서도 공개SW를 도입했는데…

서비스에서 무엇보다 중요한 것이 보안이다. 악의적인 해커는 하드디스크의 정보를 모두 삭제해버리는데, 완벽하게 백업하지 않는 경우가 많기 때문에 그런 사태에 철저히 대비해야 한다. 웹 방화벽은 상용도 많긴 하지만, 작은 회사에서 고가의 웹 방화벽을 구매해서 사용하기는 쉽지 않다. 리눅스 기반에서 사용할 수 있는 공개SW인 ModSecurity는 아파치 공식 사이트에서도 권장할 정도로 좋은 성능을 가지고 있으며, 윈도우 기반으로는 WebKnight 같은 것들도 있으니 고려해 볼 만하다. 한국인터넷진흥원에서는 오래 전부터 보안용 공개SW와 관련된 매뉴얼도 제공하고 있다. 또한 디컴파일이 가능한 안드로이드 앱의 경우에는 ProGuard와 같은 공개SW를 난독화에 활용할 수도 있다.

 

공개SW로 동시접속 이슈를 해결한 팁이 있다면

MySQL을 사용해 쿼리할 때 개발자들이 고민해야 할 게 테이블과 관련된 부분이다. 특히 동시 사용자가 많을 때 테이블이 여럿이면 속도가 느려진다. 어떻게든 테이블을 하나로 끝내는 방법을 찾아 가급적 쿼리를 단순화시키는 게 좋다. 그렇게 되면 필드가 쓸데없이 늘어날 수 있다. 그러나 테이블이 늘어나는 것보다 필드가 늘어나는 것이 훨씬 낫고 빠르다. 일부 개발자는 테이블을 모두 조인해 놓고 결과를 내는 과정에서 원하는 성능이 나오지 않으면 MySQL에 문제가 있는 것은 아닌지 고민하는 경우가 있는데, 테이블과 관련해 조인하는 부분만 개선해도 얼마든지 좋은 퍼포먼스를 기대할 수 있다.




- 마이크로소프트웨어 한종진 기자 hjj@imaso.co.kr
- 공개SW 역량프라자
맨 위로
맨 위로