중소기업 위한 클라우드 APM 서비스 개발

본 공개SW 활용 성공사례는
컴퓨터월드와 정보통신산업진흥원(NIPA) 공개SW 역량프라자가 공동으로 발굴한 기사입니다.


[컴퓨터월드] 모바일, 클라우드, 빅데이터 등 새로운 IT트렌드는 더욱 다양해진 서비스와 함께 트랜잭션의 급증을 불러왔고, 기업의 안정적인 IT시스템 운영을 위해 애플리케이션의 성능이나 기능 및 장애에 대한 관리의 중요성은 날이 갈수록 높아지고 있다. 이에 따라 애플리케이션 성능 관리(Application Performance Management, 이하 APM) 솔루션이 재조명받고 있고, 실제 글로벌 APM 시장은 2019년까지 매년 12.86% 성장할 것으로 전망되고 있다.

이 가운데 국내 한 소프트웨어(SW)개발업체가 APM 솔루션 및 서비스를 공개SW로 출시해 눈길을 끌고 있다. 중소기업의 다양한 서버들을 안정적으로 서비스하기 위한 모니터링의 필요에 따라 개발됐으며, 솔루션 운영 부담을 최소화할 수 있는 클라우드 형태의 서비스가 제공되는 점도 특징이다.
 

 

APM은 애플리케이션의 성능 모니터링과 장애 예측을 통해 애플리케이션의 성능과 이용성을 관리, 최적의 상태를 보장해 안정적인 시스템 운영을 지원하는 일련의 방법론을 뜻한다. 또한, 운영 중인 시스템에 대한 가용성 확보, 다운타임 최소화 등을 통해 안정적인 시스템 운영을 위한 도구로, 부하량과 접속자 파악 및 장애진단 등을 목적으로 하는 성능 모니터링 제품을 일컫는다.

최근 중소기업을 위한 클라우드 APM 서비스를 오픈소스로 공개한 OSS랩(OSSLab)은 지난 2013년 4월 설립된, 국내에 아직 드문 공개SW 솔루션 개발 기업이다. 현재 정부의 SW중소포럼 운영지원사업에 참여, 올해 신설된 오픈소스 APM 포럼의 주관사를 맡아 이끌고 있다. 이 사업은 미래부와 한국SW산업협회가 지난 2010년부터 진행하고 있는 사업으로, 매년 10개 내외의 같은 사업 부문 중소SW업체들을 포럼으로 선정해 업체 간 협업 및 해외 진출을 위한 예산을 지원하고 있다.

OSS랩은 공개SW인 ‘제이보스 애플리케이션 서버(JBoss-AS)’를 기반으로 하는 WAS(웹 애플리케이션 서버)인 ‘웹세스AS(Webccess-AS)’를 지난 2013년 선보인 바 있으며, 이를 토대로 2014년 하반기부터는 APM 솔루션 ‘웹세스APM(Webccess-APM)’을 개발했다. 그리고 최근에는 클라우드 APM 서비스 ‘웹세스닷넷(Webccess.net)’을 비롯해 회사가 개발한 APM 서비스를 모두 ‘웹세스(Webccess.org)’ 사이트에 공개했다.

 

서버 운영자 관점의 APM 솔루션 구상

다년간 서버 운영 관리를 맡은 바 있는 안병현 OSS랩 대표는 서버 시스템 운영환경이 점차 서버 수는 증가하되, 적은 노동력을 투여하면서도 안정적으로 운영할 수 있는 방향으로 고도화되고 있다고 설명한다. 안 대표는 서버의 장애나 상태를 신속하게 진단해 보다 쉽고 편리하게 서버를 운영할 수 있는 방법을 고민, 자신의 경험을 바탕으로 현업 담당자들의 의견을 수렴해 실무에 필수적인 기능을 중심으로 APM을 개발해보기로 했다.

먼저 서버 상태를 정확히 파악할 수 있도록 시스템 리소스 모니터링을 지원, CPU, 메모리, 디스크I/O, 파일시스템에 대한 정보를 실시간으로 수집하고 통계를 내어 단순화된 형태로 표현하도록 했다. 또한 ▲웹서버나 WAS에 대한 최소한의 설정 시 자바 GC 카운트, 힙 메모리(Heap Memory), 세션 카운트, 애플리케이션 카운트 등 데이터 수집 ▲아파치 웹서버나 WAS의 액세스로그를 분석한 통계 ▲DB모니터링을 위한 트랜잭션, 액티브 세션(DB커넥션), 테이블스페이스 사용량 등 데이터 수집·분석 등의 기능을 제공, 이를 사용자가 편리하게 사용할 수 있도록 클라우드 서비스로 개발한다는 목표를 세웠다.


공개SW로 태어난 클라우드 APM 서비스

OSS랩의 공개SW APM ‘웹세스APM’은 공개SW WAS인 ‘웹세스AS’ 위에서 실행되며, 이를 HTML5 기반 웹서비스로 구현한 것이 ‘웹세스닷넷’이다. APM을 구성하는 에이전트, 서버, 웹애플리케이션 모듈을 포함하며, 시스템 리소스, 웹서버, WAS, DB서버 등을 모니터링 가능하다. 또한 각 서버들에서 수집된 데이터들의 분석을 통한 실시간 차트와 각종 데이터가 대시보드를 통해 제공된다.

이는 ▲IT시스템의 상태를 지속적으로 파악하고 분석한 데이터를 보여주는 ‘모니터링 도구’ ▲애플리케이션 개발결과물의 콜 트리(Call Tree) 분석과 운영 상태에서의 클래스 간 CPU 사용량 파악, SQL 실시간 수집 등의 역할을 수행하는 ‘프로파일러’ ▲수집된 모든 데이터를 기반으로 고객 시스템의 미래 상태를 분석·예측하는 ‘애널리틱 엔진’ 등으로 구성된다. 기 출시된 모니터링 툴에 이어 프로파일러를 이달 추가, 연내에는 애널리틱 엔진의 초기 버전을 선보일 계획이다.

▲ '웹세스닷넷' 공개SW 구성도

안병현 대표는 에이전트에서 수집되는 데이터를 처리하는데 있어 액세스로그와 같은 대량의 로데이터(raw data)들을 MySQL에 넣기에는 용량에 대한 부담이 크므로, 사용자·기간별 파일로 구분해 저장할 수 있는 SQL라이트(SQLite)가 적합하다고 판단했다. 파일 기반의 DB엔진인 SQL라이트는 가벼운 모듈이지만 빠른 데이터 입출력 속도를 갖고 있으며, 다양한 SQL 처리에도 서버 운영에 충분한 성능을 제공한다는 설명이다. 한편 MySQL에는 사용자 정보, 일자별 통계 처리 결과를 저장해 사용자들의 데이터 조회 요구에 빠르게 대응할 수 있도록 했다.

또한 웹서비스는 JSP를 기본으로 제이쿼리(JQuery)로 개발됐다. 특히 시각화 측면에서 많은 고민과 시행착오가 겪었다고 안 대표는 밝혔다. 초기 서비스 버전에는 자바스크립트 프레임워크인 제이큐플롯(jqPlot)을 사용했으나, 최근에는 화려한 기능과 편리한 사용법 및 다양한 예제들이 풍부하게 제공되는 D3.js를 적용해 기능을 강화했다. 모바일 환경과 PC 환경의 다양한 브라우저과 호환이 가능해 웹표준 지원에 중요한 역할을 했다.

클라우드 서비스 구조는 사용자들이 APM 서버 설치 및 운영에 따른 부담에서 벗어나, 에이전트만을 설치하면 서비스를 사용할 수 있도록 간편한 방법을 채택했다. 마치 각 사용자들이 자기만의 서버를 운영하는 것처럼 환경 구성을 용이하게 했다. 사용자별로 사용 용량을 파악하고 선택적으로 사용할 수 있도록 구성 가능하며, 향후에는 고객이 원하는 경우 독립 인스턴트를 제공할 수 있도록 준비하고 있다.

▲ '웹세스닷넷' 시스템리소스 대시보드

현재 OSS랩은 분석엔진을 개발하는 중으로, 수집된 데이터를 분석하기 위한 시스템을 R을 사용해 구성하고 있다. ‘웹세스닷넷’ 서비스에서 수집되는 다양한 데이터를 기반으로 예측 분석을 진행하고 있으며, 수집되는 데이터에 따라 R에서 연동하는 다양한 빅데이터 분석 도구들로 확장할 수 있는 기술적인 준비도 병행하고 있다. 또 분석 데이터를 패턴화해 빠른 처리 속도를 지원할 수 있는 새로운 도구들에 대해서도 연구하고 있다.


중소기업의 안정된 IT개발·운영 위해

‘웹세스닷넷’은 운영경험이 없거나 부족한 중소기업 개발·운영자들도 쉽게 사용 가능한 UI·UX 를 제공하는 것이 특징이다. 개발·유지보수 기업들과 객관적인 데이터로 실질적인 품질에 대해 논의하게 돼 운영진들의 서비스 장악력을 높일 수 있다. 또한 수집된 데이터를 기반으로 기업이 필요로 하는 분야를 파악해 투자의 효율성을 높일 수 있으며, 글로벌 시장 진출 시 해외 서버에 대한 정보를 국내에서도 객관적으로 살펴보고 원인을 분석할 수 있다.

아울러 개발 단계에서도 누구나 쉽게 서비스를 사용해 개발 도구로 활용할 수 있다. 개발자들을 위한 스레드 상태, 액세스 로그, SQL 쿼리 등의 동적 수집 및 연계 분석 기능도 곧 추가 예정이다. 이를 통해 애플리케이션 개발 단계에서의 시행착오를 줄여주면서 개발과 운영이 유기적으로 이뤄지는 데브옵스(DevOps) 환경을 조성해준다는 설명이다. 필요 시 사내에 온프레미스로 구축 가능하며, 공개SW 형태로 개발됐기에 벤더종속성 탈피는 물론 직접 자사에 맞춰 커스터마이징 역시 가능하다.

▲ '웹세스닷넷' 애플리케이션 대시보드

‘웹세스닷넷’은 앞으로도 IT개발·운영진이 필요로 하는 정보를 일목요연하게 보여주는 방향에 초점을 두고 개발해나가며 사용자 기반을 확보하는데 주력할 계획이다. OSS랩은 오픈소스 APM 포럼 회원사들과의 협업을 통해 이 서비스를 지속적으로 발전시켜나가며 중소기업들의 안정적인 IT시스템 운영 환경 확보를 지원하겠다는 뜻을 밝혔다.

특히 연내 선보일 분석엔진으로 예측 분석을 가능케 해 누구나 품질 개선에 기여할 수 있도록 돕는다는 방침이다. 또한 서강대학교 LINC사업단 소속인 OSS랩은 산학협력 및 다양한 기업들과의 협업을 통해 ‘웹세스닷넷’의 분석엔진을 발전시켜 빅데이터 분석 플랫폼의 실증적인 모델까지 구축해나간다는 전략이다.

[인터뷰] “공개SW개발에 참여하라”

▲ 안병현 OSS랩 대표

‘웹세스닷넷’을 오픈소스로 공개한 이유는.

과거 모바일 벤처에서 근무할 당시 모바일 싱크(Mobile Sync) 솔루션을 개발하고 대형 통신사에 납품해 오랫동안 운영한 경험이 있다. 이때 IDC 운영진들의 잦은 교체와 폭증하는 솔루션 구축으로 인해 IDC 담당 엔지니어는 관리만 할 뿐 성능측정이나 장애원인 분석 등에 관여하지 못하는 경우가 많았다.

명확한 상태 정보가 없어 원인 분석에 오랜 시간이 걸리는 경우도 많아 솔루션 운영기업도 어렵고, 원인 분석을 전적으로 협력업체에 의지해야 하는 IDC 담당자들도 어려움이 있었다. 때문에 직접 솔루션과 관계없는 장애에도 모든 솔루션 기업들이 방문 대기해야 하는 비효율이 너무 많았다. 이와 관련해 대전 통합전산센터에서도 APM을 활용하는 프로젝트가 여전히 20% 미만인 것으로 알고 있다.

이러한 비효율을 최소화하기 위해 누구나 쉽게 알아볼 수 있는 UI·UX를 기반으로 원인 분석 결과를 효율적으로 제시함으로써 운영 담당자나 유지보수 업체가 모두 빠르게 대응할 수 있도록 지원하고자 APM 솔루션을 만들었다. 이왕이면 고생이 많은 중소기업들에게 실질적인 지원이 될 수 있도록 무료로 클라우드 APM 서비스를 공개했다.


공개SW를 개발하며 느낀 점이 있다면.

국내에서 공개SW 활용은 비교적 활성화되고 있지만, 공개SW 개발은 여전히 더딘 것 같다. 국내 기업들이 당장의 이윤을 위해 공개SW 프로젝트를 기다려주지 않는 측면이 있고, 바쁜 여건상 개발자들이 참여하는데도 어려움이 있으리라 본다.

그러나 공개SW를 만들거나 기여하지 못한다면 앞으로는 공개SW를 제대로 활용하기도 어려워질 수 있다. 핵심적인 부분을 파악하지 못할 수 있고, 발전방향에 대한 영향력도 행사할 수 없기 때문이다. 후발주자인 우리나라 입장에서는 그만큼 기업의 투자가 원활해야 성장 가능한데, 아직 사회 전반적으로 그 가치에 대한 인정이 부족한 것 같다. 대표적인 글로벌 공개SW기업인 레드햇은 이제 연매출 2조원을 바라보고 있다. 우리나라에서도 이 같은 기업이 나올 수 있도록 지금부터 차근차근 노력할 때다.

시장에서 사용되면서 개선되는 선순환 구조를 위해서는 먼저 공개SW로 만들어야 한다고 본다. 국내 여러 IT중소기업들도 고유의 솔루션들을 갖고 있는데, 이들을 공개함으로써 다양한 형태의 융합과 개선 아이디어 확보 및 여러 환경에서의 테스팅 등이 이뤄질 수 있으리라 여겨진다. 정책적으로도 공개SW 초기 개발에 대한 지원이 대폭 강화돼야 하며, 적어도 기술지원에 대해서는 비용을 지불해야 한다는 사회인식의 확대가 절실하다.

한 명의 개발자 입장에서 말하자면, 21년을 개발해왔는데 그간의 결과물 중 현재 남아있는 것이 거의 없다는 점이 안타깝다. 여기에는 회사를 옮기거나, 회사가 문을 닫았거나 등의 여러 가지 이유가 존재한다. 반면, 공개SW는 많은 사람들이 참여해 개발하는 것이므로 이러한 걱정이 적은 편이다. 그러므로 매번 남이 해놓은 것을 쓰기만 할 게 아니라, 공개SW 개발에 다함께 참여해 작든 크든 직접 개발해보고 이에 대한 이야기를 나누면서 더불어 성장할 수 있는 환경이 조성되기를 바란다.

관련기사

저작권자 © 아이티데일리 무단전재 및 재배포 금지