‘셀파 오라클’ 도입해 모니터링 성능 개선…지방 파트너사 통한 기술 지원도 가능

[컴퓨터월드] 경북대학교병원은 1907년 대구동인의원에서 시작해 100년 이상의 역사를 자랑하는 대구·경북 지역의 대표적인 병원이다. 경북대학교 개교와 함께 경북대 의과대학 부속병원으로 편입, 이후 경북대학교병원으로 개칭된 후 국립대학교병원설치법에 따라 교육부 산하 공공기관이 됐다. 현재 본원 및 칠곡경북대병원과 함께 높은 수준의 의료 설비와 진료 시스템을 갖추고 있으며, 지역 의료기관으로서는 유일하게 ‘국가 연구중심병원’으로 선정된 바 있다.

의료기관은 작은 실수가 환자들의 생명과 직결되는 만큼 진료 과정을 뒷받침할 수 있는 IT 시스템에는 높은 안정성이 요구된다. 경북대병원은 데이터베이스(DB) 모니터링 솔루션을 활용해 IT 시스템이 지속적이고 안정적으로 운영될 수 있도록 하고 있다.


오래된 모니터링 솔루션…민첩한 장애 대응 어려워
금융과 의료는 안정적인 IT 시스템 운영과 빠른 장애 조치가 요구되는 대표적인 분야로 꼽힌다. 그 중에서도 특히 의료 분야는 시스템 장애가 심각한 의료 사고로 이어질 수 있기에 더욱 안정성을 중요하게 여긴다. 심야에 일부 서버를 내리고 점검하는 등 필요에 따라 유연한 관리가 가능한 금융 분야와 달리, 의료 분야는 24시간 내내 모든 기능이 정상적으로 작동할 필요가 있다. 따라서 지속적으로 시스템을 모니터링하고 혹시 발생할 수 있는 장애 상황을 민첩하게 해결할 수 있는 체계가 요구된다.

경북대병원은 기존에 글로벌 기업 A사의 DB 모니터링 제품을 도입해 활용하고 있었지만, 도입 시기가 오래돼 병원 내 전체 IT 시스템을 관리하기에는 어려움이 있었다. 제품 자체가 오래돼 최신 제품들에 비해 제한된 기능과 불편한 UI를 제공하고 있으며, 성능적인 면에서도 만족스럽지 못했다는 설명이다. 특히 성능 측면에서는 특정 파라미터를 클릭해도 해당 수치를 확인하는 데에 수 초의 딜레이가 발생, 원활한 관리운영이 불가능해 장애 상황의 탐지는 물론 민첩한 복구에도 애로사항이 있었다. 이에 따라 경북대병원 측에서는 자체적으로 개발한 관리 도구와 개발자용 DB 관리 도구 ‘오렌지(Orange)’ 등을 함께 활용해야만 했다.

벤더사의 유지보수 측면에서도 어려움이 있었다. 글로벌 기업의 오래된 제품인데다 지방 병원이라는 위치적 특성까지 더해지다보니 벤더사의 원활한 지원을 받지 못했다는 것이다. 운영 중에 어려움에 부딪히면 해당 벤더사의 지방 파트너를 통해 서비스를 요청했지만, 파트너사에서도 직접 대응하지 못해 벤더사의 도움을 받아야했다. 이 과정에서 많은 시간이 소요되는 것은 물론 병원 내 IT 조직과 유지보수 서비스 제공자 측의 직접적인 의사소통이 막혀 정확한 지원을 받지 못하는 일도 발생했다.

이에 따라 경북대병원은 모니터링 성능 개선 및 전체 DB에 대한 확대 적용, 제품 개발사의 기술지원 강화 등을 목표로 새로운 DB 모니터링 솔루션 도입을 추진, 최종적으로 셀파소프트의 ‘셀파(Sherpa)’를 선택했다.


DMA 기술로 DB 서버 부담 최소화
‘셀파’는 오라클·SQL서버·티베로·알티베이스·마리아DB 등 다양한 DB에 대한 DB성능관리(Database Performance Management, DPM) 솔루션이다. DPM 솔루션은 기업 내에서 운영 중인 복수의 DB 성능 현황을 실시간으로 파악해 사전에 장애를 방지하고, 장애 발생 시에도 피해를 최소화할 수 있도록 민첩한 장애 복구를 지원한다. 또한 DB의 성능 정보를 실시간으로 수집·저장해 장애 원인을 분석하고 효율적인 자원 관리를 돕는다.

▲ 셀파소프트의 DPM 솔루션 ‘셀파’ 아키텍처

경북대병원 측은 약 한 달에 걸친 PoC(개념검증) 단계에서 ‘셀파’가 기존에 사용하던 A사의 제품보다 매우 빠른 성능을 보여 도입을 결정했다. 특히 DMA(Direct Memory Access) 방식을 적용해 실시간 모니터링 중에도 DB에 주는 부하가 현저히 적다는 점이 인상깊었다는 설명이다.

기존에 경북대병원이 사용하던 모니터링 솔루션은 각각의 DB서버마다 에이전트를 설치하고 DB에 직접 SQL을 날려서 결과값을 수집하는 방식이었다. 하지만 성능 정보를 수집하기 위해 SQL을 사용하는 것은 상당한 부하를 동반하는 작업이다. 데이터 동기화를 위해 중복된 데이터에 대해 락(lock)을 거는 과정도 필요하다. 성능 관리를 위해 오히려 DB 서버에 적지 않은 부하를 걸게 된다는 뜻이다. 또한 DB에 과다한 부하가 걸리는 시점에는 SQL을 날리는 것이 불가능할 수 있으며, DB의 데이터 사전(Data Dictionary) 조회로도 성능을 파악할 수 없다. 즉 DB에 과도한 부하가 집중돼 장애로 이어질 수 있는 상황에서 모니터링 솔루션이 제 역할을 수행할 수 없게 된다는 것이다.

반면 DMA 방식은 각 서버에 설치한 에이전트가 DB의 메모리 영역에 접근해 직접 성능 정보를 읽는다. 이를 통해 DB 서버의 CPU에 가해지는 부담을 최소화하면서도 빠르게 성능정보를 읽어낼 수 있다. 또한 장애 상황이나 과부하가 걸리는 와중에도 성능정보를 놓치지 않아, 장애 상황 해결 후 사후 분석이나 재발 방지를 위한 데이터도 충분히 갖출 수 있다.

‘셀파’는 DMA 기술을 적용해 정밀하게 성능정보를 수집하면서도 DB에 대한 영향을 최소화했다. 특히 DB 서버의 CPU와 메모리 사용량을 한층 더 줄이기 위해 성능과 메모리를 제어하기 용이한 C언어로 에이전트 프로그램을 개발했으며, 동일한 데이터의 경우 한 곳에서 집중 처리하도록 구성했다.


‘제니퍼’ 연계로 관리 편의성 향상
경북대병원은 특정 업무 처리가 DB 서버에 너무 과도한 부담을 줄 경우 해당 세션을 강제로 끊는 방식으로 대응하고 있다. 연구목적 등으로 서버가 감당할 수 없을 정도의 연산을 맡기게 되면 운영 중인 다른 서비스에도 영향을 미칠 수 있기 때문이다.

하지만 이렇게 끊어버린 세션이 누가 수행한 것인지에 대해서는 정보를 얻을 수 없어 근본적인 재발 방지가 되지 않았다. WAS(Web Application Server)를 거치는 세션에 대해서는 DB 모니터링 대시보드에서 웹 서버의 IP만 확인할 수 있기 때문이다.

이렇다보니 경북대병원의 IT 조직은 과도한 부하를 주는 세션을 끊어놓고도 해당 작업을 수행한 사용자에게 올바른 사용 가이드를 전달할 수 없었다. 사용자는 이상함을 느끼면서도 동일한 작업을 반복적으로 수행하다가, 더 이상 불편함을 참지 못하고 IT 부서에 문의를 할 때가 돼서야 상황 설명을 들을 수 있었다.

▲ ‘셀파’ 및 ‘제니퍼’ 통합 대시보드 화면

이러한 문제 역시 새롭게 도입한 ‘셀파’를 통해 개선됐다. ‘셀파’는 제니퍼소프트의 APM(Application Perfomance Management) 솔루션 ‘제니퍼(Jennifer)’와의 연계를 통해 WAS를 거친 세션에 대해서도 실제 IP 확인이 가능하다. 실제 IP를 통해 DB 서버에 과도한 부담을 주는 업무를 누가 수행한 것인지를 특정할 수 있으며, 세션을 중지시키는 동시에 해당 사용자와 연락해 선제적으로 설명할 수 있게 됐다.

이로써 사용자는 본인이 수행한 업무가 왜 중단됐는지에 대해 제대로 된 이유를 들을 수 있으며, IT 조직은 반복적인 업무를 최소화하고 보다 합리적인 체계를 갖출 수 있게 됐다. DB 서버에 많은 부하를 줄 만한 상황이 줄어든 만큼 장애 발생 위험 역시 감소했다.


지방 파트너사 통해 원활한 기술지원 가능
한 달 여에 걸친 PoC 이후 ‘셀파’ 도입을 확정지으며, 경북대병원은 일부 핵심 DB에만 적용하고 있던 DB 모니터링 및 성능관리를 운영 중인 대부분의 DB로 확대 적용키로 했다. 대상 DB를 확대하며 전체 비용은 증가했지만 코어 당 비용은 줄어 효율적으로 안정적인 IT 환경 구축이 가능해졌다.

이번 ‘셀파’ 도입은 셀파소프트의 파트너사인 데이터뱅크시스템즈가 담당했다. 데이터뱅크시스템즈는 대구·경북지역을 중심으로 활동하고 있으며, 향후 경북대병원의 기술 지원 역시 해당 기업이 맡게 된다.

데이터뱅크시스템즈는 이미 경북대병원에 DB와 WAS 등 다양한 SW 제품들을 공급하고 유지보수 서비스를 지원해왔기 때문에, ‘셀파’ 도입 이후에도 전체 시스템 구성에 대한 높은 이해를 바탕으로 직접적인 기술 지원이 가능하다. 기존에 이용하던 A사 DB 모니터링 솔루션의 경우 기술 지원 측면에 부족함을 느꼈던 만큼 보다 확실한 서비스 제공이 가능한 기업을 우선했다는 설명이다.

1

▲ 경북대병원에서 운영 중인 ‘셀파’ 대시보드 화면

데이터뱅크시스템즈 관계자에 따르면 경북대학교는 DB 모니터링 및 성능관리 솔루션에 대한 기대치가 높아 ‘셀파’ 구축도 신중하게 진행했다고 밝혔다. 경북대병원은 시스템 안정성 확보가 매우 중요하고, IT 조직이 타사 제품을 오랫동안 사용해본 경험이 있다 보니 DB 모니터링 및 성능관리에 대한 전반적인 이해 수준이 높다. ‘셀파’와 같은 최신 DB 모니터링 및 성능관리 솔루션에는 굉장히 많은 기능들이 탑재돼 있지만, 대부분의 기업에서는 자사에서 필요한 기능만 사용하고 나머지는 제대로 활용하지 못하는 경우가 많다. 그에 비해 경북대병원은 각 기능들의 필요성과 용도에 대해서 잘 이해하고 있을 뿐만 아니라, 각각의 기능들에 대한 점검과 개선을 위한 피드백을 적극적으로 요청해왔다는 것이다.

이에 따라 셀파소프트와 데이터뱅크시스템즈는 PoC 기간을 한 달 이상으로 길게 잡고 모든 요구사항이 만족될 수 있도록 적극적인 지원에 나섰다. 경북대병원 측은 ‘셀파’ 도입 당시 요구한 개선 및 커스터마이징 요청에 대해 셀파소프트와 데이터뱅크시스템즈가 적극적으로 나서준 결과 만족스러운 성과를 거두었다고 밝혔다. 또한 현재 운영 중인 IT 환경에 높은 이해도를 갖추고 있는 데이터뱅크시스템즈의 지원에 대해 많은 기대를 갖고 있다고 설명했다.

 
“장애 발생 전 선제적으로 문제점 진단하고 해결”
손병은 경북대학교병원 의료정보센터


Q. 신규 DB 모니터링 및 성능관리 솔루션 도입에서 가장 중요하게 생각한 것은?

평상시 및 긴급 상황에서의 성능과 안정적인 기술 지원이다. 성능 측면에서는 장애 상황이 발생하기 전에 선제적으로 문제점을 진단하고 이를 해결할 수 있는 기능이 얼마나 체계적으로 갖춰져 있는지가 중요했다. 이 점에서 ‘셀파’ 제품은 PoC 단계에서부터 탁월한 성능을 보여줬다. 긴급한 상황에서 원인 분석 및 대응 프로세스가 갖춰져 있다는 점 역시 ‘셀파’를 선택한 중요한 이유로 작용했다.

기술 지원 측면에서는 셀파소프트와 데이터뱅크시스템즈에서 충분한 지원을 받을 수 있을 것으로 예상한다. PoC 기간 중에 피드백한 많은 요구사항에 대해 양사에서 보여준 적극적인 모습이 인상깊었으며, 데이터뱅크시스템즈는 현재 운영 중인 다른 시스템에 대한 기술 지원도 맡고 있기에 안정적인 서비스 지원이 가능할 것으로 본다.

Q. ‘셀파’ 도입 과정에서 특히 만족스러운 점이 있었다면?
과부하를 일으키는 세션들을 즉각 확인하고 끊을 수 있는 등 관리자의 편의성을 위한 현실적인 기능들이 다양하게 탑재돼 있다는 점이다. 이러한 기능들은 직관적이어서 이해하기가 쉬울 뿐만 아니라 사용이 간편해, ‘셀파’를 처음 접해보는 사용자들도 쉽게 적응할 수 있었다.

특히 과거 플랜(Plan)에 대한 조회와 비교 기능을 지원한다는 점이 유용했다. 오라클 DB의 일정 영역에서 성능 저하가 발생한다면 느려진 쿼리에 대한 SQL 플랜을 확인해봐야 하는데, 기존에 사용하던 제품에서는 과거 플랜에 대한 조회가 불가능했다. 반면 ‘셀파’는 이전 플랜에 대한 검색 및 조회가 가능해 손쉽게 비교·분석할 수 있었다.

‘셀파’는 현업의 니즈가 잘 반영된 좋은 솔루션이라고 생각한다. 앞으로도 꾸준한 기능 개선을 통해 국민 솔루션으로 발전되길 바란다.

 

저작권자 © 컴퓨터월드 무단전재 및 재배포 금지