✔️ Monolithic Architecture
Monolithic
은 하나
의 의미를 가진다.
어플리케이션의 구조에서 UI 서비스, 계정 서비스, 장바구니, 배송 등의 서비스가 하나로 만들어져 있다는 것이다.
어떤 프로그래밍 언어든 상관없이 모든 기능들을 하나의 구조로 만든 것을 모놀리틱 구조라고 한다.
모놀리스를 보통 구시대적인 방법으로 치부하기 쉬우나 이 방식은 지금도 상당히 많이 쓰는 일반적인 방식이다.
그림 상에 주황색 박스가 뒤로 겹쳐진 부분이 스케일링과 관련된 부분인데,
만약 서비스 중에 특히 사용자 트래픽이 몰리는 부분이 Shipping Service라고 해보자 서버의 다운을 막기 위해서는 스케일링이 필요할 것이다.
이럴 때는 다른 서비스의 스케일링은 필요없고 Shipping Service의 스케일링을 진행하는 것이 효율적인데
Monolithic 구조는 모든 서비스를 전체 스케일링 할 수 밖에 없다.
이러한 Monolithic 구조의 단점을 보완하기 위해 등장한 개념이 MicroService Architecture이다.
핵심만 말하자면 app을 기능 단위로 분리시킨 것이 마이크로 서비스이다.
✔️ MicroService Architecture
MicroService
기능을 잘게 분리시켜서 하나의 형태로 만들어 컨테이너로 실행하고 각 기능마다 스케일링을 별도로 하는 방법
StoreFrontUI, Accounting Service, InventoryService, Shipping Service 각각의 기능을 하나의 서버 하나의 app으로 만드는 것이다.
이렇게 기능을 분리시켜서 각각 VM에 올려도 되지만 VM은 무겁기 때문에 컨테이너 기술에 맞는 소프트웨어 아키텍처이다. 이렇게하면 우리가 필요한 기능만 스케일링을 할 수 있다.
컨테이너 기반으로 구성이 되는 경우 마이크로 서비스 형태를 더 쉽게 구성, 운영하기 쉽다.
따라서 컨테이너에서 반드시 마이크로 서비스를 사용해야 하는 것으로 이어지는 것이 아니다.
'DevOps > Docker' 카테고리의 다른 글
[Docker] Docker(도커)의 기본 명령어 (0) | 2022.05.07 |
---|---|
[Docker] Docker(도커) 설치 (0) | 2022.05.06 |
[Docker] Docker(도커)란 ? (0) | 2022.05.06 |
Docker(도커)란 무엇인가 ? (1) | 2022.03.07 |
컨테이너란 무엇인가 ? (1) | 2022.03.07 |
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!