[와탭 피플] 인터뷰 시리즈의 네번째는 와탭의 든든한 CTO이신 성조님입니다. SaaS형 모니터링 솔루션이 왜 기업에 필요한지, 성조님이 생각하시는 향후의 와탭 서비스의 모습은 어떠한지 성조님과의 인터뷰를 통해 알아보는 시간이었습니다. 또한 앞으로의 개발자 커리어에 고민이 있으신 분들이라면 필독해보세요!
CTO는 관리형 CTO가 있고, 기술 리딩형 CTO가 있는 것 같은데요. 저는 관리형보다는 같이 개발하고 각 개발자들이 각자 하기 애매한 부분, R&D나 먼저 개발해야하는 부분 등 이런 부분들에 대해 같이 개발하는 형태의 업무를 많이 하고 있어요.
와탭은 합류한지 이제 한 4년 반 정도 된 것 같아요. 합류하기 전에도 1년 정도 모니터링 솔루션을 이미 하고 있었어요. 서버모니터링을 SaaS형 서비스로 하고 있었구요, 그 것 때문에 합류를 했죠. SaaS를 해야겠다고 생각해서 그렇게 합류를 하게 되었습니다. 회사 조건도 중요하지만 그런 것보다 SaaS를 하고 있다는게 제일 컸어요.
사실 저는 IT인프라가 앞으로 클라우드 기반으로 갈꺼다라고 생각을 했고요. 그것 때문에 이전 회사에서도 클라우드 플랫폼팀에 있었어요. 오픈소스와 클라우드가 앞으로 IT시장을 리딩해갈꺼다라고도 생각을 했고, 오픈소스와 클라우드에 관심을 가지고 있었는데 그 중 소프트웨어 측면에서 보면 과거에 설치형에서 서비스형으로, 서비스형 중심으로 가야된다라는 생각을 가지게 됐어요. 그러다보니 SaaS형을 해야된다고 그랬는데 이쪽 주제와는 맞는지는 모르겠지만 설치형의 경우 약간 개별 업무 단위로 관리 체계를 잡아가는 측면이 강한데 클라우드로 가면서 전체적인 큰 사이즈를 커버리지하는 형태로 가는게 강해졌구요, 그 큰 사이즈를 커버리지 하기 위해서는 당연히 소프트웨어들도 같이 중화해서 같이 서비스하는 형태로 제공되어야 한다고 생각을 했습니다. 그래서 SaaS형으로 가야된다고 생각을 하고 있습니다.
사실 모니터링은 원래 개발을 하게되면 기본적으로 디버깅이나 모니터링은 당연히 하는거구요. 다만, 여기서 그걸 구분할 필요는 있을 것 같아요. 개발자들이 개발을 하면서 임시적으로 간단히 모니터링을 하는 것인지, IT 시스템을 운영하기 위한 것인지. DevOps라고 해서 개발자가 운영하기도 하고 전문 운영자가 과거에는 운영을 하기도 했는데 어쨌든 개발자가 운영을 하든 운영자가 운영을 하든 전문적으로 운영을 할려고 할 때 필요한 모니터링 도구인지. 그래서 어떠한 형태로든 운영을 하려면 모니터링은 필수라고 생각을 해요. 소프트웨어는 물리적인 하드웨어와 같은 건축이나 이런 것처럼 눈에 보이는 게 아니기 때문에 그걸 볼 수 있게 하는 것이 모니터링이라고 생각했어요. 그래서 모니터링은 반드시 필요하다.
이 질문은 모니터링이라는 툴이 필요한 것 같은데. 모니터링이라는 행위는 무조건 필요한 게 맞고요. 그러면 기업에서 모니터링 서비스를 왜 필요하냐, 이것도 약간 차이가 있을 수 있어요. 기업에서 어떤 IT시스템을 운영한다고 하면, 모니터링 서비스 형태가 필요한 이유가 뭐냐면 갈수록 소프트웨어가 중요시 되고 복잡해지고 다양해지고 전문화되가고 있잖아요. 그래서 운영자가 모든 소프트웨어를 다 이해해서 다 쓸 수 는 없어요. 그렇기 때문에 그걸 잘 쓸 수 있도록 제공해주는 솔루션이 필요한데, 과거에는 그런 것들을 위해서 매뉴얼이 엄청나게 강조가 됐죠. 쉽게 잘 쓰여진 매뉴얼. 그래서 쓰기 쉽게 되어 있는 매뉴얼을 통해서 그걸 공부했죠. 근데 점점 더 복잡화되고 전문화되다보니 운영을 잘하려면 굉장히 많은 소프트웨어에 대한 경험들이 필요한거죠.
운영 소프트웨어들. 모니터링 뿐 만 아니라 보안, 기타 백업이나 다른 여러가지 기타 소프트웨어들에 대한 전문적인 지식이 있어야 운영을 잘할수가 있었던 거죠. 근데 이게 가짓수가 늘어나니까 DevOps라는 개념, 운영에 대한 전문적인 지식이 없고 개발만 하다가 운영으로 넘어가서 바로 운영을 해야하는 개발자, 운영 전문은 아닌 사람들이 운영을 해야하는 상황이 발생하게 되잖아요? 그런 경우, 어떤 소프트웨어 매뉴얼을 꼼꼼히 읽고 그에 대한 경험치를 가지고 운영을 한다는데 현실적으로는 어렵다는 거죠.
그래서 사용하는 사람들이, 운영자들이 아주 기초적인 지식만을 가지고도 잘 쓸 수 있도록, 사용을 하면서도 깊이있는 전문적인 활용은 뒤에서 서포트 해줄 수 있는 이런 식의 소프트웨어 서비스가 이제는 필요하다는 거죠.
모니터링이라함은 어떤 모니터링되는 대상에 대해 나의 수치화된 지표를 통해서 그걸 보는거거든요. 모니터링에서 기능을 만든다고 하면 모니터링 대상에 대한 이해가 첫번째로 제일 중요해요. 그거는 SaaS가 되었든 과거 설치형 패키지형이든. 모니터링을 한다함은 대상에 대한 이해는 가장 기본적으로 필요하고요. 다만 서비스형 모니터링에서 중요한 거는 과거에는 모니터링 대상에 대한 지표들을 그냥 디스플레이하는 거에서 멈췄다면 이제는 '이것들을 어떻게 쉽게 쓸 수 있게 할 것인가' 이런 부분들이 상대적으로 중요시하게 됐죠. 왜냐하면 담당자들이 다 써야하니까. 물론 전문적인 것도 어느정도 필요하지만 쉽게 쓸 수 있는게 중요했는데. 서비스형인 경우에는 이제 과거에서 하지 못했던 이 모니터링 대상으로부터 인사이트를 얻어내는 것. '내가 봐야하는 모니터링 대상들로부터 어떻게 얻어낼 것인가', '그것들을 어떻게 우리가 찾아갈 것인가' 이런 것들이 중요하다고 봐요.
제가 SaaS형을 하기전에는 패키지형 소프트웨어들을 개발했었는데 그때는 모니터링 대상에 대한 고민, 예를 들면 자바 애플리케이션이라고 한다면 100개나 혹은 500개 정도의 인스턴스들을 모니터링하는 체계들에 대해 고민을 했다면 지금의 모니터링을 하는 수준은 1000개, 10000개의 모니터링하는 대상을 어떻게 효과적으로 모니터링할 것인가 이런 식의 고민들이에요.
현재는 코로나때문에 많은 것들이 미뤄진 측면들이 좀 있는데 향후 올해나 내년, 길어나 내후년정도에는 5G, IoT가 본격적으로 시장에서 중심 화두가 될 것이라 생각하구요. 과거에는 사람이 데이터를 생산하던, 모바일을 통해 사람이 데이터를 생산하던 시대에서 이제는 '기계가 데이터를 생산하는 시대로 바뀔 것이다'라고 생각하고 있습니다. 그러면 과거의 데이터들은 엔터프라이즈의 데이터에 비해 미래엔 5G, IoT가 활성화되고, 기본이 되면 기존의 데이터보다 10배,20배가 아닌 100배, 1000배의 데이터들을 처리 해야할꺼고 그것들을 모니터링 하기 위한 관계체계가 필요할 것입니다. 그런 측면에서 현재 설치형 패키지로 커버리지하던 한계는 그런 상황이 오면 불가능해질꺼고 그때 우리 시스템을 통해서 만대 수준을 넘어 십만대 백만대, 백만개 이상의 모니터링 대상을 효과적으로 모니터링하고 관리할 수 있는 그런 시스템들을 실제로 만들어보고 경험해가는 것이 제가 해보고 싶은 일입니다.
SaaS라는 걸 할 때 사실은 제가 굉장히 두려웠어요. 서비스형으로 만들었을 때 과연 이게 돌아갈까, 사람들이 접속하고 모니터링 사용을 할때 돌아갈 것인가? 다운되지는 않을까? 잘 돌아갈까? 이런 고민들과 함께 두려움이 처음엔 정말 컸어요. 처음 시스템을 1년동안 만들고 런칭하고, 그다음에 베타버전을 시중에 내놓고도 그런 두려움때문에 광고를 많이 못했어요. 막 다운될 거 같은거예요. 확신이 없어서. 처음해보는거고.
약 1년쯤, 어느정도 지났을 때 엔터프라이즈 고객들이 들어오기 시작하고, 인스턴스가 100개 이상의 고객들이 처음 들어오기 시작했을 때 '아-이제 우리 서비스가 도는구나.' 'SaaS가 되는구나' 이런 확신이 설 때 진짜 뿌듯했어요.
모니터링은 시스템 모니터링, 소프트웨어형 모니터링, IT시스템에 대한 모니터링 크게 3가지 정도로 구분을 할 수가 있어요. 모니터링 대상으로부터 데이터를 추출하는, 우리는 그걸 에이전트라고 하는데 어쨌든 추출하는 영역이 있고요. 그다음 영역이 그것들을 적재하는 프로세싱, 적재하고 처리하는 서버영역이라고 하고, 마지막이 그걸 디스플레이하는 영역이 있어요. 화면으로 보여주는 총 세가지 영역이 있는데. 그 세가지 영역중에 첫번째 에이전트 영역에서는 이제 모니터링 대상에 대한 이해가 중요해요. 그래서 애플리케이션이라면 애플리케이션에 대한 이해가 중요하고 서버라면 서버에 대한 이해가 필요하고. 뭐 클라우드다 하면 클라우드, 네트워크다 하면 네트워크. 그거는 각자의 IT 경험치를 어쨌든 최대한 축적해야만 의미있는 개발이 가능할꺼구요.
두번째가 서버인데 서버는 보통 데이터를 받아서 저장하는 것들, 프로세싱하는 영역이기 때문에 크게 보면 제일 중요한 기술이 네트워크 프로그램 기술이에요. 정말 해보면 해볼수록 어려운게 TCP 프로그램이예요. TCP 네트워크 프로그램인데, 처음에 인터넷에서 샘플들 가지고 프로그래밍할 땐 쉬운데 이걸 운영하면 할수록 장애가 나요. 장애가 다 TCP프로그램쪽에서 나기 때문에 네트워크 프로그램이 제일 중요하고요. 그 다음에 중요한게 데이터를 적재해야하기 때문에 저장에 대한, 저장하는 방식은 여러가지가 있어요. 파일로 저장할수도 있고, SQL?을(19:22초) 쓸수도 있고, 뭐 다른 매체들을 사용할수도 있고. 이런 저장에 대한 전체적인 이해. 그중에서도 가장 중요한 개념이 io에 대한 이해. 디스크에 대한 이해. 이 두가지가 서버에선 제일 중요해요.
그리고 마지막 화면으로 넘어가면 화면은 보여주는거기 때문에 제일 중요한게 숫자를 어떻게 보여줄 것인가하는 건데. 그래서 중요한게 차트. 비쥬얼라이제이션이고. 그 다음 중요한 것이 어쨌든 사용자들이 몇 개의 소수의 화면들을 집중적으로 액세스하기 때문에 UX/UI를 어떻게 처리할꺼냐 많은 대상, 모니터링 대상이라는게 굉장히 숫자가 많을때도 있고 적을 때도 있고 여러가지 케이스들을, 이런 케이스들을 어떻게 디스플레이할꺼냐 이런 것들. 제일 중요한게 차트나 UX/UI 이런것들이 중요하죠.
도전과 비전, 도전의식을 가지고 긍정적이고 진취적인 개발자, 전 잘 모르겠구요. 저는 개발을 글쓰는거에만 비유를 해요. 글쓰는 사람들을 보면 시를 쓰는 사람, 소설을 쓰는 사람, 장편 소설을 쓰는 사람. 신문기자도 글을 쓰잖아요. 잡지 기자도 글을 쓰고. 또 대필작가도 있고. 소프트웨어도 비슷한 것 같아요. 남의 요청을 받아서 프로그램을 짜는 사람도 있고. 남의 오더를 받아서 스텝바이스텝으로 짜는 사람도 있고. 이런거 보면 내가 소설을 써야 하는, 나 혼자서 장편소설을 써야하는 경우도 있고. 아니면 티밍을 해서 써야하는데.
우리 와탭은 티밍을 해서 대하 드라마를 쓰고 있는, 그런 느낌이 좀 있어요. 스토리를 알아야 하고. 스토리를 생각해야 되고. 디테일한 것도 굉장히 중요하죠. 드라마에서 보면 말 한마디, 배우의 말 한마디 때문에 뜨는 드라마들도 있잖아요. 똑같아요. 우리도 어떤 특정 기능하나 때문에 뜨기도 하고요, 전체 구성이 짜임새있어서 거의 굉장히 비슷해요. 그렇게 생각하면. 어떤걸 추구하느냐인데. 전체적으로 보면 창조적인게 굉장히 중요하죠. 그러면서도 드라마 작가들이 혼자 쓰지는 않는것처럼. 티밍도 중요하구요. 그런 생각을 가지고 약간 창조적인 일을 하면서도 팀으로 일하는. 와탭은 그런 사람들이 같이 일한다고 생각하면 되구요. 창조적인 건 의외로 외로워요. 혼자서 태백산맥을 쓰고 있다고 생각해보세요. 10년동안 태백산맥쓰고 있다고 생각하면 얼마나 외롭겠어요. 하지만 우린 그렇지는 않거든요. '도깨비' 같은 그런 드라마를 쓰는 작가들, 와탭은 그런 장점이 있어요.
많은 사람들이 큰 회사에 가서 일을 하고 싶어해요. 그리고 현재 시장에서 소프트웨어 개발자를 많이 찾아요. 특히 B2C 서비스에서. 물론 거기에 가면 수백명들이 개발하고 있고. 만약 그런 조직에 가서 취업을 한다면 컴포넌트 하나가지고 열심히 고민하고, 또 아웅다웅할꺼예요. 아니면 화면 하나, 모바일 하나가지고 엄청나게 고민을 하고. 막 이 버튼의 위치가 오른쪽인지, 왼쪽에 있어야하는지 등등 이런거가지고 엄청 얘기를 할꺼예요. 이런 부분들이 장점일수도 있지만 큰 거시적인 시각에서 본다면 정말 한 곳의 부품처럼 내가 매몰되어 있을 수 있어요. 하지만 우리 와탭 소프트웨어 장점은 이거예요. 아까 얘기한 것처럼 드라마쓰는 정도 수준의 복잡도를 가진, 결코 작지 않으면서도 그렇다고 너무 한 곳에 매몰되지 않은. 적절하게 내가 큰 스토리도 봐야하고, 드라마로 치면 오늘의 장면들, 각 화면들에 대한 유기적인 것들도 고민해야되는.
그래서 크게 모니터링에 장기적인 비전을 가지고 있지 않은 분들도 혹은 모니터링에 비전이 없어 하시는 분들도 소프트웨어라는 시장에서, 모니터링이라는 어떤 분야에 몇 년정도 경험을 가져가보는 것도 도움이 된다고 봐요. 분야의 호불호를 떠나서. 개발자로서는 거쳐갈만한 분야다. 라고 말해주고 싶어요. 만약 내가 화면에 비전을 가지고 있으면 화면쪽에 와서 한 번 차트를 고민하고, 서버쪽에서는 네트워크나 데이터 프로세싱을 고민해보고. 아니면 내가 특별한 랭귀지에 관심이 있어서 그 랭귀지에 대해서 예를 들면 'go'나 'ruby' 같은 다른 남들이 잘 쓰지 않는 랭귀지에 대해 비전을 가지고 있다면 그 랭귀지로 만들어진 소프트웨어에, 모니터링에 대한 측면을 고민을 한다면 그런 측면에서는 우리 와탭이라는 회사는 되게 매력적인 회사라고 생각합니다.