본문 바로가기

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

공개SW 활용 성공사례


공개SW로 일체 구성된 백엔드 서비스로 BaaS 시장 개척

KTH는 스마트 모바일 전략 하에 푸딩.투, 아임IN, 푸딩카메라, 푸딩얼굴인식 등의 다양한 모바일 앱을 성공적으로 선보여 왔다. 그 과정에서 경험한 여러 시행착오를 바탕으로 KTH는 모바일 플랫폼 사업으로의 전환을 모색했고, 그 결과 공개SW로 핵심 기능이 구현된 baas.io를 국내에 처음으로 출시했다. 이와 같이 KTH가 국내에서 가장 먼저 BaaS(Backend as a Service) 시장을 개척할 수 있었던 배경에는 그간 확보한 서비스 기술과 공개SW 중심의 개발 문화가 자리잡고 있다.

- 기     관 KTH
- 수행년도 2012년
- 도입배경 새로운 BaaS 시장 진출 및 선점 요구, 반복적인 백엔드 개발에 따른 개발상의 비효율 문제 해결
- 솔 루 션 Usergrid, Cassandra, priam, splunk, StatsD + Graphite, Spring F/W, Apache Shiro, Jersey, Bootstrap, JQuery
- 도입효과 : 서비스 개발 기간 단축, 공개SW와 서비스의 상생 발전, 비용 절감에 따른 서비스 경쟁력 향상

온라인 PC통신 ‘하이텔’과 포털사이트 ‘파란닷컴’ 등을 서비스해온 KTH는 블루오션으로 떠오르는 모바일 시장을 선점하기 위해 2010년 ‘스마트 모바일 컴퍼니’로의 전향을 선언했다. 이에 따라 이 회사는 포털에서 Open API 플랫폼으로의 진화, 콘텐츠 유통 시스템으로의 확장, SW엔진과 플랫폼 사업자로의 변모란 세부 전략 하에 조직을 모바일 중심으로 재편하고 스마트 모바일 시대에 맞춰 위치기반, 실시간 웹, 클라우드, 소셜, 퍼스널이란 다섯 가지 영역을 선정한 후 다양한 모바일 앱을 선보였다.



그 과정에서 모바일 앱의 성공을 위해 더 많은 시도와 손쉬운 매시업 구조가 필요하다고 판단한 KTH는 그간 확보된 서비스 기술을 플랫폼화할 방안을 모색했다. 퍼블릭 클라우드와 모바일 앱 시장의 급성장, 스타트업 열풍 등의 최근 변화에 주목한 KTH는 마침내 서버 구축과 같은 백엔드 개발 없이 모바일 앱에서 표준화된 백엔드 기능을 제공하는 baas.io를 국내 최초로 출시하며 BaaS 시장 개척에 나섰다.


국내 첫 모바일 백엔드 서비스 baas.io

baas.io의 개발 배경에 대해 최명진 KTH 플랫폼사업본부 BaaS 팀 PD(Prototype Dramatist)는 “모바일 앱 수익의 84%가 IAP(In APP Purchase)에서 발생하는 등 최근 2년간 모바일 앱 수익구조가 스탠드얼론 앱에서 온라인 앱으로 빠르게 변화하고 있다”면서 “60% 이상의 모바일 개발자가 위치기반 서비스, 푸시알림, 포토 콜렉션, 사용자 인증 등의 백엔드 서비스를 원한다”고 강조했다. KTH의 대표 스마트모바일 플랫폼인 baas.io는 자사의 핵심 기술과 써드파티 API가 결합된 BaaS로 사용자 정보, 데이터베이스, 파일 관리 및 푸시알림, 고객센터 등의 백엔드 기능을 표준화된 API 형태로 제공해 서버 구축이나 별도의 개발 작업 없이도 온라인 모바일 앱을 개발할 수 있다. 게다가 baas.io는 iOS와 안드로이드 등 멀티플랫폼을 지원하고 RESTful API로 설계돼 자바스크립트 언어로도 모바일 앱을 개발할 수 있으며, KT의 유클라우드에 기반을 둔 만큼 아마존 AWS와 호환되고 트래픽 증감에 따라 서버 자원이 자동으로 조절된다. 이 덕분에 앱 개발자는 서버 개발과 운용에 드는 비용을 줄이고 개발 역량을 프론트엔드(모바일 앱) 개발에 집중할 수 있어 모바일 앱의 성공 확률을 높일 수 있다는 게 KTH 측의 설명이다.


[baas.io 웹사이트]

[baas.io 관리자 페이지]

<[백엔드 앱 상세 정보]


baas.io의 핵심은 공개SW

KTH는 모바일 앱 개발을 통해 확보한 푸시알림, 고객센터, 데이터베이스 등의 자체 기술과 유저그리드(Usergrid), 카산드라(Cassandra), priam, splunk, StatsD + Graphite, Spring F/W, Jersey, Bootstrap, JQuery 등의 공개SW로 baas.io 플랫폼 일체를 구성했다. 김태호 KTH 플랫폼 개발실 API 플랫폼팀 팀장은 “일과 시간의 20%를 창의적인 활동에 투자하는 기업 문화 덕분에 자율적인 SW 개발과 코드 리뷰가 사내에 정착됐다”면서 “특히 사내 위키에 등록되는 코드 리뷰의 과반 이상이 공개SW일 만큼 공개SW에 대한 관심이 많다”고 덧붙이며 baas.io의 핵심 요소에 공개SW가 도입된 이유를 기업 문화에서 찾았다. 또한 그는 상용SW 수준으로 향상된 공개SW의 품질과 KTH 내부에 내재화된 공개SW 관련 기술력도 고려됐음을 강조했다.


이러한 기업 문화는 실제로 baas.io를 개발하는 데 큰 도움이 됐다. 프로젝트의 초기 단계인 유저그리드는 상용 서비스를 목표로 한 baas.io에 도입되는 데 성능과 기능 모두 부족했다. 그러나 KTH는 카산드라 기반의 유저그리드 도입과 몽고DB 기반의 자체 플랫폼 개발을 비교한 3주간의 병행 프로토타이핑을 통해 최종적으로 유저그리드를 선택했고, 이 결정에는 코드 리뷰로 사내에 축적됐던 유저그리드에 대한 데이터가 긍정적으로 작용했다.


[baas.io 블록 다이어그램]


커스터마이징 성과 공유로 공개SW 발전에 기여

사용자 관리, 응용프로그램 객체와 API의 통합, 데이터 접근 등을 지원하는 유저그리드는 프로젝트가 초기 단계에 머무른 만큼 내부적으로 지원하지 않는 기능을 자체 개발해야만 했다. 이와 함께 상용화가 가능한 수준으로 처리 성능을 끌어올리기 위해 커스터마이징도 병행됐다. KTH는 유저그리드에 구현되지 않은 로그인 세션의 유지 시간을 유저 권한에 따라 차등 적용하고 로그아웃 기능을 자체 개발했다. 또한 API 요청 처리가 4TPS(Transactions per second) 수준으로 낮은 문제를 개선하고자 프로파일링을 통해 접목 구간을 파악하고 서비스 루틴의 공통 이벤트를 비동기 처리해 처리 속도를 600TPS까지 향상시켰다. 유저그리드 외에도 카산드라 데이터 클러스터링 관리를 위해 Priam을 도입하고 아마존 AWS에 최적화된 Priam을 유클라우드와 자체 파일시스템인 PFS에서 동작하도록 커스터마이징하는 등 다각적인 커스터마이징을 수행했다.
이를 통해 얻은 성과를 유저그리드와 공유하고 Apigee와 협력 관계를 구축한 KTH는 최근 사내에 baas.io 기반의 모바일 앱 개발 환경을 구축하고 이를 통해 얻은 다양한 의견과 비공개 클로즈 베타테스트에서의 피드백을 바탕으로 baas.io 서비스의 완성도를 향상시키는 데 주력하고 있다.


[baas.io 개발가이드]

[baas.io 고객지원 홈]


baas.io의 기본 기능 구현이 주요 골자인 1단계 프로젝트를 완료한 KTH는 이미 수립된 서비스 로드맵에 따라 2단계 프로젝트인 확장 기능, 3단계 파티 확장, 4단계 API 대중화를 2013년 내 단계별로 오픈할 계획이다. 그 과정에서 서버 스크립트 등의 기능 확장을 위해 클라우드 파운더리(Cloud Foundary)와 같은 공개SW 도입을 검토하고 있는 KTH는 baas.io 출시로 막 개화한 BaaS 시장을 개척하고 빠르게 선점함으로써 플랫폼 기업으로의 전환에 박차를 가하는 한편, 공개SW와 baas.io의 동반성장을 위해 힘쓰고 있다.

-----------------------------------------------------------------------------------------------------------------------------

[인터뷰]

“공개SW의 기술적 내재화에 힘써야”

김태호 KTH 플랫폼개발실 API플랫폼팀 팀장 / 최명진 KTH 플랫폼사업본부 BaaS팀 PD

김태호 Q> 공개SW 도입 시 중점을 둔 점은 무엇인가

모바일 앱 개발 분야에도 공개SW가 빠르게 확산되는 추세다. 공개SW 프로젝트가 점차 성숙 단계에 접어들고 이러한 공개SW를 대체할 또 다른 공개SW가 등장하면서 상용SW 수준의 품질을 갖춘 공개SW도 늘고 있다. 최명진그러나 이러한 공개SW의 발전 속에서도 공개SW의 내재화는 여전히 절실한 상황이다. 공개SW에 대한 기술 분석은 공개SW를 커스터마이징하고 지속적으로 발전시키는 활동에 기반이 되므로 공개SW 도입시 공개SW 기술 내재화에 더 힘써야 한다. 또한 공개SW를 단순히 사용자 입장에서만 바라볼 게 아니라 공개SW에 기여하고 나아가 자신의 SW를 공개하는 것이 모두의 경쟁력을 높이는 길이라는 인식의 전환이 필요하다. 고인물이 썩듯 아무리 훌륭한 SW라도 독점할 경우 기술 발전에 뒤쳐질 수밖에 없다고 생각한다.


Q> BaaS가 가져올 변화를 설명한다면

모바일 앱 개발에서는 속도가 가장 중요하다. 아이디어의 실체화가 지연되면 시장 상황이 변하거나 경쟁사가 먼저 서비스를 출시해 기회 자체를 잃어버릴 수 있다. 이런 이유로 모바일 앱 개발은 더 쉽고, 더 빨라야 하며, 이를 위해 반복적인 작업을 자동화해야 한다. 이를 가능케 하는 서비스가 BaaS다. 서버 구축과 운용, 관련 SW 개발에 따른 비용과 시간을 줄이는 BaaS는 API나 플러그인 형태로 백엔드 기능을 손쉽게 이용할 수 있어 모바일 앱 개발 환경의 근본적인 변화를 가져올 수 있다.



-----------------------------------------------------------------------------------------------------------------------------





- 마이크로소프트웨어 조수현 기자 suhyeoni@imaso.co.kr


- 공개SW 역량프라자


맨 위로
맨 위로