본문 바로가기
MSA

IT에서 차세대 시스템 개발은 Cloud 환경에서의 스트랭글러 패턴이 대세가 될까? 기존의 빅뱅 대신. 기존 Monolith 시스템 전체 교체

by 해피비(Happy plan B) 2022. 11. 8.
반응형

안녕하세요. 행복랜드 행부장(HappyLandHB)입니다.

스트랭글러 패턴 방식 개발이 대세가 되기 위해 기존의 빅뱅의 단점을 장점으로, 스트랭글러가 가진 단점을 최소화하는게 필요합니다.

출처: 아래 참고사이트 2.1

스트랭글러 패턴은 아마도 대세가 될 것이라 생각합니다.
이론과 실제는 차이가 있으니, 장점만을 생각하다면 놓칠 수 있습니다. MSA(MicroServices Architectures)를 스트랭글러 방식이 아닌 빅뱅으로 하려는 곳도 나옵니다. 충분한 분석, 설계가 있었어도 파일럿 프로젝트로 복잡한 부분(복잡하고 시간이 오래걸리는 배치작업 포함) 중 일부를 진행 후에 결정이 필요합니다. 가급적 스트랭글러 패턴 방식으로 MSA를 생각하는데 좋을 것이라 봅니다.글을 보시기 전에 공감하트 클릭 부탁드립니다. (위 혹은 아래에 위치)

 

저는 누군가에게 기댈 수 있는 곳이 되길 바라며, 함께 할 수 있는 일상 공유로 SNS에 컨텐츠를 만들고 있어요.

- 용어정의 (개인적인 부분으로 해석한 부분으로 기존의 용어정의보다 짧고 다를 수 있음)
빅뱅(Big Bang) 방식: 기존 시스템 전체를 한번에 개발, 교체
스트랭글러(Strangler) 패턴 방식: 일부분을 점진적으로 교체하여, 최종적으로 전체를 교체. MSA가 대표적임.

스트랭글러 패턴 방식과 MSA로 진행하려면 숙련된 데브옵스(DevOps) 조직이 필요합니다. 무늬만 데브옵스를 부르짓는 조직이 아닌, 개발과 운영을 할 수 있는 조직이죠. 인력 유지를 하는데 비용 등 쉽지 않을 것이라  개인적으로 생각해 봅니다. 이런 저런 이유로 MSA는 해야 하는데 스트랭글러를 패턴 대신 기존에 우리에게 익숙한 빅뱅을 하게 됩니다.

(어려운 정의와 설명은 가감히 배제했습니다. 관련 내용은 아래 참고사이트를 참고하시길.)

출처: 아래 참고사이트 2.1
출처: 아래 참고사이트 2.2

기존의 복잡한 코어 비즈니스를 MSA로 하다보면 많은 것을 놓칠 수 있습니다. 크게 3가지입니다.

기존의 복잡한 코어 비즈니스를 MSA로 하다보면 많은 것을 놓칠 수 있는 3가지입니다.
1. 복잡한 로직들을 모두 MSA에 맞게 나누면 될까?

 => 문제는 속도입니다. 배치성 작업은 특히 일배치로 새벽, 주말에 돌 수 있는데, MSA를 하면서 로직을 쪼개다 보면(다른 DB에서 관리되고) 속도가 많이 늦어지게 됩니다. 일배치가 일배치로써 시간내 할 수 없는 부분이 생기는 것이 나옵니다. 다시 MSA로 개발(Micro)한 부분을 기존의 방식으로 합쳐지게 개발(Macro)하는 재작업이 생길 수 있습니다.

 

2. 어떻게 나누고 개발 할 것인가?

 => DB단위로 나누다 보면, 많은 보상을 위한 개발이 필요합니다. 개발을 할 수 인력을 고려하며 진행이 필요합니다. 단순히 개발자가 많이 투입되는 것보다 숙련된 개발자가 시간을 가지고 진행하는 방법도 필요하다고 봅니다. 

 

3. 개발만이 답인가?
 => 충분한 검토(기획, 분석, 설계)가 필요한 부분입니다. 파일럿 프로젝트를 통해 개선된 부분을 고려한 개발이 필요하다고 봅니다.

 
*참고사이트
1. 기본 내용: https://www.2e.co.kr/news/articleView.html?idxno=203903
2. 사진 참고
 1) https://dzone.com/articles/what-are-microservices-actually
 2) https://blogs.sap.com/2017/09/25/strangler-applications-monolith-to-microservices/  
감사드리며…


도움이 되셨다면 공감하트 클릭 부탁드립니다. (위 혹은 아래에 위치)

오늘 더 행복하시길.
감사합니다.

 

반응형

댓글