2014-04-15 13:51
DBMS+WAS 위한 실용애플리케이션성능관리(APM) 툴 Product Review? → 엘리바이저(Elevisor)APM Tool이란?필자가 처음 IT업무를 시작했던 90년대 초반에는 C/S 환경의 전산운영이 주를 이루었다. 소위 말하는 메인프레임 급의 장비에 DBMS와 운영 애플리케이션 등이 함께 올라가 있는 구조이다. 단순한 구조만큼이나 관리 또한 단순했다 할 수 있겠다.이때만 해도 APM(Application Performance Management)이란 단어는 들어보지도 못했던 시절이었다. 그러나 지금은 IT의 발전과 더불어 서버들 간의 역할분담에 따른 각종 애플리케이션들이 서로 다른 서버에 올라가게 되고, 이러한 애플리케이션에 대한 관리 또한 세분화되고 있음은 물론이다. 이처럼 세분화 되고 있는 각종 애플리케이션들을 관리하기 위한 툴(APM)들이 등장하게 되고, 이러한 툴들은 IT업계에서의 SLA(Service Level Agreement)와 SLM(Service Level Management)과 같은 IT관리 서비스 수준을 가늠케 하는 주요 인프라로 자리잡고 있다.한마디로 APM 툴이란 NMS나 SMS와 같은 시스템 관리와는 달리 애플리케이션 관점의 성능관리로서 실시간으로 애플리케이션의 성능을 모니터링하고 응답시간을 측정하여 성능저하 원인을 규명하고, 서비스가 일정 수준 이상으로 유지되도록 관리하여 최상의 애플리케이션 성능과 가용성을 확보할 수 있도록 도와주는 툴이라 하겠다.Elevisor의 특징APM 초기 단계에서는(여전히 그런 경향이 있지만) 대부분 특정 애플리케이션에만 국한된 APM들이 개발되어 유기적으로 움직이는 전산운영환경을 따라가지 못했다. 대표적인 것이 DBMS와 WAS는 더 이상 분리되어 생각할 수 없음에도 불구하고 여전히 관련 APM들이 통합되고 있지 못하다는 것이다. 그도 그럴 것이 특정 애플리케이션 개발업체에서 자사에 특화된 APM 툴만을 내놓고 있기 때문일 것이다.DBMS와 WAS를 연계한 솔루션은 어떠한가? 적어도 이 둘만은 같이 가야 하지 않을까? 여기 DBMS와 WAS를 연계 분석할 수 있는 Elevisor 제품군이 있다.◆ Elevisor For OracleElevisor For Oracle은 여러 개의 Oracle Instance가 최적화된 상태에서 운영될 수 있도록 도와주는 툴로써, 크게 실시간 대쉬보드(Real-time Dashboard), 즉시 모니터링(Instant Monitoring) 및 이력분석(History Analysis)이 가능하도록 구성되었으며 부수적으로 유틸리티 부분과 Database 자가진단 부분으로 구성되어 있다.◆ Elevisor For J2EEElevisor For J2EE는 J2EE 환경에서 운영되는 애플리케이션에 대한 성능관리 툴로서 모든 트랜잭션에 각종 성능 정보를 실시간으로 수집하여 실시간 모니터링 기능을 제공하며, 수집된 정보는 모두 Repository에 저장되어 사후 분석이 가능하다.Elevisor는 영문 Elevation과 Advisor에서 따온 말로 애플리케이션의 성능을 최적화할 수 있도록 도와준다는 의미로, APM 툴이 갖추었으면 하는 다음과 같은 사항들을 개선하기 위해 고민하여 만들어진 툴이다.① 모니터링 대상 시스템에 부하를 최소화 하는 방안② 클라이언트 S/W를 설치 하지 않는 WEB 환경의 구현③ 수집된 데이터의 빠른 적재와 다양한 보고서 작성 기능이를 위하여 Elevisor은 Java의 Multi Threads 기법과 SQL Caching 기법 및 Dynamic Pool 생성 등의 기술이 적용되었으며, Oracle Database를 Repository로 하는 AJAX 기반의 Web2.0 애플리케이션으로 구현되었다.다음은 Elevisor의 간략한 Architecture와 DB, WAS간의 연계 모니터링에 대한 도식도이다.◆ DB-WAS 통합성능관리 체계 구축(Architecture)Elevisor 제품군을 통하여 하나의 Elevisor IS(Integration Server) 서버에서 WAS-DB 통합 성능관리 체계를 구축할 수 있다<그림 1>.■ 그림 1 DB-WAS 통합성능관리 체계 구축◆ 실시간 DB-WAS 및 WAS-DB 연계 분석운영상 서비스 지연과 같은 성능 Issue가 모니터링 될 때 DB단의 Session 리스트에 자동 감지된 Session정보의 “Appinfo”를 클릭하면 해당 SQL을 수행 중인 WAS 의 URL 및 Thread 정보와■ 그림 2 실시간 DB-WAS 및 WAS-DB 연계 분석Trace 정보를 동일 화면 안에서 실시간으로 확인함으로써 문제 원인에 대한 접근이 쉽게 이루어진다<그림 2>.◆ 사후 WAS-DB, DB-WAS 연계 분석과거 성능추이 분석 시 자체 Active Session History 정보 보기에서 “J2EE Trace Info” Tab을 클릭하면 WAS에서 수집된 Trace 정보와 1:1 Mapping되어 연계 분석이 가능하다<그림 3>.WAS 연계 분석 정보- SQL을 수행한 URL 상세 정보- Trace 상세 정보- SQL에 대한 상세 정보■ 그림 3 사후 WAS-DB, DB-WAS 연계 분석Elevisor 도입 효과엔터프라이즈 IT 환경이 발전하면서 애플리케이션의 복잡도 증가 및 데이터량 증가로 인하여 주요 서비스에 대한 성능 이슈가 애플리케이션 단에서 발생하고 있어 그 어느 때보다 AP에 대한 성능관리에 대한 중요성이 증가하고 있다.기존 APM 툴들이 AP들에 따라 각기 독립적으로 운영되었다면, Elevisor는 DB 및 WAS에서 수행되는 애플리케이션에 대한 연계성과 실시간 관제 및 성능 데이터를 제공하여 최적의 APM 체계 를 구축하여 다음과 같은 효과를 얻을 수 있을 것이다.① 모니터링 업무의 자동화 및 효율성 극대화(TCO 절감)② 이벤트 관제 및 경보에 따른 사전 장애감지 및 제어(장애 예방)③ 강력한 실시간 및 사후 분석에 따른 서비스 안정화(SLA 만족) ■ 문의: 비아이씨엔에스, www.bicns.com, 02-422-4242
2014-04-15 11:44
중소기업의 데이터베이스 운영관리를 위한 새로운 제안 (부제 : 먼저 배가 나온 사람)이름만 대면 알만한 큰(?) 회사들은 대부분 자사의 DB를 운영하며, DBA라는 DB운영인력을 여러 명 두고 있다. 그 뿐만이 아니라 벤더나, 벤더의 파트너사로부터 기술지원까지 받고 있다. 이중, 삼중의 안전한 장치를 구축한 셈이다.이와 같이 시스템이 있는 곳에는 반드시 DB가 있고, DB가 있는 곳에 DBA가 존재한다는 공식이 성립된다. 그러나 대부분의 회사 실정 속에서는 DBA가 반드시 있는 것은 아니다.특히 이 지면을 빌어서 하고자 하는 이야기는 DBA가 두 명 이상 있는 조직을 두고 하는 것이 아니다. DBA가 한명 또는 다른 업무를 맡고 있으면서 실행하는, 중소기업의 경우를 얘기하고자 한다.또한 딱딱한 DBA의 중요성만을 말하고자 하는 것이 아니라, DBA의 현실 속에서 가장 중요한 후배 양성 및 배려를 얘기하고자 한다(물론, 그 범주는 본인이 몸담고 있는 DB분야로 국한 한다).규모가 크지 않은 대부분의 회사들의 경우, DBA 조직은 고사하고 담당자 한명 키우기가 어려운 것이 현실이다. DBA가 필요한 소규모 회사는 오라클 교육센터를 갓 마친 사회 초년생을 뽑아 DBA를 맡기기도 하고 있다.그러나 한 철 장사하는 것이 아니면서, 그 신입사원이 다년을 재직한다고 뛰어난 DBA로 성장할거라는 기대엔 아주 부정적이다.물론 ‘나는 그 길을 홀로 걸어왔지만, 훌륭한 DBA로 성장했다’라고 말하는 현직의 DBA 선배도 있을 거다. 그러나 절대적 확률과 상대적 확률은 결과에 따라 무의미해지니까, 그 분들은 이 이야기에서 논외로 두겠다.특히 1년, 2년 정도의 아카데미에서 배운 지식으로 나홀로 작은 DB를 운영하며 자수성가 한 경우엔 우물 안 개구리로 끝나거나, 업계에서 사(死) 할 것이 뻔한 결론이다.DBA의 경우, 다양한 시스템의 수많은 장애상황을 겪어야만 더욱 훌륭하게 성장할 수 있다.물론 작은 DB 운영을 비하하는 것은 아니지만, 이 경우만이 아니더라도 우물 안 개구리가 우물을 벗어나자마자 뱀에게 잡아먹히기 때문에 우물을 벗어나면 안 된다는 말이다.다시 본 이야기로 돌아 와서!비용 때문에 DBA를 따로 두지 못하는 것은 이해하지만, 신입 혹은 사회 초년생에게 여러 보직을 떠 넘겨주면서 DBA를 맡긴다는 것은 상당히 위험하고, 불합리하다는 것이다.특히나 개인적으로는, 선배가 신입사원의 열정을 담보로 ‘나 홀로 DBA’가 방치하는 경우가 없었으면 하는 것이 바람이다.혹자는 선배와 후배의 정의를 ‘먼저 배가 나온 사람이 선배고, 나중에 배가 나온 사람이 후배다’라고 말한다.맞는 얘기다. 하지만 내가 배가 나왔으니, 후배도 배가 나오게끔 만들어 줘야 하는 것이 선배의 의무가 아닌가 싶다.내 배가 선배를 따라 나왔으니, 후배도 나를 따라 배가 나와야 한다. 엔지니어의 지향점은 ‘혼자서도 잘해요’이지만, ‘혼자서도 잘해요’일 뿐! ‘혼자만 잘해요’는 아니다.똑똑한 후배들에게 자만심을 경계하게끔 항상 해주는 얘기가 있다.“나만 잘하는 건 3류고, 나만큼 하는 후배가 있는 건 2류고, 나보다 잘하는 후배가 있게끔 하면 그게 정말 1류다!”결국 “나 때는 안 그랬는데 요즘 애들은 왜 이러냐∼”라고 말하는 3류 선배는 자신을 폄하하고 있는 것이다. 선배는 후배를 사람으로써 이끌고, 키우는 것. 그를 잘 쓰고 배려한다는 것에는 정도(定道)가 없으나, 어느 정도(程度)라는 기준은 있는 것이다.물론, 사수가 없이 나홀로 DBA를 두어야 하는 회사도 상당수가 될 것이다. 그런 경우의 정답은 ‘약은 약사에게’라는 광고 카피처럼 그냥 DB 전문회사에 맡기자.특히 필자가 후배를 키워가며, 재직하고 있는 비아이씨엔에스가 그 DB전문회사라는 것을 자신 있게 말하겠다.(우리도 원격지원 솔루션은 원격지원 솔루션 전문업체에게 비용을 지불하고 사용하고 있다)그러나 과거나 지금이나 IT의 화두는 ‘비용’이다.과거 우리 어머니들이 장보시면서 늘 하시던 말씀, ‘싸고 좋은 거’. 어딘가에는 존재하겠지만 IT시장에는 존재하지 않는다는 비용의 법칙. ‘싸고 좋은 거’.클라이언트는 단지 중요도에 맞춰서, 예산에 맞춰서 효율적인 서비스레벨을 결정하면 그 뿐 일듯 싶다.또한 어느 각도부터가 ‘맛세이’인지 정의되지 않는 것처럼, 적당한 비용과 최대의 서비스의 수준은 사람과 사람이 만나 ‘절충선’이라는 것을 찾으면 되는 것이다.그렇다면, 적당한 비용과 최대의 서비스가 만나는 정점에 대한 이해를 돕기 위해 ‘맛세이’처럼 딱 떨어지는, 비아이씨엔에스의 원격DB 운영 상품을 소개하겠다.DB 기술지원에는 많은 경우의 수가 있으나, 대부분 DBA가 있을 때 받을 수 있는 서비스들이다.특히나 파견DBA, DB기술지원, DB컨설팅 등은 사람이 투입되어 비용이 만만치 않다.그래서 소개하고자 하는 서비스는 ‘원격DB운영’- A to Z 원격운영- 최초 구축 시 Best Practice 에 기반한 Consulting 지원- 24*365 운영전담, 숙련된 DBA그룹에 의한 관리, 비용절감- 월1회 Database Health Check Report- 기타 협의된 사항에 대한 Service운영상에 일어날 수 있는 모든 경우에 대한 사전 조치 및 긴급응대가 가능하니, DB에 대해서는 신경 쓰지 않아도 되는 것이 장점이라 할 수 있겠다.개인적으로 오랜 기간 동안 파견근무를 하다 보면, 내가 어느 회사 소속인지 의구심이 들면서 회사에 대한 소속감이 떨어진 적도 있다. 또한 엔지니어가 나이가 많아질수록 고객이 꺼려하는 것도 인정하기 싫지만 사실이다.하지만 대내외적으로 칭찬하기 부끄럽지 않은 비아이씨엔에스 원격DB 운영서비스를 통해서, 60세가 넘도록 DBA일을 할 수 있지 않을까 하는 즐거운 상상이 가능해졌다.물론 내가 지금 몸담고 있는 이 회사에서, 나보다 더 배가 나온 후배들과, 배 나올 후배들을 만나가면서 말이다.지금도 나의 미래가 되어주고 있는 배 나온 선배께 무한한 감사를 드리며, DBA에 대한 자세한 정보보다 사람 이야기만 가득했던 이 글을 마무리 하고자 한다.■ 문의 : 비아이씨엔에스, www.bicns.com, 02-422-4242