Skip to main content

Why use Istio / Why use Consul

Why use Istio

Istio는 서비스 코드에 거의 또는 전혀 코드 변경이 필요하지 않은 상태로 로드 밸런싱, 서비스 간 인증, 모니터링 등이 포함된 배포된 서비스 네트워크를 쉽게 생성할 수 있도록 합니다.

서비스에 Istio 지원을 추가하려면 환경 전체에서 모든 마이크로서비스 간의 네트워크 통신을 가로채는 특별한 사이드카 프록시를 배포하여 Istio를 설치한 다음, 제어 플레인 기능을 사용하여 Istio를 구성하고 관리합니다. 이 제어 플레인 기능은 다음을 포함합니다:

• HTTP, gRPC, WebSocket 및 TCP 트래픽에 대한 자동 로드 밸런싱.

• 풍부한 라우팅 규칙, 재시도, 장애 복구 및 장애 삽입을 통한 트래픽 동작의 세세한 제어.

• 액세스 제어, 비율 제한 및 할당을 지원하는 플러그 가능한 정책 레이어 및 구성 API.

• 클러스터 내 모든 트래픽에 대한 자동 메트릭, 로그 및 추적, 클러스터 인그레스 및 엡레스를 포함합니다.

• 강력한 식별 기반 인증 및 권한을 사용하여 클러스터 내 안전한 서비스 간 통신.

또한 Istio 서비스 메시 제어 플레인은 다음을 처리합니다: 

• HTTP 및 TCP 트래픽에 대한 자동 로드 밸런싱.

• 트래픽 동작 제어.

• 안전한 인증을 통한 클러스터 내 서비스 간 통신.

Why use Consul

Consul의 아키텍처는 매우 모듈화되어 있으며 다음과 같은 플러그 가능한 구성 요소가 있습니다:

• 데이터 플레인 (Native 또는 Sidecar)

• 인증서 관리

Consul은 서버 및 클라이언트 기능을 모두 제공하는 단일 바이너리(binary)로, 서비스 카탈로그, 구성, TLS 인증서, 권한 및 기타 모든 기능을 포함하고 있습니다. Consul을 사용하기 위해 별도의 시스템을 추가로 설치할 필요가 없습니다. Consul은 각 클러스터 노드에서 Consul 클라이언트를 실행하는 에이전트 기반 모델을 사용합니다.

각 클라이언트는 서버로부터 효율적으로 업데이트되는 로컬 캐시를 유지합니다. 그 결과로 모든 보안 서비스 통신 API는 마이크로초 내에 응답하며 외부 통신이 필요하지 않습니다. 응용 프로그램은 Connect 프로토콜과 네이티브로 통합할 수 있습니다. 결과적으로 Connect를 도입함으로써 발생하는 성능 오버헤드는 무시할 만큼 미미합니다. 이러한 "Connect-native" 응용 프로그램은 프록시를 사용하거나 Connect-native인 경우와 관계없이 다른 Connect 호환 서비스와 상호 작용할 수 있습니다. Consul은 회전 지원이 포함된 자동 TLS 인증서 관리를 구현합니다. 대규모 Consul 클러스터 전체에서 리프 및 루트 인증서는 연결에 아무런 중단이 없도록 자동으로 회전할 수 있습니다. 인증서 관리 시스템은 Consul의 코드 변경을 통해 플러그 가능하게 구현할 수 있습니다.

Comparison of Istio and Consul


Istio Consul Connect
Model Sidecar Sidecar
Platform Kubernetes Any
language Go Go
Protocol HTTP1.1 / HTTP2 / gRPC / TCP TCP
Default Data Plane Envoy (supports others) Native (or Envoy)
Sidecar
Injection
Yes Yes
Encryption Yes Yes
Traffic Control  label/content based routing, traffic
shifting
static upstream, prepared query, http
api / dns with native integration
Resilience timeouts, retries, connection pools,
outlier detection
Pluggable
Prometheus Integration Yes Yes

Tracing Integration

Jaeger Pluggable

Host to Host auth

Service Accounts Consul ACL

Agent Caching

Yes Yes

Secure connection outside cluster

No Yes

Complexity

High Low

Paid Support

No Yes

Link

https://istio.io/ https://www.consul.io/intro/gettingstarted/connect.html