Engineering
NHN Cloud의 NVIDIA BlueField 활용기
2024년 6월 3일
원문에서 보기 ↗
들어가며
NHN Cloud는 퍼블릭 클라우드를 제공하는 한국의 대표 CSP(cloud service provider)입니다. 자체 데이터센터를 기반으로 인프라, 컨테이너, 보안, AI/ML 등 다양한 서비스를 제공하고 있으며, 한국의 주요 대기업, 공공기관, 금융기관 등 5,000개 이상의 조직이 NHN Cloud를 사용하고 있습니다.
NHN Cloud는 클라우드 컴퓨팅 오픈소스인 OpenStack을 기반으로 만들어졌으며, OpenStack에서 제공하는 기능 외에 더 다양한 기능을 제공하기 위해 NVIDIA BlueField를 비롯한 여러 기술을 활용하고 있습니다. 이 글에서는 NHN Cloud가 NVIDIA BlueField 기반으로 어떻게 더 유연하고 효율적인 클라우드 네트워크를 구현했는지에 대해 이야기해 봅니다.
OpenStack 기반 클라우드, NHN Cloud
NHN Cloud는 OpenStack을 기반으로 한 퍼블릭 클라우드를 제공하고 있습니다. 2014년 서비스를 시작해, 현재는 인프라부터 플랫폼, 애플리케이션까지 클라우드 전 분야를 아우르며 200여 개의 서비스를 제공하고 있습니다. 또한 2023년에는 OpenStack에 대한 기술력을 인정받아 OpenInfra Asia 창립 멤버로 선정되었으며, OpenStack의 발전과 확산에도 지속적으로 기여하고 있습니다.
NHN Cloud는 그 중에서도 네트워크 분야 서비스를 구축하는데 많은 노력을 기울여 왔습니다. 사용자 정의 사설 네트워크인 VPC(virtual private cloud), 허브 앤 스포크 방식으로 VPC 간 피어링(peering)을 지원하는 Transit Hub, 외부 네트워크와의 안전한 연결을 보장하는 VPN Gateway가 대표적입니다. NHN Cloud는 이러한 서비스들을 효율적이고 안정적으로 구현하기 위해, OpenStack의 네트워크 담당 컴포넌트인 NEUTRON에 대한 많은 연구와 개발을 진행했습니다. 또한 NEUTRON이 제공하는 기본 기능 외에 더 다양한 기능을 제공하기 위해 플러그인과 자체 개발한 에이전트를 도입해 왔습니다.
최근에는 Bare Metal Instance를 출시했습니다. Bare Metal Instance는 OpenStack에서 컴퓨팅 자원 담당 컴포넌트인 NOVA와 IRONIC을 기반으로 구현되었습니다. 서비스를 개발하는 과정에서 많은 어려움이 있었으나, IRONIC이 제공하는 기능만으로는 Bare Metal Instance를 VPC에 유연하게 연결할 수 없는 점이 가장 큰 문제였습니다. NHN Cloud는 이 문제를 해결하기 위해, 기존과 다른 VPC 연동 방안을 고안해야 했습니다. 또한, 이후에 출시될 다른 서비스도 손쉽게 VPC에 연동할 수 있는 표준안이 필요했습니다.
NVIDIA BlueField 기반 SmartNIC을 활용한 VPC 연동
Bare Metal Instance를 VPC에 연결하는 방법은 두 가지가 있습니다. 첫 번째 방법은 스위치의 환경설정을 활용하는 방법이고 두 번째 방법은 SmartNIC을 활용하는 방법입니다. 스위치의 환경설정을 활용하는 방법은 비용 면에서 유리합니다. 다만, Bare Metal Instance가 기존의 다른 컴퓨팅 서비스와 다른 사용성을 보일 수밖에 없는 치명적인 문제가 있습니다.
반면, SmartNIC을 사용하면 기존의 컴퓨팅 서비스와 동일한 사용성을 제공할 수 있습니다. 또한, 네트워크 성능이 향상되고 구조가 단순해져 유지 보수가 용이해지는 장점이 있습니다. 따라서, NHN Cloud는 SmartNIC을 도입해 Bare Metal Instance를 VPC에 연동하는 방법을 선택하게 되었습니다.
이때 NHN Cloud는 SmartNIC 도입을 위해 NVIDIA BlueField을 활용했습니다. NVIDIA BlueField는 OVS 플로우를 하드웨어 오프로드(hardware offload)하여 높은 성능을 보장해 주는 ASAP2(accelerated switching and packet processing2)를 지원합니다. NVIDIA BlueField가 도입된 네트워크는 가상 네트워크 환경에서도 와이어 속도(wire speed)에 가까운 성능을 구현할 수 있습니다. 또한, Ubuntu 계열 Linux를 사용할 수 있어 유지 보수면에서 유리합니다. 하드웨어에 대한 이해가 부족한 일반 개발자도 OVS 및 Linux 네트워크 도구를 이용해 NVIDIA BlueField를 손쉽게 구동하고 설정할 수 있습니다. 이러한 특징은 성능 향상과 개발 기간 단축이라는 이점을 제공하며, SmartNIC의 모듈화를 가능하게 합니다.
NHN Cloud의 NVIDIA BlueField 적용 사례
Bare Metal Instance
사용자가 콘솔에서 Bare Metal Instance 생성을 요청하면, [그림 1]의 1번 프로세스(파란색)와 같이 NOVA와 IRONIC에 의해 Bare Metal Instance에 대한 초기화(cleaning 및 provisioning)가 진행됩니다. 해당 과정이 완료되면, 2번 프로세스(주황색)처럼 IRONIC은 NEUTRON에 Port 생성/변경 요청을 수행하게 되고, Bare Metal Instance에 연결된 SmartNIC은 연결 대상 네트워크를 Provisioning VPC에서 User VPC로 변경하게 됩니다. 그 결과 3번 프로세스(민트색)와 같이 Bare Metal Instance가 User VPC에 연결되고 사용자는 User VPC에서 Bare Metal Instance에 접근할 수 있게 됩니다.
[그림 1] Bare Metal Instance의 VPC 연결
Storage
Storage 서비스에서도 동일하게 사용됩니다. [그림 2]에서와 같이 Protocol Node에 SmartNIC을 연결함으로써 Storage 서비스를 VPC에 손쉽게 연동할 수 있습니다.
[그림 2] Storage 서비스의 VPC 연결
Security
SmartNIC을 통한 VPC 연결은 Security 서비스에서도 사용됩니다. Security 서비스를 구현하기 위한 보안 장비는 대체로 VPC를 위한 테넌트 네트워크(tenant network)를 지원하지 않습니다. 이 경우에도 SmartNIC을 연결하는 것만으로 VPC로의 손쉬운 연결이 가능해집니다. 예를 들어, SSL VPN 장비가 VPC를 지원하지 않고 플랫 네트워크(flat network)만 지원하는 경우, SmartNIC을 SSL VPN 장비에 연결함으로써 플랫 네트워크를 경유해 VPC로의 연결을 편리하게 구성할 수 있습니다.
NHN Cloud, Next Steps
위 사례에서 알아본 것과 같이, NHN Cloud는 NVIDIA BlueField 기반 SmartNIC을 VPC 연결성을 제공하기 위한 모듈로 사용하고 있습니다. 이러한 접근법은 좀 더 유연하게 다양한 자원을 VPC에 연동할 수 있게 합니다. 또한, 성능 향상과 원활한 유지 보수 등 부가적인 이점도 얻고 있습니다. NHN Cloud는 이러한 장점을 기반으로 더 다양한 영역에 SmartNIC을 도입하고자 합니다. 대표적으로 AI 학습 및 추론을 위한 GPU 노드, 로우 레이턴시(low latency)를 요구하는 고성능 네트워크 노드에 SmartNIC을 도입하는 프로젝트가 예정되어 있습니다. NHN Cloud는 앞으로도 NVIDIA와의 지속적인 협업으로 네트워크 인프라를 고도화하고 사용자에게 높은 품질의 서비스를 제공하려 합니다. 발전해 나가는 NHN Cloud의 의미 있는 행보를 지켜봐 주시기 바랍니다.