[Service Mesh] Envoy: 현대적 서비스 지향 아키텍처를 위한 필수 프록시

IMKUNYOUNG·2024년 6월 30일
0

KCNA

목록 보기
22/56

서비스 메시(World)에 진입하면 Envoy는 가장 흔하게 들을 수 있는 프록시 중 하나입니다. 이번 글에서는 Envoy가 무엇인지, 왜 중요한지, 그리고 현재의 IT 환경에서 어떻게 활용되고 있는지에 대해 자세히 알아보겠습니다.

프록시의 필요성

어플리케이션이 비즈니스 로직을 처리하는 동안에도 TLS 암호화, 인증, 재시도 및 실패 처리와 같은 추가적 기능들이 필요할 때가 있습니다. 이런 기능들을 어플리케이션 코드에 직접 구현하면 코드가 복잡해지고 유지보수가 어려워집니다. 이를 해결하기 위해, 이러한 추가 기능들을 분리된 서비스로 관리하고자 합니다. 여기서 프록시가 등장합니다.

프록시는 클라이언트와 서버 사이에서 중간 역할을 수행하여, 클라이언트 요청을 받아 서버에 전달하고 서버의 응답을 다시 클라이언트에게 전달합니다. Envoy는 이러한 프록시의 역할을 수행하는 도구 중 하나로, 특히 모던 서비스 지향 아키텍처에 적합하게 설계되었습니다.

Envoy의 역할과 특징

Envoy는 Lyft에서 시작된 오픈 소스 프로젝트로, 초기에는 마이크로서비스 아키텍처에서 발생하는 네트워크 문제를 해결하기 위해 개발되었습니다. 2017년에는 CNCF(클라우드 네이티브 컴퓨팅 재단)에서 이 프로젝트를 승인하였고, 2018년에는 졸업 수준 프로젝트로 선정되었습니다. 이는 Envoy가 실제 환경에서 검증되었으며, 생산 준비가 완료되었으며, 많은 기여자들이 활동 중임을 의미합니다.

Envoy는 고급 기능을 갖춘 프록시 및 통신 버스로서 동작하며, 주로 컨테이너 환경에서 사이드카로 활용됩니다. 이는 각 서비스 인스턴스 옆에 두어서 들어오고 나가는 트래픽을 효과적으로 관리하고 제어할 수 있게 합니다.

현재의 활용

많은 기업들이 Envoy를 서비스 메시 구현의 핵심 요소로 사용하고 있습니다. 예를 들어 istio와 같은 서비스 메시 솔루션은 Envoy를 기반으로 설계되어, 다양한 서비스 간의 통신과 관리를 효율적으로 수행합니다. Envoy는 이러한 환경에서 높은 성능과 안정성을 제공하여, 클라우드 네이티브 환경에서의 서비스 구축 및 운영을 지원합니다.

마무리

Envoy는 현대적인 클라우드 네이티브 애플리케이션의 필수 요소로 자리잡고 있습니다. 그 기능적 다양성과 신뢰성은 많은 기업들에게 신뢰받고 있으며, 앞으로도 지속적인 발전이 기대됩니다. 이를 통해 개발자들은 비즈니스 로직에 집중하면서도 네트워크와 보안 관리에 대한 부담을 줄일 수 있습니다.

0개의 댓글