[TIL, 회고]에서는 TIL보다 회고, 잡담, 생각 등을 정리하고자 한다.
내일배움캠프 Spring 심화과정이 본격적으로 시작되었다.
약 1주일 동안의 Spring 복습이 끝나고, MSA강의가 시작되었다. 이번 내일 배움 캠프 스프링 심화 과정에서 제일 기대했던, 듣고 싶었던 강의여서 재밌게 들었다.
워낙 쿠버네티스, 도커 등과 함께 채용에서도 많이 요구하기도하고,많은 기업에서 모놀리틱 아키텍쳐 ➡️ 마이크로서비스 아키텍처
로이 전환이 이루어지고 있는 것으로 안다.
애플리케이션의 모든 기능을 하나의 코드베이스와 배포 단위로 묶는 전통적인 설계방식이다. 이 방식은 초기 개발 단계에서는 간단하고 관리가 용이하지만 애플리케이션이 커지고, 복잡해질 수 록 여러 가지 문제점이 발생할 수 있다.
우리들이 간단하게 프로젝트나 규모가 작은 프로젝트가 아닌 우리가 실제로 현업에서 개발을 할 때에는 규모가 어마어마하게 크다.
예를 들어 모놀리틱아키텍처 방식으로 개발 중인 "쇼핑몰"프로젝트가 있을 때 새로운 기능을 추가하거나, 아주 작은 오류가 있어서 추가 및 수정 후 배포를 한다고 생각해 보자.
규모에 비해서 아주 작은 변경사항이 있어도 하나의 배포단위로 묶여있기 때문에 전체를 배포해야 한다.
또한 프로젝트의 버전을 올리거나, 기술 스택을 바꿔야 하는 작업은 결코 쉽지 않습니다. 따라서 이미 아키텍처 방식의 프로젝트라면, 그대로 배포를 해야 하는 상황이 있을 수 있다.
이러한 경우 배포를 하다가 만약 개발자의 실수나, 오류가 발견되어서 배포가 실패된다면 전체 아주~~ 작은 이슈를 수정해도 전체 시스템에 영향을 받는다.
위와 같은 경우 말고도 모놀리틱 아키텍처의 방식은 문제점이 있는데 물론 단점만 존재하는 아키텍처는 아니다.
장점도 존재하지만 많은 기업에서 MSA를 사용하는 가장 큰 이유는 독립적인 배포 가능, 소규모 팀이 각 서비스를 담당할 수 있다, 각각의 애플리케이션은 독립적이기 때문에 적절한 기술스택을 사용할 수 있기 때문이다.
자세한 내용은 아래에서 확인 가능하다.
MSA와, Spring Cloud를 정리한 포스팅에서도 올려놨지만 위 그림은 amazon과 nefilx의 아키텍처 애플리케이션들의 마이크로 서비스 간 종속성을 나타낸 그래프이다.
감탄밖에 안 나오는데,, 정말 대단한 것 같다..
아마존은 2000년대 초반에만 해도 "거대한 단일 아키텍처" 그 자체였다고 한다.
성공적인 MSA전환의 대표적인 예로 amazon, Uber, Nefilx 등이 많이 언급되는데 MSA전환을 통해 이름만 들어도 알 수 있는 글로벌 거대기업으로 성장했다.
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2024.08.05 - Spring Cloud Gateway의 중요성 및 MSA 아키텍처에서의 역할 (0) | 2024.08.05 |
---|---|
[TIL,일일 회고] 2024.08.04 - Spring Security를 통한 로그인 구현 (0) | 2024.08.04 |
[TIL,일일 회고] 2024.08.03 - SpringCloud 서킷 브레이커 (0) | 2024.08.03 |
[TIL, 일일 회고] 2024.08.02 - FeignClient와 Ribbon을 통한 클라이언트 사이드 로드 밸런싱 (0) | 2024.08.02 |
[TIL,일일 회고] 2024.08.01 - 서비스 디스커버리 (1) | 2024.08.01 |