F5네트웍스가 지난 10월 12일(현지시간) 쿠버네티스(Kubernetes)를 위한 서비스 메쉬인 엔진엑스 서비스 메쉬(NGINX Service Mesh)를 발표했다. 쿠버네티스 서비스 메쉬로 잘 알려진 이스티오(Istio)의 대항마가 출현한 모양새다.
여러 작은 서비스 연계를 통해 응용 프로그램을 구축하는 마이크로 서비스는 개발 일정 단축과 유연한 확장성을 제공하지만 서비스간 통신과 디버깅이 복잡해지는 단점도 있었다. 이런 문제를 해결하는 게 서비스망 차원에서 엔진엑스 서비스 메쉬는 마이크로 서비스의 과제를 해결하고 있다.
보안의 경우 mTLS(Mutual TLS authentication)에 의해 서비스간 통신을 암호화해 해커 공격에 의한 정보 유출을 방지할 수 있다. 액세스 제어를 설정해 통신을 허용하는 서비스를 제어하는 것도 가능하다. 트래픽 관리는 새로운 버전 응용 프로그램에 대한 트래픽을 서서히 증가하는 등 제어 외에 속도 제한과 회로 차단 등 기능을 제공한다.
시각화의 경우 엔진엑스 플러스에서 인식을 하고 그라파나(Grafana)에서 대시보드 모니터링을 할 수 있다. 또 오픈트레이싱(OpenTracing) 트랜잭션 추적도 할 수 있다. 그 밖에 쿠버네티스에 없는 레거시 서비스도 메쉬 서비스와 연계하는 하이브리드 배포를 지원한다.
엔진엑스 서비스 메쉬 아키텍처는 마이크로 서비스간 통신을 추상화하는 데이터 플레인(Data Plane)과 통신 라우팅 등을 담당하는 컨트롤 플레인(Control Plane) 구축은 이스타오와 비슷하지만 서비스에 연결하는 사이드카 프록시(Envoy) 대신 상용 버전 엔진엑스인 엔진엑스 플러스를 이용한다. 컨트롤 플레인은 엔진엑스 플러스에 최적화되어 있으며 모니터링 플랫폼의 그라파나, 프로메테우스(Prometheus) 서비스 메쉬 인증을 스파이어(SPIRE) 메시징 시스템의 NATS 같은 오픈소스 소프트웨어를 통합했다는 것도 특징 중 하나다.
엔진엑스 서비스 메쉬는 아마존 EKS(Amazon Elastic Kubernetes Servic)와 애저 AKS(Azure Kubernetes Service), 구글 GKE(Google Kubernetes Engine) 등 관리 쿠버네티스 서비스 외에도 베어메탈 클러스터에서도 이용 가능하며 F네트웍스 포털 사이트에서 무료로 내려받을 수 있다. 관련 내용은 이곳에서 확인할 수 있다.