brunch

You can make anything
by writing

C.S.Lewis

by 신현묵 Jan 05. 2017

데이터 중심의 소프트웨어 개발, #7

MSA는 이제 필수. 앞으로의 글 내용...

MSA로 디자인되었다면, 당연하게 소규모 팀의 구성으로 분리된 구조로 만들어지며, 의사소통 비용을 최소화하게 된다. 슬프지만... 덩치 큰 조직과 개발 구조, 복잡한 의사소통을 가진 조직이라면 애자일이나 MSA와 같은 소프트웨어 아키텍처를 가진다는 것은 사실상 사기에 가깝다.


현재 클라우드와 서버 스크립트, AWS의 추진사항들을 살펴보면, 람다와 같은 형태가 미래의 서버 프로그래밍의 미래로 보이게 된다.


분명한 것은 '자동화'가 중심이 되는 배포와 CI 체계를 가져야 하고,

MSA기반의 아키텍처와 지원이 가능한 조직구조를 가지고 있어야 한다.

의사소통을 최소화할 수 있고, 빈번한 배포에도 무리 없이 동작하는 형태가 되어야 한다.


분명한 것은 MSA는 혁신과 속도를 동시에 얻을 수 있다.


매우 높은 관리 오버헤드를 줄이는 도구들이 선택되며, 실시간으로 협업하는 도구들을 사용하게 된다. 또한, MSA가 가지는 거대한 장점만큼 복잡해진 서비스의 운영지원을 위한 성능 관련 이슈와 장애와 관련된 부분에 대해서 대응을 해야 한다.


MSA는 엄청난 기술적 부채를 발생시킨다. 각각의 팀들이 정해져 있는 SA기반에서 동작한다고 정의를 한다고 하여도, 필요한 기술적 요소에 따라서 빠르게 새로운 프레임웍들을 선택하고 운용하게 된다.


궁극적으로는 서버가 없고, 장애의 상황에 대해서도 자동으로 대응해주는 서비스들이 등장하게 되는 것은 필연적이라고 생각한다.


사실상 서버가 없다면, 장애에 대한 고통도 없을 테니... 


필자가 와탭 랩스에게 기대하는 것도 이러한 것들이다. 분명한 것은 장애도 패턴이고, 정보이고, 분석 가능한 요소이다. 대응하는 방법과 대응 순서 또한 규칙과 순서가 있다. 의료정보의 환경에서 인공지능 의사가 탄생하는 것은 이제 특정한 프로토콜에 의하여 ML이 가능한 시대가 되었다.


아마도 현시점에서 10년 후에는 '서버 장애 에이전트 ML'서비스가 서버의 장애를 탐지하고, 대응책을 알려주며, 서버를 자유롭게 최소한의 정해진 경비로 가동하는 서비스가 구동될 것이다. 아마도, 궁극적으로는 서버라는 존재 자체를 무의미하게 만들 수 있다고 생각한다.


생각해보자. 


10년 전으로 돌아가서 생각해본다면 엄청난 변화를 느낄 수 있다. 과거에는 웹서비스를 열기 위해서 전용선을 끌어오고, 서버를 세팅하고, OS와 애플리케이션을 가동하기 위한 인프라 작업들에도 엄청난 투자가 있었다.

매우 당연하게 서버들만이 입주하는 IDC가 생겼고, 보안 및 설치 운용과 관련된 서비스들도 동시에 만들어졌다.


10년 전의 과거는 서버 세팅과 서버를 늘리는 작업만 하더라도 매우 고통스러운 작업이었다. 고객이 급증한다고 해도 빠르게 IDC에 있는 서버를 늘리기도 힘들었다. 


현재의 클라우드 환경에서는 버튼 클릭 몇 번과 세팅으로 '가용성'을 그대로 확보해준다. 복잡한 L2, L4를 운용하는 것이 아니라, 로드 발 랜서에 등록하는 절차 하나만으로 이미 '고급 시스템 엔지니어'의 역할을 대신하고 있다.


마찬가지로, 복잡한 MSA환경에서 서비스의 장애와 트랜잭션의 처리도 동시에 대응할 수 있게 해주는 서비스들도 더 쉽고, 편리해지며, 궁극적으로는 자동화될 것을 예측한다. 이는 와탭 랩스의 비전이기도 하며, 내가 와탭랩스에 합류한 이유이기도 하다.


분명한 것은, 과거와 똑같은 것은 모바일 기반의 웹 서비스가 아니라면, 정해져 있는 하드웨어나 VM의 리소스만 사용할 뿐이기 때문에, 클라우드로 변화한다고 하더라도, 과거의 IDC와 별반 차이를 느끼지 못하고, MSA나 DevOps의 관전에 대해서도 별로 요구사항을 느끼지 못할 것이다.


하지만.. 분명한 것은, 급변하는 사용자의 증가와 변화폭, 서비스의 빠른 대응을 위해서 MSA는 이제 모바일 서비스에서는 필요충분조건 중의 가장 우선순위가 높은 형태가 될 수밖에 없다.


이제.. 데이터 중심의 소프트웨어 개발에 대한 기본적인 개념에 대한 이야기를 마무리 지었다.


앞으로는 그렇다면, 어떻게 MSA구조에서 향후 금광이 될 가능성이 높은 데이터에 대한 고려를 하면서, 비즈니스가 변화되고, 요구사항이 변화되는 과정들. 비즈니스와 고객, 고객의 움직임과 정보들이 어떻게 '이익'으로 전환되는지에 대해서 하나씩 알아갈 것이다.


후원 : http://www.whatap.io 





매거진의 이전글 데이터 중심의 소프트웨어 개발, #6
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari