서비스 메시로 마이크로서비스 연결하기

경영진 요약

서비스 메시를 도입하면 마이크로서비스를 서로 연결하고 관리 오버헤드를 최소화하면서 Kubernetes를 확장할 수 있습니다.

서비스 메시가 애플리케이션 딜리버리의 차세대 핵심 기술로 떠오르고 있습니다

서비스 메시는 마이크로서비스를 연결하여 컨테이너화된 구성 요소를 더욱 쉽게 보호하고 오케스트레이션할 수 있게 하며, 클라우드 아키텍트의 업무를 간소화합니다.

처음에는 모든 곳에서, 모든 것을 위한 애플리케이션이 있었고, 그다음에는 마이크로서비스(그리고 이를 가능하게 하는 컨테이너 기술)가 등장했습니다. 앱을 통해 탁월한 사용자 경험을 제공하는 데 도움이 될 차세대 혁신은 무엇일까요? 바로 서비스 메시입니다.

마이크로서비스 접근 방식은 더 크고 복잡한 애플리케이션을 구성하는 데 사용되는 작고 단일 목적의 구성 요소를 기반으로 합니다. 거의 모든 기능을 마이크로서비스로 만들 수 있으며, 각 마이크로서비스가 하나의 기능에 집중하기 때문에 비교적 빠르게 개발할 수 있습니다. 하지만 구현하려는 기능이 많아질수록 마이크로서비스 구성 요소를 조율하는 작업은 더욱 복잡해집니다.

전통적인 애플리케이션(모놀리식 애플리케이션이라고도 함)은 개발 속도가 느리지만 장점도 있습니다. 하나의 프로그램에서 여러 개별 기능을 실행하므로 일반적으로 구성 요소 간의 조정 기능이 시스템에 내장되어 있습니다. 코드 소스가 하나뿐이어서 전통적인 앱은 문제를 해결하고 디버깅하기가 더 쉽습니다.

서비스 메시란 무엇인가요?

서비스 메시는 마이크로서비스 간의 통신을 원활하게 해 주는 투명한 인프라 계층입니다. 이를 통해 마이크로서비스로 구축된 앱도 복원력, 관측 가능성, 보안 등 기존 애플리케이션과 동일한 이점을 누릴 수 있습니다.

엔터프라이즈 서비스 메시 도입의 비즈니스 타당성

모놀리식 아키텍처에서 마이크로서비스로의 전환은 주로 애플리케이션 팀이 민첩성을 높이고 더 빠르게 업무를 수행해야 할 필요성에서 비롯되었습니다. 대규모 애플리케이션을 여러 개의 작은 요소로 분할함으로써 각 팀은 특정 영역에 전문성을 집중할 수 있게 되었습니다. 그 결과 모놀리식 아키텍처의 모든 측면을 고려해야 했을 때보다 더 빠르게 반복적으로 개선할 수 있었습니다.

하지만 이러한 속도와 민첩성에는 복잡성 증가라는 대가가 따릅니다. 마이크로서비스는 개발을 간소화하지만, 특히 수명이 짧은 여러 구성 요소를 보호하고 오케스트레이션하는 데 있어 새로운 과제를 야기합니다. 서비스 메시는 마이크로서비스 기반 애플리케이션이 확장됨에 따라 개발자가 복잡성을 덜어낼 수 있는 방법입니다.

“다차원적 가시성의 목표는 데이터 사일로를 없애고 조직 내에서 정보에 쉽게 접근할 수 있도록 하는 것입니다.”

최근 팟캐스트에서 Aspen Mesh의 공동 창립자이자 CTO인 Andrew Jenkins는 이렇게 말했습니다. “서비스 메시 환경에서 가장 큰 변화는 앱 개발자가 해야 할 일이 아니라, 하지 말아야 할 것으로 기대되는 모든 일입니다.” 예를 들어, 서비스 메시의 보안 구성 요소는 인증 기능을 제공하고 한 애플리케이션이 다른 애플리케이션을 신뢰할지 여부를 관리합니다. 요청이 실패하면 플랫폼 운영자는 마이크로서비스가 재시도할지 아니면 중단될지를 정의할 수 있는 도구를 사용할 수 있습니다.

이 새로운 환경에서 개발자는 요청을 서비스 메시 계층까지 전달하는 데 집중할 수 있습니다. 마이크로서비스 간의 모든 통신을 관찰하는 도구를 사용할 수 있는 플랫폼 운영자는 애플리케이션 개발자에게 완전히 새로운 범위의 데이터와 메트릭을 제공할 수 있습니다. 젠킨스는 “서비스 메시에서는 문제가 발생한 한 곳만 수정하면 모든 곳에서 해결됩니다. 이와 같은 일관성의 이점은 계속해서 반복됩니다”라고 말합니다.

서비스 메시를 사용해야 하는 경우

서비스 메시를 강력한 새 도구 상자라고 생각해 보세요. 보안, 트랜잭션 처리, 암호화, 추천 엔진, 분산 추적 등 다양한 도구가 있습니다. 하지만 사용법을 모른다면 아무리 강력한 도구도 도움이 되지 않습니다. 서비스 메시를 성공적으로 조기에 도입하려면 탄탄한 클라우드 아키텍처 역량과 개발자를 위한 인프라 서비스를 정의해 본 경험이 있는 플랫폼 팀이 필요합니다.

많은 조직이 서비스 메시 없이도 Kubernetes 및 기타 컨테이너 기술을 성공적으로 운영하고 있습니다. 표준 Kubernetes 구현은 기본적인 배포 문제를 매우 효과적으로 해결합니다. 하지만 규모가 커지면 Kubernetes 애플리케이션에서 암호화, 서킷 브레이킹, 동적 트래픽 라우팅 등 충분히 해결되지 않는 런타임 문제가 발생합니다. NGINX 및 기타 컨테이너 인그레스 솔루션과 같은 솔루션은 애플리케이션으로 유입되는 네트워크 트래픽을 포착하고, 조정하고, 제어하고, 시각화할 수단을 제공하여 이러한 격차의 상당 부분을 해소합니다. 그러나 개발자가 이러한 도구로 구현할 수 있는 한계에 다다르기 시작하면, 서비스 메시는 컨테이너화된 마이크로서비스의 기능을 파악할 수 있는 새로운 차원의 가시성을 제공합니다.

결론

현재 서비스 메시는 여전히 최첨단 기술입니다. 이미 Kubernetes를 전면적으로 도입했거나 Kubernetes를 기반으로 개발할 계획인 조직이라면, 나중에 서비스 메시를 통합하는 것보다 초기에 구현하는 편이 더 쉽습니다. Kubernetes를 확장하면서 관리 부담을 최소화하려면 서비스 메시가 필요합니다.

보안 요구 사항이 복잡하거나 마이크로서비스 기반 애플리케이션에 크게 의존하는 조직의 경우, 서비스 메시는 배포 및 유지 관리를 가속화하고 보안을 강화하며 리소스 사용을 최적화하는 데 도움이 될 수 있습니다. 서비스 메시 환경은 가시성을 높이고 애플리케이션 최적화에 활용할 수 있는 미시적·거시적 수준의 데이터를 제공합니다.

서비스 메시는 마이크로서비스와 컨테이너 기술을 한 단계 더 발전시키는 기술입니다. 적절한 전략과 함께 활용하면 강력한 도구가 될 수 있습니다.

관련 콘텐츠

전자책

안전한 클라우드 아키텍처

일반적인 타협 없이 속도를 확보하세요. 올바른 클라우드 아키텍처라면 가능합니다.

자세히 알아보기 ›


솔루션 개요

5G 클라우드 네이티브 인프라

F5의 5G 인프라 솔루션은 서비스 제공업체가 네트워크 인프라를 현대화하는 데 필요한 도구를 제공합니다.

개요 보기 ›


솔루션

NGINX

마이크로서비스를 연결하고 보호하며 확장하는 방법을 알아보세요.

자세히 알아보기 ›


팟캐스트

이면에 숨겨진 진실

What Lies Beneath 팟캐스트에서 서비스 메시와 그 대안에 대해 알아보세요.

지금 듣기 ›