본문 바로가기

사는 이야기/펌킨도서관

마이크로서비스 아키텍처 환경에서 L4/L7 스위치의 위치와 역할

애플리케이션 개발, 배포, 운영 방식은 변하고 있죠. 최근 흐름의 중심에는 마이크로서비스 아키텍처 기반의 서버리스(severless) 컴퓨팅입니다. 개발자는 인프라에 대해 1 신경 필요 없이, 그대로 서버 없는 애플리케이션 배포, 운영 방식이 뜨고 있습니다. 그렇다고 3티어 구조의 전통적인 방식이 순간에 사라지지는 않겠죠. 그래왔듯이 기업의 IT 환경은 과거, 현재, 미래가 공존합니다. 


오늘 소개할 주제는 마이크로서비스 아키텍처 환경에서 L4/L7 위치와 역할입니다. 전통적인 L4/L7 스위치는 다음과 같이 서버, 애플리케이션 서버, 데이터베이스 서버, 보안 장치 물리적인 장치를 바라봅니다. L4/L7 스위치는 North-South 트래픽 흐름에 따라 로드밸런싱을 수행합니다. 참고로 North-South 트래픽은 쉽게 말해 클라이언트와 서버 트래픽 흐름을 뜻합니다. 



그렇다면 마이크로서비스 아키텍처 환경에서는 L4/L7 스위치가 어느 위치에 들어갈까요? 환경에서는 물리적인 L4/L7 스위치 장비와 컨테이너 기반으로 배포 가능한 소프트웨어 프록시가 쓰입니다. 이유는 마이크로서비스 아키텍처 환경은 3티어 구조와 달리 물리적인 서버와 호스트 운영체제 플랫폼 독립적으로 컨테이너를 배포하고, 이들 컨테이너에 올린 여러 기능 단위 서비스나 앱이 서로 통신을 합니다. 가령 쇼핑몰 서비스라고 하면 체크아웃, 카탈로그, 쇼핑 카드 등이 컨테이너 기반에 각각 올려져 서로 연계됩니다. 이런 환경에서는 물리적 L4/L7 스위치는 전통적인 위치와 기능인 North-South 트래픽을 처리합니다. 


그렇다면 여러 컨테이너에 올린 서비스 간의 통신에 부하는 어떻게 분산할 것인가? 이를 위해 소프트웨어 기반 ADC 오픈 소스 프록시를 컨테이너 환경에 적용합니다. 노드 단위로 배포된 소프트웨어 기반 L4/L7 스위치는 East-West 트래픽에 대한 로드밸런싱을 처리합니다. 참고로 East-West 트래픽이란 서버 통신을 말합니다. 간단히 차이를 비교하면 North-South 외부에서 내부 네트워크로 들어와 서버로 향하는 트래픽인 반면 East-West 트래픽은 데이터센터 같은 네트워크상에 있는 서버 간에 통신을 말합니다. 




간단히 정리하자면 마이크로서비스 아키텍처 환경에서 L4/L7 로드밸런싱은 컨테이너에 올린 /서비스 트래픽 처리의 경우 소프트웨어 측면에서 노드 단위로 배포된 프록시를 통해 이루어집니다. 그리고 물리적인 L4/L7 스위치는 데이터센터 연계, API 게이트웨이 서버를 위한 로드밸런싱 North-South 트래픽 처리 목적과 소프트웨어 L4/L7 스위치의 컨트롤 플레인 기능을 위해 사용됩니다. 


후속 포스팅으로 펌킨네트웍스의 AEN 시리즈를 API 게이트웨이 기반 API 포탈 사이트 구축에 어떻게 적용할 수 있는 지에 대한 유즈 케이스를 정리해 보겠습니다.