SmartNIC-현대 클라우드 아키텍처의 필수요소

무어의 법칙이 종말함에 따라, 하드웨어의 발전이 현대 클라우드 아키텍처에서 주목을 받기

시작했습니다. 클라우드 제공업체들은 이런 감소를 처음으로 알아챘고, GPU, NPU 그리고 ASIC

칩과 같은 네트워크 퍼포먼스를 향상시킬 수 있는 다른 대안들로 실험하기 시작했습니다.

오늘날, 모든 클라우드 제공업체들은 어떤 형태로든 SmartNIC를 구동합니다. 예를 들어,

아마존은 AWS Nitro(내부 사용을 위한 SmartNIC)를 개발하기 위해 심혈을 기울였습니다.


기업의 데이터 센터(프라이빗 클라우드)는 대개 퍼블릭 클라우드에서 보여지는 아키텍처와

솔루션을 따릅니다. 그러나 이런 데이터 센터는 소프트웨어/하드웨어의 복잡한 부분들을 그들의

디자인에 통합하기 위해 필요한 전문성이 없습니다. NetLOX가 해결하고자 하는 문제영역으로,

NetLOX 소프트웨어 오퍼링을 쓰면 이 마이그레이션이 더 쉬워집니다. 이번 포스팅에서,

SmartNIC가 제공할 수 있는 이점에 대해서 알려드리겠습니다.


1) 퍼포먼스(Performance), 지연(Latency), 지터(jitter)

오늘날 DPDK, VPP와 같은 다양한 기술들은 (많은 수정과 퍼포먼스 최적화를 통해) CPU기반의 통신으로 100Gbps까지 늘릴 수 있습니다. 하지만 서버가 이런 목적으로 사용되고 난 후에는

의미있는 작업을 할 수 없습니다. 트래픽 송수신(푸시 등) 및 포트간 트래픽 전환 뿐만 아니라

트래픽에 유용한 서비스를 적용하는 동시에 지연과 지터를 심하게 발생시키지 않는 것 또한

불가능하게 됩니다


2) 오버레이 네트워킹

현대 SDN 솔루션을 실행하려면 가상 스위치가 VXLAN, VTEP, Geneve 등 수 많은 오버레이 네트워크 기능을 지원해야 하는 경우가 대부분입니다. 그동안 계속해서 이런 실행이 전체적인

서버 퍼포먼스 저하에 취약하다는 것이 드러났습니다. SmartNIC를 통해서 서버 퍼포먼스를

크게 향상시킬 수 있습니다.


3) 가시성(Visibility)

텔레메트리 – 네트워크에서 무슨 일이 일어나고 있는 지 이해하려면 텔레메트리 측정치를

데이터플레인에서 바로 스트리밍하는 것이 중요합니다. AI가 결합된 텔레메트리에 대한 실시간

인사이트로부터 데이터 센터의 네트워킹 페인 포인트(pain point)에 관한 귀중한 정보를 얻을 수 있습니다. 탭 네트워크 – 탭 네트워크 기능을 탑재한 SmartNIC를 쓰면 프라이머리 네트워크를 모니터링할 때 별도의 탭 네트워크 장비를 쓸 필요가 없어져 상당한 비용을 절감할 수 있습니다. 또한 SmartNIC로 고대역폭 트래픽을 처리하면 TAP 싱크가 탭 트래픽 자체를 분석하는 것이 용이해집니다.


4) 보안(Security)

방화벽과 마이크로 세그멘테이션은 서버(서버의 워크로드)를 외부 공격으로부터 보호하고

해킹된 서버가 측면으로 이동하여 네트워크를 공격할 위험을 방지합니다.


대칭 및 비대칭 암호화 방식 - 메인서버 CPU에서 수행하면 상당량의 코어를 소모하게 됩니다.

이러한 암호화 수행이 네이티브 방식의 CPU 코어에서 이루어지면 좋을 게 없습니다.

내포(Containment) - 보안의 관점에서 SmartNIC은 서버와 분리된 별도의 엔티티입니다.

독자적인 보안 형상을 갖고 있어야 하고, 이런 보안 형상은 PCIe 인터페이스를 통해 접속이

불가능해야 합니다. 다중인증처럼, 해커는 성공하기 위해 두 엔티티를 해킹해야 할 것입니다.

5) 가상 블록 스토리지(Virtual Block Storage) NVMe 오버 패브릭이 도입되면서 SmartNIC가 완벽한 블록 스토리지 어댑터의 역할을 수행할 수 있게 됐습니다.


6) 확장성(Scalability)

접근 제어 목록(Access Control List)에 대해 생각해 봅시다. 접근제어목록 몇 가지를

소프트웨어에서 작동시키는 것은 쉽습니다. 그러나 일단 크기가 1,000대 이상으로 커지기

시작하면 심각한 퍼포먼스의 저하가 발생합니다. 쉽게 말해, 확장이 되지 않는 것입니다!


결론 요즘 모두가 베어메탈 서버, 가상 머신, 그리고 컨테이너에 효과적인 아키텍처를 설계하고

싶어합니다. 서버와 네트워크 사이에 위치한 SmartNIC가 있다면 가능합니다. 이러한

환경에서는 호스트 기반 소프트웨어 솔루션에서 문제가 발생되기도 합니다. 가상 머신이 있을

때, 하이퍼바이저에서 솔루션을 실행하십니까? 혹은 가상 머신을 통해 실행하십니까?

데이터베이스나 ERP 애플리케이션을 구동중인 베어메탈서버의 소프트웨어를 수정하실 수

있습니까?


이 모든 요소들을 종합적으로 고려해 봤을 때, 얼마나 많은 Gbps을 서버의 자원을 투입하고

산출하는지에 관한 것만은 아니라는 것은 명확합니다. 사용자가 원하는 기능과 보안수준이 더

중요합니다. 모두가 SmartNIC를 현대 클라우드 아키텍처의 필수 엔티티로 여기게 될 것입니다.