본문 바로가기
엑셈 기업문화

열정, 오랜 준비 그리고 다짐, 인터맥스

by EXEM 2008. 9. 19.




Episode 1.
InterMax의 산파 Larkin      

 

다음 차기 제품은 APM입니다.”


Larkin이 이 말을 하자 회의실에 있던 다른 사람들은 모두 얼이 빠진 듯 Larkin을 주시했다. 약간의 적막을 깬 것은 바로 Cacho였다.

우리는 지금까지 DB만 했었고 WAS는 모르는 분야인데 과연 우리가 할 수 있을까?”

이 말에 Larkin은 천천히 입을 뗐다.

저는 우리가 지금까지 했던 일을 DB가 아니라 성능으로 생각하고 있습니다. 우리가 MaxGauge를 했던 것은 Oracle에 대한 지식이 바탕이 되어 있다는 것은 저도 인정합니다. 그런데 Oracle의 지식이 지금처럼 단단한 상태에서 시작한 것은 아닙니다. 오히려 BizMax를 시작하면서 더 쌓였다고 생각합니다. Oracle의 지식은 모두 몸을 부딪혀 경험적으로 얻어낸 것이었지만 Java는 이미 많은 지식과 경험이 공개되어 있습니다. 또한 우리는 WAS connector라는 경험도 있지 않습니까?”


조리 있는 Larkin의 반문에 회의에 참석해 있던 영업대표중 한사람이 반론을 제기했다.


우리가 상대하고 있는 사람들은 모두 DBA입니다. 그런데 WAS WAS담당자 입니다. 게다가 이미 J이니 P같은 툴들이 시장을 선점하고 있는데 이것은 어떻게 하시려구요.?”


다소 공격적인 질문에 Larkin은 웃음을 지으며 답을 하기 시작했다.

우리가 APM을 시작하면 명백히 후발주자가 되는 셈입니다. 후발주자가 선발주자를 따라잡기 위해서는 제품 자체가 차별성이 있어야 하는 것은 상식아니겠습니까? 우리가 DB를 모니터링하면서 항상 아쉬웠던 부분은 DB성능이 좋아도 사용자가 느끼는 성능은 다를 수 있다는 것이었습니다. 그 이유는 바로 그 사이에 WAS같은 미들 웨어에서 성능이 떨어진 수 있기 때문입니다. 그래서 우리가 WAS Connector를 했던 것 아니겠습니까? 이걸 한 번 보시죠.”


Larkin
은 자신의 노트에서 인쇄된 A4지를 몇 장 꺼내 나누어 주기 시작했다. 그 종이에는 WAS, DB라고 쓰여진 동그라미와 이 사이를 오가는 화살표 몇 개가 정리되지 않은 상태로 그려져 있었다.

이건 제가 우리 APM을 구상한 것을 대충 그려본 것입니다. 쉽게 말해서 이것은 DB WAS를 한눈에 모니터링 하는 툴을 구현하고자 하는 것입니다.”


그말을 들은 Cacho가 관심을 가진듯 의자를 앞으로 끌어 앉으며 질문을 했다.


이게 전에 WAS Connector하고 차이가 뭐죠? 전에 WAS Connector때 그림과 비슷한데..”

“WAS Connector랑 비슷합니다.”


이 말을 마치고 잠시 뜸을 들이자 또 다른 회의 참석자가 질문공세를 이어갔다.

“WAS Connector는 제대로 제품화도 못했는데 비슷한 것을 또 가지고 나오셨다고요..?”

이러한 공세에도 아랑곳 하지 않고 Larkin은 입을 열었다.

“WAS Connector랑 데이터 전송은 비슷하지만 이것은 기존의 툴에 DB세션에 Transaction을 시작한 Jsp나 서블릿이름을 적어주는 방식이 아닌 WAS를 중심으로 한 모니터링 툴입니다. 보통 WAS DB의 구성을 볼 때 WAS가 다수이고 DB는 소수 입니다. 우리가 WAS Connector를 제품화 하지 못한 것은 이와 같은 환경적인 문제가 있었습니다. 하지만 이번 제품은 WAS를 기준으로 Transaction을 중심으로 하여 관련된 DB세션을 보여주는 방식입니다. 이와는 반대죠
..”

회의를 그저 지켜 보고 있던 나는 무언가 머리에 스치고 지나가는 것이 있었다. WAS Connector Larkin의 말처럼 기존의 MaxGauge Session 리스트에 이것이 WAS를 경유해서 시작한 Session이라면 Transaction의 이름을 알려주는 Plug-in같은 제품이었다
.

우리가 이것을 개발하게 된 이유는 크게 두가지 였다. 하나는 DB성능이 서비스 성능과 일치하지 않을 수 있다는 것이었고 다른 하나는 문제 SQL을 찾아 튜닝을 해 놓고도 이게 어느 Application의 어느 모듈, 또는 메서드 인지 알 수 있는 방법이 묘연했기 때문이었다.


우리는 이것을 성공을 하긴 했다. 그렇지만 한가지 문제가 있었는데 이 Transaction이름 하나를 알기 위해 모든 WAS에 데몬을 설치해야 했고 이 데몬을 기동하기 위해서는 WAS를 재기동해야 한다는 것이었다. 고객들에게 이 득과 실의 관계를 이해시키기가 쉽지 않았기 때문에 어쩔 수 없이 이 WAS Connector는 세상에 나오지도 못하게 된 것이었다.


그런데 Transaction이름 하나가 아니라 WAS 전체를 모니터링 하고 게다가 이들이 사용한 DB세션을 자세하게 보여준다면 얘기는 달라지는 것은 당연한 일이었다. 나는 그때부터 기대에 부풀기 시작했다.

 

그러나 회의는 시종일관 Larkin에 대한 공격 일색이었다. 새로운 것을 한다는 것에 대한 부담도 있지만 우리가 하지 않던 분야에 접근한다는 것이 한 우물만 파야한다는 우리의 철학과는 맞지 않는 것이 아닐까 하는 우려가 지배적이었기 때문이다.

 

회의를 마치고 다소 힘이 빠진듯 회의장을 나서는 Larkin에게 말을 걸었다.

자신있으신 거죠..?”


Larkin
은 갑자기 걸음을 멈추고 물끄러미 나를 쳐다보더니 이렇게 대답했다.


우리는 지금까지 DB만 한 것이 아니예요. 우리는 성능이라는 한 길을 걸었고 그 중 DB라는 가지를 택했던 것 뿐이예요. 이제 우리는 WAS라는 가지로 넘어가서 가던 길을 가려고 하는 것 뿐이예요. WAS DB를 연계하여 모니터링 하고 분석을 하는 것은 엔터프라이즈 성능에서 꼭 필요한 일입니다. 아마 우리가 하지 않더라도 시장의 니즈가 있는한 누군가 할 것이라 생각해요. 지금 나는 오히려 우리가 늦었다고 생각합니다.”


대답을 마치고 Larkin은 멍하니 서있는 나를 지나쳐 개발실로 돌아갔다.

 

며칠이 지나고 Cacho는 장고끝에 드디어 차세대 프로젝트로 APM시장에 진입하는 것을 사내에 공포했다. 이제 2년 동안의 기나긴 여정의 서막이 열리게 된 것이다.

Episode 2. InterMax, 문을 나서다.        

 

띠리리리~ 띠리리리~

! 뭐야 벌써 아침이야!!!’

애들이 깰세라 잠이 덜깬 얼굴로 핸드폰의 알람을 끄기 위해 침대에서 벌떡 일어섰다. 핸드폰을 집어 들고 버튼을 꾹 누르지 오늘 날짜가 나타났다.


“3
27


이 날짜를 보고 나는 잠시 멈칫 했다. 꿈속을 헤매다. 드디어 정신이 번쩍 든 것이다. 오늘은 바로 P사에 InterMax를 설치하러 가는 날이었다.


그동안 Cacho의 발표가 있고 1 6개월동안 개발팀에서는 조용히 APM의 핵심 모듈이 개발되었고 나머지 6개월 동안 툴의 형상을 갖추기 위해 분주히 움직이던 차에 영업대표 한 분의 적극적인 구애로 굴지의 통신회사인 P사에 툴을 설치하러 가기로 하였던 것이었다.

 

출근을 하자 메인 개발자인 Elyaho가 먼저 나와 있었다. 내가 InterMax의 지원을 맡기로 한 것이 1월 중순쯤이었고 P사로 가지고 갈 것이라는 것은 이미 그때 얘기가 되어 있어 꼬박 두 달을 Elyaho와 함께 일을 하고 있었던 셈이다.

준비 다 된거죠? 그럼 서버에 있는 최신 파일을 노트북에 넣고 가면 되는거죠?”


긴장한 나의 질문에 Elyaho는 신중한 표정으로 대답했다.


잠깐만요. 다시 한번 확인을 해볼께요


잠시 마우스가 딸깍 거리고 키보드 소리가 나더니 Elyaho가 말했다.


예 가져가면 됩니다. 그럼 나 담배 한대만..”


라이터와 담배를 챙겨 자리를 일어서는 Elyaho는 쳐다보지도 않고 나는 서버에서 파일을 가져와 노트북의 폴더에 옮겨 놓는 작업을 하였다.

 

Larkin과 나 그리고 Elyaho P사로 가기 위해 택시에 몸을 실었다. 긴장된 나는 노트북을 꼭 껴안고 있었고 Elyaho는 전화기를 만지작 거리며 가고 있었다. 이러한 분위기를 눈치 챘는지 Larkin이 한마디 하였다.


설치 후다닥 하고 빨리 집에 갑시다. 4시까지 설치하고 퇴근 하는걸로 알고 있어요. 오늘 같이 화창한 날은 어디 놀러 가야 되는데…”


뒷자리에 앉은 Elyaho와 나는 3시면 된다는 둥 준비를 많이 했다는 둥하며 한마디씩 거들었다.

 

P사에 도착하여 담당자에게 인사하고 Larkin의 브리핑이 이어졌다. 담당자는 생소한 툴의 설명을 열심히 듣기는 하였으나 도대체 WAS DB가 어떻게 되는지 그림이 그려지지 않는 듯 질문이 계속되었다.


근데 그 인트라뭐

“InteMax
입니다.”

InterMax. 근데 그 이름은 어떻게 지은거예요..?"

. 사내에서 공모를 하여 지은 이름입니다.”


내가 대답했다. 이때 설치가 가능해 졌다는 연락이 왔다.


그럼 저희가 설치를 한 후에 보시면 더 이해가 빠르실 겁니다.”


라고 말을하며 Larkin은 브리핑을 서둘러 마쳤다.

 

나는 받은 서버 계정 정보를 보고 서버에 접속하여 데몬을 전송하는 것으로 설치를 시작하였다. Elyaho는 혹시 설치하면서 실수는 하지 않는지를 계속해서 보고 있었고 나는 약간의 스릴을 느끼며 설치를 하였다. 30분쯤 지나 이윽고 설치가 완료되었다.

나는 담당자에게 가서 설치가 되었음을 알렸다.


과장님 WAS를 재기동 해주시면 됩니다.”

그래요? 혹시 모르니까 원복이 필요하면 빨리 조치를 해주세요

예 기존 설정 파일들은 백업을 다 해놓았습니다.”

예 그럼 잠시만 기다려 주세요


담당자는 어디엔가 전화를 하여 WAS재기동을 알린 다음 콘솔을 열어 재기동을 하였다.

 

서버 다운서버 초기화서버 시작 등 서버 로그를 확인하면서 콘솔에 라인이 한 줄 한 줄 올라가는 것이 쿵쾅거리는 심장소리와 오버랩되기 시작했다. 다행히 우리 데몬은 올라 왔고 클라이언트에 상태 그래프도 그려졌다.


성공인가?”


Larkin
이 물었다.


트랜잭션이 하나도 안나오네요


나는 대답했다.

담당자가 다소 굳어진 얼굴로 우리에게 외쳤다.


“2
번 서버로 들어오는 서비스가 다 튕긴다고 하네요. 빨리 원복해 주세요

 



숨이 멎는듯 하였다. 다시금 우리는 원복을 하고 다른 노트북앞에 앉아있는 Elyaho는 에러 로그를 확인해 보았다.

 

이사님 역시 Connection Pool인데요.”

지금 조치가 가능한가요?”

아뇨 여기는 Thin 클라이언트가 아니고 OCI를 사용하기 때문에 사내에서 같은 환경으로 맞춰 놓고 테스트를 좀 해야 할 것 같습니다.”


이렇게 Larkin Elyaho가 수군수군 얘기를 하고 있는데 담당자가 다가왔다.


어때요? 오늘 가능합니까?”

오늘은 조금 어려울 것 같습니다. 다시 연락드리고 찾아뵈야 할 것 같습니다.”

처음엔 다 그렇죠. 그렇게 하세요

 

P사를 다시 찾은 것은 불과 이틀이 지나서였다. Elyaho는 거의 밤을 새다 시피 하여 문제를 찾아내었고 우리는 다시 재설치 기회를 갖게 되었다. 이번에는 당당하게 성공하였다. 비록 개발 서버였지만 3일만에 새로운 툴의 설치를 성공시킨 것이다. 한달 반이 지나 P사의 운영서버에도 설치를 하였고 약간의 문제도 있었지만 OSS 시스템의 장애 및 성능관리 역할을 충실히 하며 가동되고 있다.


Episode 3. InterMax를 지원하는 우리의 자세

 

사용자 삽입 이미지

 

5월의 어느 오후, 뜨거운 봄날의 햇살이 아스팔트를 데우고 있을 무렵 두 사내가 빌딩을 나선다. 흰옷을 입고 약간 키가 큰 사내가 안경을 쓰고 곱상하게 생긴 다른 사내에게 말을 건다.


어디 가서 커피나 한잔 마시면서 얘기하지 뭐.”


내가 그렇게 얘기하자 Han은 다소 긴장한 얼굴로 고개를 끄덕거렸다.



Han
InterMax지원을 위해 기술지원팀에서 발탁한 첫번째 인물이었다. 2주 전쯤 APM에 합류하게 되면 얻는 것과 잃는 것에 대해 얘기를 했고 이에 대해 생각을 해보라고 한 터였다.

커피숖에 들어가 서로 커피를 고른 후 자리에 앉았다.


생각은 많이 해 봤어?”

예 한번 해보려구요.”

 “그래 잘 됐다.”

우리는 뜨거운 커피를 후~ 불어가며 앞으로 APM팀이 어떤 모습을 가지게 될 것인지에 대해 많은 얘기를 나누었다.

 

사용자 삽입 이미지

 



7
월의 어느날 회사 건물 옥상에서 Yman을 만났다.


무슨 고민이 그렇게 많아?”


나는 Yman에게 물었다.

아니 아직 잘 모르겠습니다. 저는 DB만 해봐서 그런지 이게 잘 하고 있는 건지 뭔지 판단이 서지 않아요.”

그래도 네 판단이 제일 중요한데 뭐. 나는 어떤 것을 하느냐 보다 어떻게 하느냐가 더 중요하다고 생각하거든. 네가 자신만 있다면 뭘 하든 문제 되지 않을 것 같은데.. 잘 생각해봐.”


이 날 이후에도 Yman은 결정을 내리기 힘들어했다. 그러나 여러 사람의 얘기를 듣고 나서 결국 나를 찾아왔다.

“APM해 보겠습니다.”

그래. 그 대신 너 각오해야해…”

이렇게 회의실에서 또 내가 생각하는 APM팀에 대한 얘기를 나누게 되었다.

 




팀이 만들어지고 처음 모였네. 그럼 우리 앞으로 어떻게 할 것에 대해 얘기해 보고 맥주나 한잔 하러 가자

”, “

나와 Han, Yman은 회사 회의실에 모여 얘기를 나누었다.

너희는 고객이 어떤 존재라고 생각해? 나는 고객은 고마운 존재라고 생각하고 있거든. 고객 덕분에 우리는 우리가 좋아하는 성능을 연구하고 실험하며 얘기할 수 있는거 아니겠어? 사실 우리는 툴을 파는 것처럼 보이지만 사실은 서비스를 판다고 생각해야 해. 우리가 상품이라는 얘기지. 툴을 통해 돈이 오고가지만 사실은 우리는 기술을 담아서 고객에 전달하는 것으로 그 값어치를 대신하는 거야.”


이런 얘기를 꺼내자 Han Yman은 도대체 무슨 얘기를 하려고 하나 하는 얼굴로 나를 쳐다 보았다.


그럼 우리가 우리의 고객을 감동시키려면 어떻게 해야하겠어. 툴이 해주는 것이 아니라 결국 우리가 감동을 실천해야 한다는 얘기가 되는거지. 감 동


이렇게 말을 하며 나는 칠판에 크게 감동이라고 썼다.


감동을 뒤집으면 동감이 된다. 동감은 같이 느끼는 거지. 나는 동감을 해야 감동이 된다고 생각해. 우리가 InterMax를 너무나 사랑하게 되면 고객도 InterMax를 사랑할 수 밖에 없고 우리가 고객의 성능을 좋게 하고픈 마음이 진심으로 넘쳐흐르면 고객도 반응할 수 밖에 없거든. 그렇지 않겠어?”


나는 이렇게 말을 하며 감동, 동감이라고 써 놓은 칠판을 계속 쿡쿡 찔러대었고 Han Yman은 뭔가 새로운 것을 듣는 것 같은 호기심 어린 표정으로 나를 지켜 보았다.


그런데 마음만 있다고 모든게 해결되는 것은 아니야. 이 마음을 전달해야지. “


하면서 이번에는 전달이라는 단어를 칠판에 썼다.


그런데 하다못해 떡이라도 전달하려면 무언가 접시 같은거라도 있어야겠지. 우리의 이 마음을 전달하려 해도 그릇이 필요해. 우리에게 이 그릇은 바로 기술인거야. 기술이라는 그릇에 성능 개선이라는 간절한 마음을 담아서 전달하는 것이 우리의 일이야. 그런데 마음은 큰데 기술이 딸리면 어떻게 되겠어? 그릇이 작으니 마음을 그만큼 전달 할 수 없는 노릇아니야. 안타까운 일이 되는 것이지. 반대로 기술은 출중하지만 고객의 성능을 위한다는 마음이 작으면 어떻게 되겠어? 사발에 송편하나 올려 놓고 갖다 주는 격이잖아. 욕먹어 욕. 그러니까 내가 하고자 하는 말은 고객을 감동 시키는 것이 우리의 일이고 그러기 위해서는 고객에게 항상 고마운 마음을 가지면서 실력을 키우자는 것이야.”


Han Yman
은 나의 이 지원에 대한 개똥 철학을 들으며 뭔가를 느낀듯 했다. 이후로 우리는 고객에 대한 태도와 우리가 갖추어야 할 지식, 그리고 해야할 일등에 대한 얘기로 몇 시간을 토론하였다.

 

우리는 이렇게 시작하여 오늘날까지 계속해서 우리 자신을 채찍질 해가며 때로는 고객과 함께 문제를 고민하고 때로는 회사 내에서 이것 저것을 테스트 하며 좋은 툴과 좋은 컨텐츠를 만들기 위해 노력하고 있고 앞으로도 항상 이러한 마음과 자세는 지속될 것이다.


댓글