최신 애플리케이션 구축을 위한 8명의 최고의 서비스 메시 관리자
게시 됨: 2022-05-31마이크로 서비스로 작업할 때 애플리케이션은 시스템으로 함께 작동하기 위해 통신해야 하는 다양한 소규모 서비스로 구성됩니다.
마이크로서비스는 개별 서비스 간에 직접 통신하는 경우가 많기 때문에 비효율적이고 오류가 발생하기 쉽지만 서비스 메시가 도움이 될 수 있는 부분은 바로 이 부분입니다.

서비스 메시란 무엇입니까?
서비스 메시라는 용어는 처음에 애플리케이션의 서로 다른 마이크로서비스 간의 데이터 교환을 제어하는 방법을 설명합니다. 특히, 마이크로 서비스 간의 통신을 가능하게 하는 소프트웨어를 사용하는 것에 관한 것입니다.
- 애플리케이션 식별
- 부하 분산
- 입증
- 암호화
상호 연결된 마이크로 서비스의 메시 네트워크는 프록시를 통해 실행되는 병렬 연결에 의해 생성됩니다. 이를 위해 네트워크로 연결된 마이크로서비스 네트워크는 상위 수준의 데이터 센터 네트워킹 관리 시스템에 통합됩니다. 그러면 애플리케이션이 발전하는 동안 다운타임 없이 통신을 최적화하기가 더 쉽습니다. 실제로 각 애플리케이션 서비스는 사용자 요구를 충족시키기 위해 다른 서비스가 필요합니다.
예를 들어, 온라인 판매 애플리케이션을 사용하면 구매하기 전에 사용자는 해당 기사가 실제로 사용 가능한지 여부를 알게 됩니다. 이를 위해서는 데이터베이스와 관련된 서비스와 제품의 웹페이지 간에 통신이 설정되어야 합니다. 그런 다음 후자는 사용자의 온라인 쇼핑 카트와 통신해야 합니다.
또한 리셀러는 애플리케이션에 제품 제안 서비스를 설정하여 사용자를 더 잘 안내할 수 있습니다. 이 경우 이 새로운 서비스는 제안서를 발행하기 위해 상품 태그 데이터베이스와 교환해야 할 뿐만 아니라 사전에 상품 페이지와 통신해야 하는 인벤토리 데이터베이스와도 교환해야 한다. 실제로 재사용 가능한 제품 세트입니다.
최신 애플리케이션은 일반적으로 특정 비즈니스 기능을 수행하는 것을 목적으로 하는 서비스 네트워크로 이와 같이 설정됩니다.
서비스 메시는 어떻게 작동하며 이점은 무엇입니까?
Service Mesh는 애플리케이션의 작업 환경에서 다른 기능을 생성하지 않는다는 점에 유의해야 합니다. 애플리케이션에서 생성된 Service Mesh는 엔터프라이즈 컴퓨팅 부문에서 친숙한 개념으로 남아 있는 네트워크 프록시 그룹의 형태입니다.
직장 컴퓨터를 사용하여 웹 페이지를 방문할 때마다 프록시를 사용하게 될 것입니다. 마이크로 서비스의 인프라 계층을 기반으로 하는 프록시는 그들 사이에서 요청을 라우팅하는 데 도움이 됩니다. 따라서 "sidecar"라는 단어는 서비스 메시에 포함된 프록시를 지정하는데, 이는 그들의 실행이 서비스 내부가 아니라 서비스 옆에서 이루어지기 때문입니다. 다양한 서비스의 "사이드카" 프록시가 메시 네트워크를 설정합니다.
또한 서비스 메시가 없는 경우 개발자는 서비스 간의 통신 전략에 따라 각 마이크로서비스를 코딩해야 합니다. 부서 간 커뮤니케이션 로직이 부서마다 숨겨져 있기 때문에 개발자들은 회사 목표를 달성하기 위해 고군분투합니다.
또한 의사 소통 문제를 진단하는 데 어려움을 겪습니다. 마지막으로, 서비스 메시를 통해 서비스 간 통신 관리와 관련된 일부 문제에 대한 솔루션을 찾을 수 있습니다.
서비스 메시를 사용하면 메시 네트워크의 아웃소싱 인프라에서 필요한 데이터와 통찰력에 쉽게 액세스할 수 있으므로 이 통신을 자동화할 수 있습니다. 문제와 오작동을 쉽게 파악하고 제거할 수 있습니다. 또한 이를 통해 회사의 IT 부서는 안심하고 다른 부가가치 작업에 전념할 수 있습니다.
통신 추상화로 인해 실패한 서비스도 자동으로 우회될 수 있으며 작동하는 응용 프로그램 부분의 데이터 교환을 손상시키지 않습니다. 서비스 메시 시스템의 쉽게 접근 가능한 데이터도 쉽게 분석할 수 있어 애플리케이션의 운영 개선 및 성능 향상이 가능합니다.
우리는 서비스 메시가 어떻게 작동하는지 살펴보았습니다. 이제 최고의 서비스 메시 관리자를 살펴보겠습니다.
메쉬

Meshery는 다양한 서비스 메시 솔루션을 실행할 수 있는 메시 서비스 관리자입니다. Kubernetes 및 Docker에 배포할 수 있습니다. Mastery는 Linkerd 및 Istio를 포함한 모든 주요 메시 서비스 솔루션에 대한 벤치마크를 설정하는 UI 및 CLI를 제공합니다. Meshery는 클러스터에 직접 또는 로컬로 배포할 수 있습니다.
아마존 앱 메시
AWS App Mesh는 Amazon의 Kubernetes 플랫폼(EKS)을 위한 네트워크 메시 서비스입니다. 수신 및 송신 트래픽에 대해 Envoy 사이드카 프록시를 통해 애플리케이션 수준 관리를 제공하고 AWS X-Ray를 사용하여 관측 가능성 지표를 제공하기 위해 회로 차단을 사용합니다. AWS 앱 메시는 Amazon EC2 및 AWS Fargate와 같은 다른 서비스와 함께 사용할 수도 있습니다.

링커드
Linkerd는 Rust 기반 맞춤형 프록시를 사용하여 마이크로서비스를 관리하는 오픈 소스 네트워크 메시 관리자입니다. 관찰 가능성 메트릭을 제공하기 위해 사전 설치된 Grafana와 함께 제공됩니다. Linkerd는 다른 오픈 소스 메쉬 관리자와 달리 GUI를 제공하며 Prometheus를 지원할 뿐만 아니라 Traefik, Kong, Gloo와 같은 인그레스 컨트롤러도 지원합니다. Linkerd는 클러스터 전반에 걸쳐 자동 배포 업그레이드도 지원합니다.
이스티오

Istio는 Envoy 프록시를 사용하여 마이크로 서비스를 관리하는 오픈 소스 서비스 메시입니다. Istio는 로드 밸런싱, 정책 생성, 트래픽 라우팅, 타임아웃, 회로 차단, 트래픽 이동 및 재시도와 같은 여러 기능을 제공합니다. Istio는 또한 추가 소프트웨어를 설치할 필요 없이 컨테이너 또는 시스템 전반에 걸쳐 분산 추적 기능을 제공합니다.
쿠마

Kuma는 Kong이 만든 서비스 메시로 Envoy 프록시를 통해 기존 서비스의 작업을 확장하는 데 사용됩니다. Kuma는 다양한 마이크로서비스를 지원하고 네트워크에 대한 향상된 보안 및 모니터링을 제공합니다. 라우팅, mTLS, 트래픽 제어 및 다양한 보안 기능을 위한 여러 사전 번들 정책과 함께 제공됩니다. Kuma를 사용하면 단일 제어 및 데이터 평면을 통해 서로 다른 격리된 메시를 쉽게 제어할 수 있습니다.
Nginx 메쉬

Nginx는 Nginx Plus에서 제공하는 데이터 플레인을 사용하여 컨테이너 간의 트래픽을 암호화하는 Kubernetes용 서비스 메시입니다. Nginx는 속도 제한 및 회로 차단기를 사용하여 서비스 간 트래픽을 관리하고 서비스 메시의 메트릭을 관찰하기 위한 Grafana 대시보드와 함께 제공됩니다.
영사

HashiCorp의 Consul은 내장 프록시 레이어를 제공하고 Envoy 사이드카 프록시도 지원하는 서비스 메시입니다. 경로 기반 라우팅, 트래픽 이동 및 로드 밸런싱을 제공합니다. Consul은 HashiCorp Vault와 통합되어 있으며 mTLS도 지원합니다. Prometheus 및 Grafana와 통합하여 관찰 가능성 메트릭을 볼 수 있습니다.
글루 메쉬

Gloo Mesh는 Istio 메시 위에 구축된 서비스 메시로 Envoy 프록시를 사용하여 제로 트러스트 보안 모델을 구현할 수 있습니다. Gloo는 다중 테넌시 Kubernetes, VM 및 기타 마이크로서비스를 지원합니다. CI/CD 및 GitOps 친화적이므로 배포가 더 쉽습니다.
마지막 단어
서비스 메시는 서로 다른 마이크로서비스 간의 통신 문제를 해결하고 다양한 보안 이점을 제공합니다. 그러나 시장에서 사용할 수 있는 수백 가지의 다양한 메시 솔루션으로 인해 요구 사항에 가장 적합하고 관리하기 쉬운 메시 서비스를 선택하는 것이 필수적입니다.