본문 바로가기

소프트웨어,IT,컴퓨터공학 도서리뷰/마이크로서비스 아키텍처(MSA)

도메인 주도 설계로 시작하는 마이크로서비스 개발. [7/7] [위키북스] [한정현, 유해식, 최은정, 이주영 지음]

MSA를 향한 실용적이고도 따듯한 가이드

 

 


엔터프라이즈 애플리케이션 개발에 대한 패러다임의 전환

 

추천도 : 7/7

★★★★★★★

 

읽은 기간 📅 : 2021년 9월 14일 ~ 10월 29일

 

이 책을 추천하는 이들 👨‍👧

  • 도메인 주도 설계 & MSA에 관심이 있는 사람들(입문자)

 

난이도 🦈

중 [ DDD, 스프링 프로젝트에 대한 기초적인 이해가 필요하다. ]

 

관련된 책들 📚

  1. 도메인 주도 설계 철저 입문(위키북스)
  2. 스프링 부트 & 마이크로서비스 관련 책들

 

한 줄 평 ✍️

배움을 공유하고 협업하는 것을 즐거워하는 기버(Giver) 개발자들이 만든 책!


클라우드 & 도메인 주도 설계 & 마이크로서비스 아키텍처.

 

비즈니스 민첩성. 이 책의 1장에서 도입부에 나온 개념이다. 현재 유니콘 기업으로 순식간에 성장한 IT 기업들이 가진 특징. 익숙한 비즈니스에 데이터와 정보 기술을 결합해서 특화된 서비스를 제공하는 유니콘 기업들이 가진 역량(속도)이다.

 

빠르게 시도하고, 빠르게 피드백 받고, 빠르게 개선하여 소비자에게 고유의 도메인의 가치를 전달하는 것.

 

비즈니스 민첩성이 가진 힘이다. 

 

이 책을 보고 처음알았다.

 

2011년 아마존 쇼핑몰의 배포 속도가 11.6초라는 것을.

 

그리고 2019년에는 초당 1.5번 배포한다는 것을

 

아마존의 배포 속도는 다른 웹 서비스를 운영하는 모놀리식 애플리케이션과 비교하면 엄청나게 놀라운 속도이다.

 

이 정도 속도의 차이는 인간과 자동차의 속도 차이. 장기적인 민첩성도 다르다.

 

아마존은 어떻게 비즈니스 민첩성을 가질 수 있었을까.

 

어떻게 아마존 쇼핑몰은 1.5초마다 변경(혹은 변화)을 진행할 수 있었을까. 

 

비즈니스 민첩성이 혁신의 절대적인 척도라고 보기는 어렵지만,

 

평균적인 지표에서 배포의 속도는 탄력성과 유연성의 척도는 되어줄 수 있다고 생각한다.

[유지보수나 변경 적용까지 드는 비용의 측면(시간, 투입 인력) ] 

 

아마존 쇼핑몰의 배포속도가 가장 빠르다는 의미는

 

아마존 쇼핑몰이 전세계 쇼핑몰 중에서 가장 빠르게 변화하는 과정에 있다고 말할 수 있다.

 

그리고 그 속도만큼 유연하게 변경될 수 있다는 것을 의미한다.

 

그리고 다른 쇼핑몰은 아마존의 혁신적인 부분을 인지한다 한들 따라갈 수가 없다.

 

근본적인 설계 모델이 다르고 운영 정책이 다르다.

 

아마존은 쇼핑몰과는 별개로 거대한 클라우드 인프라 업체(AWS)를 소유하고 운영하고 있다.

 

AWS의 뿌리가 아마존 쇼핑몰이라서 아마존 쇼핑몰을 위한 서비스 대부분이 AWS에서 제공되고 있다.

[ 개인적으로 그래서 아마존 쇼핑몰은 순수 100% 클라우드 기반으로 작동하지 않을까 생각한다. ] 

 

서버 확장에 있어서 제한이 없다.

 

지역도 걱정할 필요가 없다.

 

보안도 AWS에서 자체적으로 관리해준다.

 

다양한 DB 벤더도 제공해준다.

 

컨테이너 기반의 오케스트레이션 서비스도 제공해준다.

 

AWS와 아마존 쇼핑몰의 관계처럼. 이제 대부분의 IT 기업이 자사의 클라우드를 두고

 

IT 서비스를 개발해야 한다는 것이 자명해지고 있다. 

 

그리고 이는 새로운 아키텍처와 인프라 기술의 시대가 열린다는 것을 의미한다.

 

그게 바로 마이크로서비스 아키텍처이다. 

 

MSA관련 개념책, 모놀리식에서 MSA로 넘어가는 마이그레이션 관련 책, 도메인 주도 설계를 베이스로 하는

마이크로 서비스 개발 책, 마이크로 서비스에 대한 소개 책 등 총 4권의 책을 읽게 되었다.

 

나는 이 책을 최고로 꼽고 싶다.

 

왜 MSA가 떠오르게 되었는지 기업의 관점에서 명확하게 짚어준다.

 

그리고 그리 중요하지 않은 MSA의 개념부분을 다 털어내고

핵심과 본질적인 부분만 깔끔하고 이해하기 쉽게 정리해주었다.

 

마지막으로는 JHipster를 기반으로 도서 관련 도메인에 대해서 MSA 프로젝트를 진행한다.

 

[ jhipster는 조금 낯선 툴이기는 하지만 전체적으로 MSA 프로젝트의 구조를 잡아주는 프레임워크이지 반드시 익혀야 할 도구는 아니다. ]

 

마지막으로 컨테이너 & 오케스트레이션을 기반으로 구글 클라우드 플랫폼에 올리는 과정까지 경험해볼 수 있다.

[ 이부분은 조금은 보완이 필요해 보이지만..(너무 슉슉 지나간다.) ]

 

그간 읽었던 책들의 아쉬움을 다 해결한 책이라고 생각된다.

 

실제 MSA 프로젝트를 진행할 때 옆에두고 참고하기도 정말 좋아 보인다.

[실제로 나의 석사 논문 구현과 관련해서도 큰 도움을 받았다. ]


유연성과 탄력성.

 

이 책을 통해 "이스티오"라는 구글의 오픈소스 기술의 개념을 살짝 맛보게 되었다.

 

개인적으로 MSA의 끝은 이스티오라 생각되는 편이다.

 

그것이 가장 편리하게 MSA를 구성하고 관리하게끔 만들어주기 때문이다.

[ 아쉽지만 스프링 클라우드는 MSA의 철학을 모두 수용하지는 못한다. (폴리글랏과 관련해서...)]

 

그리고 이스티오의 다음은 무엇일지 상상이 가질 않는다.

 

소프트웨어 기술들의 정점에 다다른게 아닐까 하는 생각이 들었다. [이 분야의 10년 뒤가 정말 궁금하다.]

 

마이크로서비스 아키텍처, 클라우드, 조직 문화, 코드로 관리하는 환경.

 

비즈니스 로직에 한층 더 빠르게 다가갈 수 있게 된 요즘.

 

앞으로 중요하게 될 것은 소비자를 진정성있게 포용하는 서비스가 아닐까 한다.

 

유연성과 탄력성은 이미 탄탄한 기술로 지원되고 있다.

 

거창한 말일지도 모르겠으나. 도널드 노먼이 말한 것처럼 IT 서비스가 보이지 않는 세상이 다음 세상이지 않을까 한다.

 

사람들이 스마트폰을 바라보는게 아닌 세상.

 

사람과 사람에게 집중하고 나에 대하여 집중하게 되는 세상 말이다. 나아가 지구라는 행성을 생각하게 되는 세상 등등..

 

사람이 가진 고유한 식별자로 서비스에 연결되는 세상. [ QR코드도 없이 지문이나 홍채인식으로 인증되는 ]

 

아날로그적인 과거로 돌아가 인간지향적인 시대를 살아가게 되는 세상.

 

나는 그런 서비스를 제공할 수 있는 기업이 강력한 차별성을 가질 수 있을 것이라 생각한다.

 

그리고 그러한 세상을 위한 소프트웨어 인프라와 아키텍처 기술이 충분하다고 생각한다.

 

페이스북, 구글, 애플의 행보를 보면 그들은 이미 그런 세상을 만들 수 있는 힘을 가지고 있고 만들고 있다고 생각한다. [가상세계를 기반으로 해서 말이다. ]

 

유연성과 탄력성으로 인해서 모든 IT 서비스가 생성될 것이라 생각된다.

 

이제는 IT서비스의 그 너머를 봐야 할지도 모르겠다. 그리고 그곳에서 MSA 다음의 아키텍처가 태동할지 모르겠다.

 

다만 확실한 것은 마이크로서비스 아키텍처가 10년간은 아키텍처의 큰 변화를 몰고올 것이라는 것은 자명하다.

 

좋은 책을 출판해준 위키북스와 좋은 책을 집필해준 한정헌, 유해식, 최은정, 이주영 전문가분들에게 감사를 표한다.

반응형