관리 메뉴

생각해보기

마이크로 서비스 아키텍처 소개 본문

IT인프라

마이크로 서비스 아키텍처 소개

정한_s 2023. 2. 15. 22:13

모놀리스(Monolith)와 마이크로서비스 비교

전통적인 모노리스의 구조는 하나의 단위로 개발되는 일체식 애플리케이션입니다. 일반적으로 사용자 인터페이스와 데이터베이스, 서버 쪽 애플리케이션의 3개 부분으로 구성되빈다. 

 

서버 측에서 어플리케이션이 일체가 되어 있기 때문에 작은 변화에도, 새로운 버전으로 전체 빌드해서 배포해야 합니다. 확장이 필요한 경우에는 특정 기능만 확장할 수 없고 전체(서버)를 동시에 확장해야 합니다. 

모노리스

모노리스가 여러 인스턴스로 떠 있는 경우에 변경에 취약해집니다. 여러개의 인스턴스를 모두 재 빌드 배포 과정을 거치기 때문입니다. 또한 확장시에는 어플리케이션 전체가 확장 되어야 하기 때문에 확장 대비 효율성이 떨어집니다. 

 

반면에 마이크로서비스는 서버 측이 여러 개의 조각으로 구성돼 각 서비스가 별개의 인스턴스로 로딩됩니다. 여러개의 서비스가 모여 하나의 어플리케이션을 구성하는 형태입니다. 또한 각기 다른 저장소를 쓰기 때문에 서비스 별로 경계가 명확해 집니다. 

 

따라서 확장시에 특정 기능별로 독립적으로 확장할 수 있고, 변경이 필요한 서비스만 빌드 배포 할 수 있습니다. 서비스의 경계가 명확하니, 서로 다른 환경을 구축할 수 있는 자율성을 가질 수 있습니다.

 

마이크로 서비스

이러한 장점과 클라우드의 인프라의 뒷 받침이 마이크로 서비스 아키텍처의 부흥기를 이끌었습니다.  

 

마이크로서비스의 등장 배경 

하드웨어와 IT 산업의 발전이 점점 가속화 되면서, 미래에 대한 환경 변화 속도는 빨라졌습니다. 기업은 이러한 복잡해지는 상황에서 미래에 알맞는 조직 운영을 고민하게 됩니다. 그래서 많은 기업이 "애자일 방식[1]"에 주목하게 되었습니다. 애자일의 장점은 비즈니스 민첩성에 있습니다. 고객의 요청을 더 쉽고 빠르게 변경하는 것이 경쟁력이 되었습니다. 서비스 별로 배포할 수 있는 특징을 가진 마이크로 서비스에 적합했습니다.

 

또한 차세대 기술인 클라우드와 시너지가 뛰어납니다. 클라우드 인프라의 특징은 사용한 만큼만 비용을 지불하는 특징을 가지고 있습니다. 트래픽이 몰리는 구간에 서버 증설을 하고, 이후 반납하는 유연한 용량 증감을 손쉽게 할 수 있습니다. 마이크로서비스는 전체 어플리케이션을 스케일 아웃 하는 것이 아닌, 일부 서비스만 스케일 아웃이 가능합니다. 즉, 트래픽만 몰리는 서비스만 스케일 아웃하여 비용을 효율적으로 사용 가능합니다.

 

다음은 마이크로 서비스를 위한 조건에 대해 설명하겠습니다.

---

[1] 애자일 이란

애자일(Agile)의 사전적 의미는 ‘날렵한’, 민첩한’, ‘기민한’ 뜻으로 원래는 소프트웨어 개발 방법론 중 하나인 애자일 프로세스(Agile Process)에서 출발했습니다. 서비스를 테스트하고 피드백을 받아 적용하는 과정을 짧은 주기로 반복하는 방식으로 추후에는 환경과 상황에 맞춰 빠르고 유연하게 일하는 방식으로 의미가 확장되었습니다.

 

즉, 조직을 애자일 하게 운영한다는 것은 조직의 경계를 허물고, 협업하는 수평적인 조직구조를 설계하는 것을 의미합니다. 애자일 조직은 불필요한 의사결정 과정을 줄이면서 구체적인 계획보다는 바로 실행에 옮겨 외부 피드백을 계속적으로 반영해 최종 결과를 만드는 일의 방식을 추구합니다. 그에 따라 조직의 구조는 기존의 전형적인 기획, 개발, 디자인의 영역이 분리된 구조에서, 하나의 서비스를 위해 각 파트 인원을 묶는 스쿼드 형식으로 변화하게 되었습니다. 

 

 

https://engineering-skcc.github.io/microservice%20%EA%B0%9C%EB%85%90/whatis-microservice/https://shiftee.io/ko/blog/article/howToKeepAgileTeams

'IT인프라' 카테고리의 다른 글

인프라와 병목현상  (0) 2021.10.31
인프라 구조에 대해 알아보자  (0) 2021.10.30
네트워크와 처리 흐름  (0) 2021.10.26
인프라 응용 이론에 대해 알아보자  (0) 2021.10.25
인프라에 앞선 기본 이론  (0) 2021.10.22
Comments