우여곡절 많고도 뜻깊던 2017년 12월을 맞이하며.. 일년을 돌아보다.
짧게 딱 일년 365일만 돌아보았다.
등골이 오싹하다.;;
그렇지만 이것 하나만은 입증하였다.
장난감으로 치부하던 오픈소스 데이터베이스조차도, "사람이 중심"이면 얼마든지 서비스 그 이상의 신뢰를 얻을 수 있다는 점!!
게다가 지금까지도 "성능 흐트러짐없이 장애 없는 생활을 영위"하고 있다는 비밀같은 비밀같지 않은 비밀아닌 개이득 -_-;;
12월 첫주 월요일.. 지난 12개월.. 지난 24개월.. 그리고.. 돌고돌아 오늘.. 주저리주저리 나의 브런치에서 떠들고 싶다.
이렇게 하면 되나요?
여기선 됐는데, 저기서는 어떻게 했어요?
이런 류의 질문을 많이 받았던 것 같다. 처음에는 지식 공유의 차원에서 적극적으로 최대한 얘기를 나누고자 노력했었다. 그런데.. 이런 질문들 속에서 한가지 의문이 생겨났다.
질문 속에 서비스는 어디에 있나요?
여기서 말하는 서비스란.. 무어라고 표현을 할까.. 소셜서비스, 소셜커머스, 포털서비스, 인트라넷 서비스 등등 세상에 서비스는 가득하다. 하지만, 나에게 있어서 서비스란, (돈버는)서비스 고유의 가치를 비롯해서, 각각이 가지는 혹은 직면한 해결해야할 난관에 대한 것이다.
나는 지금 은행 속에 있다. 은행의 가치를 우선하여, 선택하고 해결하고, 또다시 선택하고 해결하고.. 이렇게 365일을 늘 바꾸고 개선하고 실패하고 다시 바꾸고 개선하고 실패하기를 반복해서 만들어진 결과가 지금 이것이다. 나의 서비스는 안정성 최우선 원칙에 따라, 굉장히 최대한 보수적으로 하고싶은 것 꾹꾹 참아가면서 적용을 하였고.. 잠재적인 리스크를 최대한 제거하기 위해, 이상 현상 발생 전에 감지하기 위한 체크 로직들을 꽤나 많이 마련해놓았다. 이 모든 것들은 서비스의 극강의 "안정성" 달성을 위한 것들이다.
사실 이 속에 휘황찬란한 신기술은 사실 없다고 봐도 무방하다. 오히려 겪고나면 의외로 실망할만한 것들일 수도 있다. 어떠한 기술스택으로 만들었냐고 묻는다면.. 내 얘기는 의외로 간단하다. "쉘/펄/자바" 쿨럭.. -_-;;
그렇지만.. 우리는 우리에게 당면한 문제를 "정의"하였고, 서비스의 "요구사항"에 맞게 문제를 재정의를 하였으며.. 최종적으로 우리의 서비스에 가장 적합한 "솔루션"을 찾아냈을 뿐이다. 그 어떤 미사구도 없다. 중심에는 서비스만 있을 뿐이었고.. 최종 병기 목표 서비스를 위해서라면, 오픈소스든 상용솔루션이든 필요에 따라 다양하게 붙여나갔다. 진짜 그뿐이다.
하나. 데이터복제를 우리 서비스에 맞게 재정의함으로써.. 서비스 일관성을 해치지 않는 유실없는 비동기 데이터 복제를 일궈낼 수 있었다.
둘. 요구사항을 재정의 함으로써, 어떠한 에이전트 없이도, 보안력 가득한 디비 접근 툴을 "사용자 모르게" 백그라운드에서 보장할 수 있는 방안을 제시할 수 있었다.
셋. 패스워드에 대한 데이터를 재정의함으로써, 우리가 원하는 유연한 형태의 솔루션을 내재화 구현할 수 있었다. (물론 일단 내가 살아야겠다는 마음이 강했지만..)
넷. 우리는 DBA의 역할을 재정의하고, 꾸준히 슈퍼 개발 부서와 협업을 하고 신뢰를 얻음으로써, 더욱 견고한 내일의 서비스를 기대할 수 있는 발판을 마련하였다.
기타등등. 로그수집, 데이터이관, 파티셔닝, 스키마체크, MHA, 상태수집.. 우리 서비스에 가장 필요한 요구사항을 재정의해서, 필요하면 빠르게 구현해서 서비스 최적에 맞추었다. (물론 이건 나의 귀차니즘이 굉장히 한몫 했다.)
그런데.. 이런 과정없이, 우리의 시행착오를 겪으며 선택했던 결과로 만들어진 이 "솔루션"이 마치 모든 상황에서의 해결책이 되는 것처럼 보여지는 듯 해서 우선 아쉬움이 앞선다.
자.. 누군가가 페이스북 소스를 그대로 포크떠서 한국에 사업을 한다고 치자. 과연 이 서비스가 페이스북처럼 글로벌한 몬스터 소셜 커뮤니티가 될 수 있을까? 뭣이 중헌디~?
얼마든지 내 지식은 오픈할 수 있다.
어차피 내가 가진 카드는 그다지 엄청난 것도 아니고, 나눈다고 닳는 것도 아니고, 얼마든지 공유를 해볼 수 있고, 그럴 것이기도 하다. 그러나.. 내가 얘기하는 이러한 사례들이 마치 "정답인 것처럼 굳어지는 상황"만큼은 손사례를 치고 싶다.
요새, 크건 작건 공유하는 자리에서는 늘 이 얘기를 해보고는 한다. (안했다면.. 긴장하고 떨어서 잊었다고 봐도..쿨럭)
내가 공유한 내용도 절대로 믿지 말라고. 참고만 하라고. 직접 해보라고. 틀린 내용도 많다고.. 그리고 지금 이 구성은 과거 내 상황에 맞게 고민해서 선택을 했던 결과일 뿐이지, 정답은 아니라고. 지금도 하루하루 더욱 좋은 시스템 구성을 위해 고민하고 있노라고..
"데이터야 놀자"에서 발표 자료를 덧붙이며.. 이야기를 마무리해본다. 내 이야기 전부이다.
https://www.slideshare.net/dongchansung/v1-83328271