인프런 커뮤니티 질문&답변

ysandye님의 프로필 이미지
ysandye

작성한 질문수

마이크로서비스 아키텍처 와 MSA 패턴 이해

성공사례: 성공한 인터넷 기업들과 비즈니스 민첩성

1강 강의내용에 대한 2가지 질문이 있습니다.

해결된 질문

작성

·

243

0

  1. SOA 와 MSA 를 명확하게 구분지을 수 있는 요소가 각각의 서비스에 대한 오토스케일링 (수평확장) 가능 여부 라고 이해해도 될까요?

 

  1. 클라우드 환경에서 수평 확장을 위한 가장 효율적인 시스템유형이 Cloud Native Application 이다 라고 설명 해주셨는데요, 클라우드 환경에서 수직 확장은 효율적이지 못한건가요? (잘 쓰이질 않는건가요?)

    강의 내용중에 수평 확장을 해놓고 그 상태에서 수직 확장을 하는 방식으로 적용을 한다. 라는 설명을 해주셨는데, 이 맥락과 연관이 있는지 궁금합니다!

    아직 실습을 해보지 않은 상황에서 단순하게 생각해보면, 수직확장은 반영에 시간이 걸린다 라고 설명해주셨는데 그렇다면 수직확장 부터 미리 반영시켜 놓고 서비스 운영 중에 자동으로 수평 확장이 될 수 있도록 오토스케일링 설정을 해놓아야 하는게 아닌가 라는 생각이 듭니다.

답변 1

2

han jeong heon님의 프로필 이미지
han jeong heon
지식공유자

  1. 아마도 조금 헷갈리시는 것 같습니다. MSA는 SOA의 한 유형이라고 생각하면 되고 , SOA,MSA 공히 수평확장은 가능합니다. MSA와 SOA 차이점을 굳이 말하자면 SOA는 재사용성를 중요하게 생각하고 애플리케이션의 분리는 시도했지만 저장소의 분리를 중요하게 생각하지 않았고, MSA는 저장소의 격리를 중요하게 생각하고 재사용성 보다는 각 서비스의 독립성을 더욱 강조하고 있습니다.

  2. 클라우드 환경에서 수직확장도 잘 사용됩니다. 기본 적으로 vm이나 컨테이너의 cpu나 메모리, 용량을 증가시킬 수 있는데 그것이 수직확장입니다. 다만 클라우드 네이티브 애플리케이션 즉 마이크로서비스가 수평확장을 활용하기 위한 가장 효율적인 구조라 언급한 까닭은 수평확장 역시 비용이 들기 때문에 덩어리가 큰 모노리스를 수평확장한 비용보다 빈번하게 사용되는 작은 기능 일부분만 수평확장하는 것이 비용효과적이라는 논리입니다.

  3. 네 일반적으로 애플리케이션의 사용량 고려하여 적절한 사이즈로 설정해 놓 은 뒤에 특정 사용량 임계치에 대응되는 수평확징 설정을 한다고 보면 됩니다.

ysandye님의 프로필 이미지
ysandye
질문자

이해하였습니다. 감사합니다!

ysandye님의 프로필 이미지
ysandye

작성한 질문수

질문하기