포스트

우아한 모노리스 (1월 우아한 테크 세미나) 후기

우아한 모노리스 (1월 우아한 테크 세미나) 후기

우아한 모노리스 (1월 우아한 테크 세미나) 후기

어제 우아한 테크 세미나를 다녀왔다.

image

Microservice Architecture(MSA)라고 하면 유행하고 있는 아키텍처라고 알고 있다. 넷플릭스, 쿠팡, 배민에서 대부분 서비스가 MSA로 개발/운영하는 것으로 알고 있고, 심지어 규모가 적은 스타트업에서도 MSA를 도입한 경우도 보았다.

그런데 MSA에서 Monolithic Architecture(모노리스)로 전환하신 이유가 궁금하여 세미나를 신청 하였다.

 

나는 MSA를 다뤄본 경험이 없을 뿐더러 대규모 모노리스를 다뤄본 경험도 없다. 그래서 모노리스가 가지는 문제점에 대해서도 잘 모르고 있었다. 그래서 세미나가 시작하기 전에 MSA와 모노리스에 대한 장단점을 학습해갔다.

쿠팡 블로그에서 기존에 모노리스가 가지는 단점들과 MSA 장점들을 이해할 수 있었다.

 


 

세미나를 들으며 빈을 전역이 아닌 모듈 별로 등록할 수 있다는 것과 gradle로 멀티 프로젝트 관리하는 것, 직소 프로젝트라는 것을 처음 들어봤다. DDD, 클린 아키텍처의 내용도 많이 나와서 경험과 능력이 부족한 것에 대한 아쉬움이 있었다.

 

그래도 이번 세미나로 소프트웨어 설계와 개발자의 정체성을 함께 생각해 보는 시간이었다.

우리는 기업의 서비스를 개발하는 사람이고, 현시대에는 미래 예측이 불가능하기에 언제든지 요구사항 변화가 일어날 수 있음. 따라서 기업의 경쟁력을 가지기 위해 소프트웨어는 변경을 최대한 빨리 수용할 수 있어야 함. - 린스타트업

Microservice와 Monolithic은 아키텍쳐 스타일이다. 소프트웨어 복잡성을 근본적으로 해결해주는 것은 아님.

보다 근본적인 해결책은 응집과 결합을 다스리는 것! (높은 응집도, 낮은 결합도)

응집과 결합을 다스리지 못하면 MSA로도 스파게티를 만들 수 있다.

응집과 결합을 다스리기 어려운 이유는 기간 내에 기능을 출시해야 하기 때문. 마감 시간이 다가올수록 좋은 설계보다는 최대한 빨리 동작 가능한 것을 생각하게 됨 => 기술부채

변경은 언제든지 비용(시간, 돈)이 발생한다.
좋은 구조는 변경을 적은 비용으로 수용하는 것

결국 개발자 능력인 것 같다.

상품/주문/배송 서비스를 예시로 모듈화하기, MSA로 전환하는 과정을 Step 별로 보여주셨는데, 다음에 시간을 내서 살펴보려 한다.

 


 

설 연휴 전날이라 운 좋게 들을 수 있었던 것 같다.

세미나를 들으며 노션에 기록해두었는데, 세미나 영상이 공개되면 다시 보면서 정리해야겠다.

우테코 교육생, 코치분들, 몇몇 유명 개발자분들을 가까이서 볼 수도 있었는데, 실제로는 처음 봬서 넋 놓고 쳐다보기만 했다.

어제 버스를 타고 부산으로 내려오는 동안에도 가슴이 두근거렸었는데 오늘 아침에 그 감흥이 많이 사그라들었다. 그래서 더 늦기 전에 글로 남기고 싶었다.

2월에도 세미나 기회가 생기면 좋겠다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.