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

F5 에코시스템 | 2016년 1월 04일

마이크로서비스(그리고 흔히 단짝으로 언급되는 컨테이너)가 전 세계 개발자들의 마음을 사로잡기 시작했습니다. 느슨하게 결합되고 API만으로 통신하며 세분화된 마이크로서비스 설계 원칙을 도입하는 것은 스타트업뿐만이 아닙니다. 대기업들도 이 흐름에 동참하고 있습니다.

그래프_3-4

도입이 확대되면서(Datadog는 클라우드 인프라 모니터링 제공업체로, 2014년 9월 이후 12개월 동안 거의 5배 성장했습니다) 모놀리식 애플리케이션은 이제 끝났으며, 그에 따른 부적절한 아키텍처는 단순히 낡은 수준을 넘어 명백히 잘못된 것이라는 목소리가 매우 거세지고 있습니다.

하지만 최근 Gigaom의 한 기사에서 지적했듯이, 대형 해머를 꺼내 모든 모놀리식 애플리케이션을 수백 개의 서로 다른 마이크로서비스로 쪼개기 전에 고려해야 할 절충점이 있습니다. 이는 새로운 개념이 아닙니다. 마이크로서비스의 아버지인 Martin Fowler는 이미 오래전에 이러한 절충점에 관해 글을 썼으며 마이크로서비스의 ‘맹목적 도입’이라고밖에 볼 수 없는 행태를 경고해 왔습니다. 실제로 Gigaom의 기사는 더 간결한 형식이기는 하지만 대체로 Fowler와 같은 요점을 제시합니다.

두 글의 핵심만 요약하자면, 결국 이렇습니다. 마이크로서비스는 운영 복잡성을 높이고 성능 측면에서 애플리케이션 경험에 부정적인 영향을 줄 수 있습니다. 둘 다 바람직하지 않으며 흔히 의도치 않게 발생하는 결과이므로, 데이터 센터에 있는 누군가가 비유적인 착암기를 들기 전에 미리 충분히 이해해야 합니다.

그렇다 해도, 도대체 Lori가 왜 신경을 쓰는 걸까요? 결국 Lori도 F5도 애플리케이션을 구축하거나 설계하는 일을 하는 것은 아닙니다. 애플리케이션이 모놀리식이든, 마이크로서비스든, 아니면 차세대 앱 아키텍처를 여기에 입력>이든 F5는 해당 앱을 제공할 것입니다.

모두 맞는 말입니다. 하지만 우리는 이러한 애플리케이션을 제공하는 애플리케이션 서비스를 구축하고 배포하는 일을 하며, DevOps와 마이크로서비스 같은 최근의 흐름(그리고 컨테이너 열풍)은 우리 분야에도 동일한 질문을 던집니다. 즉, 일반적으로 ADC 플랫폼에 배포되는 애플리케이션 서비스를 더 세분화된 애플리케이션 중심 서비스로 분해하여 마이크로서비스 아키텍처에 더욱 부합하는 모델로 구성해야 할까요?

여전히 중요한 것은 트레이드오프

앱 아키텍처를 이야기하든 앱 서비스 아키텍처를 이야기하든, 그러한 결정을 내리기 전에 관련된 트레이드오프를 이해해야 한다는 점은 변함이 없습니다.

플랫폼(모놀리식) 접근 방식

모놀리식 앱 서비스와 마이크로서비스 앱 서비스 비교

이는 모든 유형의 애플리케이션을 보호하고 확장하며 최적화하는 데 필요한 애플리케이션 서비스를 제공하는 전통적인 방식입니다. 서비스는 하나의 공유 플랫폼에 배포됩니다. 이 방식은 기반 프록시의 아키텍처 덕분에 성능을 향상할 수 있다는 장점이 있습니다. 모든 요청과 응답이 동일한 환경을 벗어나지 않고 필요한 서비스를 모두 거칠 수 있기 때문입니다. 따라서 추가적인 네트워크 홉과 그에 따른 지연 시간이나 연결에 필요한 리소스 및 지연 시간이 발생하지 않습니다. 각 서비스는 여전히 개별적으로 확장하고 관리할 수 있지만, 모두 하나의 공유 하드웨어(COTS 또는 맞춤형)에 의존합니다. 즉, 공유 하드웨어가 단일 장애 지점이 되어 하나가 아닌 여러 서비스에 영향을 미칠 수 있습니다.

애플리케이션별 프록시(마이크로서비스) 접근 방식

이 모델은 DevOps 및 새롭게 부상하는 애플리케이션 아키텍처 관행에 더욱 부합합니다. 각 서비스는 개별적으로 배포, 관리 및 확장됩니다. 이로 인해 추가적인 관리 비용이 발생하지만(결국 관리해야 할 인스턴스가 더 많아지므로), 각 서비스를 동일한 플랫폼에 배포하면 이러한 비용 중 일부를 줄일 수 있으며 서로 다른 제공업체의 서비스를 자유롭게 조합할 수도 있습니다. 이 접근 방식의 장점은 서비스를 애플리케이션 아키텍처와 더욱 긴밀하게 연계하여 그 일부로 포함할 수 있고, 널리 사용되는 자동화 프레임워크와도 통합할 수 있다는 점입니다.

애플리케이션 딜리버리를 구성 요소인 애플리케이션 서비스로 분해할 때도 성능 저하와 복잡성 증가라는 동일한 단점이 따릅니다. 반대로 개발자들이 민첩성, 다양성, 모듈성을 추구하며 모놀리식 아키텍처를 피하고 마이크로서비스를 도입하는 것과 같은 이유가 애플리케이션 딜리버리에도 적용됩니다.

마틴 파울러의 말을 그대로 인용하겠습니다. “많은 개발 팀이 마이크로서비스 아키텍처 스타일이 모놀리식 아키텍처보다 우수한 접근 방식이라고 판단했습니다. 하지만 다른 팀들은 마이크로서비스가 생산성을 저해하는 부담이라고 느꼈습니다. 다른 모든 아키텍처 스타일과 마찬가지로 마이크로서비스에도 비용과 이점이 따릅니다. 합리적인 선택을 하려면 이를 이해하고 자신의 구체적인 상황에 적용해야 합니다.”

이러한 설명은 애플리케이션 서비스에도 똑같이 적용됩니다. 기존의 모놀리식 접근 방식과 현대적인 마이크로서비스 접근 방식 모두 장단점이 있으므로, 해당 서비스가 제공하고 보호하며 최적화할 애플리케이션의 맥락에서 이를 고려해야 합니다.

공유
태그: 2016

작성자 소개

Lori Mac Vittie
Lori Mac Vittie수석 엔지니어 겸 최고 에반젤리스트 | F5

Lori MacVittie는 F5 CTO 오피스의 수석 엔지니어이자 최고 에반젤리스트로, 애플리케이션 딜리버리, 자동화 전략 및 인프라 분야에서 깊이 있는 전문성을 보유하고 있습니다. AI 에이전트를 위한 가드레일을 정의하고, 취약한 멀티클라우드 아키텍처를 분석하며, 확장 가능한 시스템의 한계를 탐구하는 등 복잡한 문제를 명확하게 풀어내는 것으로 잘 알려져 있습니다. 애플리케이션 개발, IT 아키텍처, 네트워크 및 시스템 운영 전반에 걸쳐 30년 이상의 업계 경험을 쌓았습니다. F5에 합류하기 전에는 수상 경력이 있는 기술 편집자로 활동했습니다. MacVittie는 컴퓨터 과학 석사 학위를 보유하고 있으며, 보안, 클라우드 및 엔터프라이즈 아키텍처 분야를 아우르는 다수의 저서를 집필한 작가입니다. 또한 보드게임과 비디오 게임을 열정적으로 즐기며, 치즈에 대해서는 거리낌 없이 확고한 견해를 갖고 있습니다.

Lori Mac Vittie의 다른 블로그 게시물

관련 블로그 게시물

성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5 에코시스템 | 2023. 07. 13.

성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A

F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.

TLS 검사에서 피터 파커 원칙 다루기
F5 에코시스템 | 2019. 12. 09.

TLS 검사에서 피터 파커 원칙 다루기

“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.

Venafi와 F5를 통한 머신 아이덴티티 보호
F5 에코시스템 | 2018. 12. 11.

Venafi와 F5를 통한 머신 아이덴티티 보호

‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.

마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
F5 에코시스템 | 2018. 07. 23.

마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다

물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...

내 클라우드에서 나가!
F5 에코시스템 | 2016. 10. 12.

내 클라우드에서 나가!

F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.

Shift(웹 앱) 보안 레터
F5 에코시스템 | 2015. 07. 06.

Shift(웹 앱) 보안 레터

웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.