산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 클라우드 컴퓨팅

서비스 메시(Service Mesh) 해설: 오픈소스 메시가 마이크로서비스 통신을 단순화하는 방법

마이크로서비스 아키텍처로 개발할 때 DevOps 팀이 구성해야 할 많은 개별 구성 요소가 있습니다. 마이크로서비스가 함께 작동하려면 정보 공유와 데이터 전송을 위한 확립된 통신 채널이 필요합니다.

서비스 간 통신을 관리하고 모니터링하는 한 가지 방법은 서비스 메시를 사용하는 것입니다.

서비스 메시(Service Mesh)란 무엇인가?

서비스 메시는 마이크로서비스 아키텍처에 추가되는 전용 인프라 계층입니다. 주요 역할은 빠르고 안전한 서비스 간 통신을 보장하는 것입니다. 이 저지연 도구는 서비스 간 통신과 데이터 공유를 관리하고 모니터링합니다.

개발자가 네트워킹 계층에 특정 규칙과 정책을 구현하는 컨트롤 플레인(control plane)으로 구성됩니다. 컨트롤 플레인은 데이터 플레인과 직접 작동하는데, 데이터 플레인은 서비스와 함께 실행되는 사이드카 프록시(sidecar proxies) 모음입니다. 이 프록시들은 서비스 간 모든 통신을 담당합니다. 또한 전체 애플리케이션 성능에 대한 귀중한 통찰을 모니터링하고 제공하여 잠재적 문제를 찾고 다운타임을 피하는 데 도움을 줍니다.

서비스 메시(Service Mesh) 해설: 오픈소스 메시가 마이크로서비스 통신을 단순화하는 방법

프록시들은 다음과 같은 가치 있는 기능을 제공합니다:

서비스 메시 아키텍처의 부상

서비스 메시가 어떻게 작동하는지 완전히 이해하려면 왜 그런 도구가 개발되었는지 살펴봐야 합니다. 서비스 메시 아키텍처의 부상은 마이크로서비스와 관련된 여러 문제의 해결책으로 등장했습니다.

많은 개발 팀이 모놀리식 애플리케이션 개발에서 마이크로서비스 아키텍처로 전환했습니다. 이는 애플리케이션을 모놀리식 단위에서 함께 작동하는 개별 서비스 시스템으로 분할했습니다. 애플리케이션은 고유한 기능을 가진 여러 자율 서비스로 구성됩니다.

이러한 애플리케이션 개발의 어려움은 이 서비스들이 서로 통신하는 최적의 방법을 구성하는 것입니다. 애플리케이션 성능은 서비스가 함께 작동하고 데이터를 공유하여 최상의 사용자 경험을 제공하는 데 달려 있습니다. 예를 들어, 웹 스토어는 로그인 서비스로 구성될 수 있으며, 이는 구매 서비스와 통신하고 이는 다시 인벤토리 데이터베이스의 정보를 필요로 하는 식입니다.

마이크로서비스가 API를 통해 통신하므로 발견(Discovery)과 라우팅(Routing)을 해결할 최적의 솔루션을 찾는 것이 중요했습니다. 또한 개발자는 시스템 내 통신이 안전한지 확인해야 했습니다. 방화벽이 외부 공격으로부터 애플리케이션을 보호했지만, 마이크로서비스 아키텍처 내부에는 평평하고 개방된 네트워크가 있었습니다.

메시 서비스 아키텍처 이전에는 이 작업이 로드 밸런서에 의해 처리되었습니다. 하지만 특히 대규모에서는 배포와 비용 문제로 실용적인 솔루션이 아니었습니다. 서비스 메시는 위에 언급된 모든 문제에 대한 궁극적인 솔루션으로 개발되었습니다. 중앙 집중식 레지스트리(컨트롤 플레인)를 가진 네트워킹 계층을 제시했으며, 이는 사이드카 프록시로 모든 서비스를 관리했습니다. 이들은 로드 밸런서보다 구성하고 확장하기 훨씬 쉽습니다. 개발자는 필요에 따라 프록시를 스케일 업/다운하고 서비스를 수정하지 않고 라우팅 규칙을 변경할 수 있습니다.

서비스 메시 이점

서비스 메시의 가장 중요한 이점은 다음과 같습니다:

오픈 소스 서비스 메시 목록

여러 오픈 소스 서비스 메시가 있습니다. Istio, Linkerd, Consul이 가장 널리 사용됩니다.

아래에서 각 플랫폼에 대한 더 자세한 내용을 확인하세요.

Istio

Istio는 Google, IBM, Lyft가 설계한 오픈 소스 인프라입니다. 가장 초기의 서비스 메시 플랫폼 중 하나입니다. 운영과 서비스 메시 구성을 위한 여러 구성 요소(Pilot, Citadel, Mixer)로 구성된 컨트롤 플레인인 Istiod를 사용합니다. 데이터 플레인은 C++로 개발된 Envoy 프록시로 구성됩니다. HTTP/TCP 연결은 Istio의 로드 밸런서인 Gateway가 관리합니다. VirtualService와 DestinationRules가 라우팅 규칙과 정책을 정의합니다.

서비스 메시(Service Mesh) 해설: 오픈소스 메시가 마이크로서비스 통신을 단순화하는 방법

Linkerd

Linkerd는 Cloud Native Computing Foundation(CNCF) 프로젝트에서 개발한 경량 오픈 소스 서비스 메시입니다. 추가 구성 없이 모든 플랫폼에서 Kubernetes 클러스터에 설치하기 간단합니다. 구성 없음은 작은 클러스터 작업 시 이롭습니다. 그러나 대규모 프로젝트는 클러스터의 모든 서비스를 성공적으로 관리하기 위해 구성 가능성이 필요합니다.

사이드카 프록시는 Rust로 작성되었습니다. Linkerd는 컨트롤 플레인에 Controller를, 대시보드에 Web Deployment를 사용합니다. 또한 메트릭 탐색과 저장에 Prometheus를, 대시보드 렌더링과 표시에 Grafana를 활용합니다.

서비스 메시(Service Mesh) 해설: 오픈소스 메시가 마이크로서비스 통신을 단순화하는 방법

Consul Connect

Consul은 처음에 서비스 발견 도구로 설계되었다가 나중에 서비스 메시로 진화했습니다. Linkerd와 달리 Consul Connect는 많은 구성을 포함하여 네트워크 환경에 대한 더 많은 제어권을 제공합니다. 따라서 Linkerd보다 사용하기 더 어렵습니다. 이 오픈 소스 서비스 메시는 플랫폼에 구애받지 않아 Kubernetes나 Nomad를 요구하지 않습니다. 여전히 Nomad는 Consul을 통한 마이크로서비스 통신 관리를 단순화합니다.

서비스 메시(Service Mesh) 해설: 오픈소스 메시가 마이크로서비스 통신을 단순화하는 방법

Microsoft의 Open Service Mesh

Open Service Mesh(OSM)는 동적 마이크로서비스 애플리케이션을 관리하고 보호하기 위해 서비스 메시 인터페이스를 구현하는 CNCF Envoy 프로젝트입니다. 사이드카 컨테이너로 Envoy xDS를 사용합니다. 주요 기능으로는 트래픽 시프팅, 인증서 관리, mTLS 활성화, 자동 사이드카 주입, 접근 제어 정책이 있습니다.

Kuma

Kuma는 Kubernetes와 서비스 메시 내에서 실행되는 VM을 위한 오픈 소스 컨트롤 플레인입니다. L4+L7 정책 아키텍처를 가지고 있어 서비스 발견, 라우팅, 제로 트러스트 보안, 관찰 가능성 같은 기능을 구현합니다. 플랫폼은 높은 확장성과 쉬운 설정을 자랑합니다.

OpenShift Service Mesh Red Hat

Red Hat은 마이크로서비스 애플리케이션 관리를 위해 OpenShift Service Mesh를 개발했습니다. 네트워킹을 위한 여러 인터페이스와 보안 컨텍스트 제약(Security Context Constraint)을 통한 강화된 보안을 제공합니다. Jaeger로 성능을 측정하고 Kiali로 서비스 간 상호작용을 관찰합니다. 또한 더 나은 API 보안을 위해 Red Hat 3scale Istio Mixer Adapter를 포함합니다.

AWS App Mesh

Amazon은 마이크로서비스 아키텍처 내 모든 서비스를 관리하는 무료 서비스 메시 소프트웨어인 App Mesh를 개발했습니다. 마이크로서비스 애플리케이션에 대한 고가용성과 엔드투엔드 가시성을 제공합니다. AWS App Mesh는 AWS Fargate, Amazon ECS, Amazon EC2, Amazon EKS, Kubernetes, AWS Outposts와 통합됩니다. 모니터링 도구로 모니터링 데이터를 자동으로 내보냅니다.

Network Service Mesh

Network Service Mesh는 오픈 소스 CNCF Sandbox 프로젝트입니다. 간단한 API 세트를 사용하여 연결을 촉진하는 하이브리드/멀티 클라우드 IP 서비스 메시입니다. 컨테이너 내부에서 실행되는 서비스와 외부 엔드포인트 간의 연결을 설정합니다. 구현 시 Kubernetes에 최소한의 변경만 필요합니다.

결론(In Conclusion)

서비스 메시는 마이크로서비스 아키텍처를 사용하여 개발된 애플리케이션의 관리와 유지보수를 단순화합니다. 마이크로서비스 아키텍처 내 전반적인 보안을 개선하고 트래픽 흐름의 가시성과 관찰 가능성을 보장합니다. 전반적으로 서비스 메시 기능은 성능을 향상시키고 개발 주기를 가속화합니다. 다양한 오픈 소스 솔루션이 제공되므로 애플리케이션 요구에 가장 적합한 것을 찾으세요.

클라우드 컴퓨팅

  1. 2026년 최고의 클라우드 컴퓨팅 강좌: AWS 기초부터 메릴랜드 MicroMasters까지
  2. 왜 워터젯 커팅인가? 정밀 금속 가공을 위한 핵심 이점
  3. 샌드블라스팅(Sandblasting): 금속 표면 처리의 5대 핵심 이점
  4. 흑연의 핵심 특성: 구조, 강도, 응용 분야 총정리
  5. 정밀 제조를 위한 워터젯 절단의 장점
  6. 기술의 7가지 핵심 유형 탐구
  7. 다양한 프로토타이핑 유형 이해: 창업자를 위한 가이드
  8. 제조 공정의 4가지 핵심 유형 탐구
  9. 5축 가공 마스터하기: 정밀도, 효율성, 핵심 응용 분야
  10. 베어링 유형 탐구: 볼, 롤러, 정밀 베어링 옵션