데이터센터 네트워킹의 진화

1. 데이터센터와 서버

요즘 우리는 인터넷과 떨어져 살아가기 힘든 시대에 살고 있다. 무엇이든 필요한 것이 있으면 바로 스마트폰으로 필요한 정보를 검색한다. 그럼 이러한 정보는 어디서 오는 것일까? 대부분의 정보는 데이터센터라는 곳에 위치하고 있고, 사용자는 그 데이터를 가공하여 보기 편하게 제공해주는 서버를 통해 서비스로 전달받는다. 서버라는 것은 우리가 사용하는 컴퓨터와 기본적인 구조는 동일하나, 서비스 연속성을 보장하기 위해 구성요소의 이중화를 기반으로 안정성이 강화된 형태의 컴퓨터이다. 각 서버들은 용도에 따라 데이터를 저장하는 용도로 사용되기도 하고, 데이터를 가공하는 용도로 사용되기도 한다. 결과적으로 서버는 데이터를 사용자에게 정보로 전달하는 중간 가교 역할을 하며, 이러한 서버들의 집합이 데이터센터이다.

 

서버의 진화

다시 말해, 사용자가 필요한 정보는 각 데이터센터에서 서버라고 불리우는 컴퓨팅 자원에서 연산 된 결과를 사용자에게 돌려주는 방식으로 제공된다. 이 과정에서 컴퓨팅 자원은 무엇인가 프로그래밍 된 애플리케이션에 따라 초기 데이터를 기반으로 다양한 결과를 사용자에게 돌려준다. 과거 이러한 컴퓨팅 연산은 메인프레임이라는 아주 커다란 장비에서 이루어졌다. 하지만, 특정 제조사나 솔루션의 종속성이 심하고, 공간 및 비용의 이슈를 가지고 있었다. 점차 작은 사이즈의 컴퓨팅 시스템에 대한 필요성이 점점 더 커졌고, UNIX 서버로의 다운사이징이 이루어 졌다. 이후 대부분의 서비스는 UNIX로 이루어졌지만, 시간이 지나면서 여전히 특정 제조사나 솔루션의 종속성은 그대로 가지고 있었다. 그러는 동안 X86 프로세스의 비약적인 발전을 기반으로 서버 가상화가 대세를 이루게 되었고, 결국은 서버 가상화 기반의 가상서버를 기반으로 서비스가 이루어 졌다. 현재 신규 구축되는 대부분의 서비스는 가상서버를 기반으로 이루어지고 있으며, 최근에는 가상서버보다 더 작은 단위로 가상서버 위에서 완벽한 고립(Isolation)을 통해 다양한 애플리케이션을 수용할 수 있는 컨테이너 기반의 서비스가 출현하였다. 물론 가상서버와 컨테이너를 단순한 가상화(virtualization) 여부만을 가지고 서로 비교하기는 어려울 수도 있으나, 앞으로의 서비스 및 개발의 형태가 컨테이너 기반으로 넘어갈 것이라는 방향성에는 대부분 동의한다. 최근에는 더 나아가, 서버리스라 불리는 클라우드 기반의 서비스 제공도 이미 사용되고 있는 상황이다. 서비스의 단위가 작아질수록, 기업의 개발방법론을 비롯한 다양한 변화가 필요하기 때문에, 하루아침에 모든 변화가 일어나지는 않는다. 하지만, 과거부터 현재까지의 서버의 역사를 본다면 점점 더 작은 단위로 쪼개지고 있음을 볼 수 있다. 물론 HPC등 특정한 용도에서는 여전히 더 큰 단위의 컴퓨팅 서비스가 필요하다. 하지만, 대부분의 일반 사용자를 위한 데이터센터에서는 점점 더 작은 단위로 서비스 단위가 줄어들고 있음이 분명하다.

 

[그림 1. 컴퓨팅 서비스 제공 방법의 진화]

 

변화하는 서버, 뒤 따라가는 네트워크

서비스는 점점 더 작은 서버 리소스를 기반으로 서비스되고 있다. 가상화 된 컴퓨팅 리소스는 이제 물리적인 기반을 떠나 어디로나 이동할 수 있는 환경이 되었다. 서버스용 컴퓨팅의 단위가 줄어들었지만, 네트워크는 아직도 변화의 시작단계에 있다. 과거 동축케이블부터 시작되어, 10G, 100G까지 더 빠른 네트워크를 사용하고 있는 현재이지만, 네트워크의 속도만 빨라 졌을 뿐, 기본적인 물리적 기반의 아키텍처는 그대로 유지하고 있다. 자유롭게 이동할 수 있는 서비스와는 달리 물리적인 한계속에 갇혀 있는 상황이다. 물론, 서비스 제공을 위해 무조건적인 가용성을 보장하기 위해 수십년 동안 전해 내려온 현재의 아키텍처는 매우 견고하고 다양한 기술의 조화로 이루어져 있다. 하지만, 이러한 구성은 모든 방식이 개별 장비의 설정으로 이루어져 있어 가상화 된 서비스의 이동이나, 신규 서비스의 런칭, 기존 구성의 변경 등에서 다시 사람의 손을 기다린다. 기존 서비스의 사용자 폭증으로 인해 갑자기 서버의 수를 늘리는 경우, 빠른 대응이 제일 중요하다. 하지만, 기본적인 구성이 모두 장비 기반으로 구성되다 보니, 골든타임을 놓치는 경우가 종종 발생한다. 서비스의 변화에 능동적으로 대응할 수 있는 네트워크가 필요한 시점이다.

 

2. 새로운 네트워크 세상 – 소프트웨어 정의 네트워킹(SDN)

최근 많은 데이터센터에서 물리적 기반의 네트워크 아키텍처를 벗어나, 효율적인 네트워크를 만들기 위해 다양한 시도들이 진행되고 있다. 데이터센터 네트워크를 바꾸는 여러가지 기술 중 현재까지 가장 앞서 있고, 데이터센터의 미래로 인정받는 기술이 바로 소프트웨어 정의 네트워킹(SDN, Software-Defined Networking)이다. 데이터센터에서 제일 중요한 서비스의 연속성을 유지시키기 위해, 서버는 다양한 방식으로 변화하고 있다. 이러한 서버의 변화에 효율적인 대응을 위한 것이 바로 SDN이다. 이를 통해 물리적 네트워크의 한계를 뛰어넘으며, 소프트웨어의 정책으로 네트워크를 제어한다. 물리적 구성을 통한 네트워크 개별 설정이 아니라, 네트워크의 관리 및 설정 기능을 컨트롤러라고 불리는 통합 관리 서버를 통해 통합 제어하는 것이다. 컨트롤러에서는 자동화된 애플리케이션을 기반으로 네트워크를 제어하여, 사용자의 대응보다 빠른 자동화된 대응이 가능하다. SDN을 통해 물리적 구성이 아닌 논리적 구성을 기반으로 네트워크가 구성되며, 서비스별로 가상의 네트워크를 가지게 된다. 물리적 위치에 상관없이 네트워크 서비스를 제공할 수 있는 것이다. 다수의 데이터센터를 가지고 있는 경우에는, 각 데이터센터에서 동일한 네트워크를 가지고 서비스의 연속성을 이어갈 수 있다. 또한, 최신의 데이터센터에서는 일반 데이터 트래픽뿐만 아니라, 스토리지 트래픽도 네트워크를 타는 경우가 많다. 이러한 경우에도 데이터 트래픽의 장애가 스토리지 트래픽에 영향을 주지 않도록 정책적으로 제어할 수 있다. 물리적 네트워크 구성에서는 별도의 네트워크를 구성했던 것을 통합하여 표준화된 네트워크 아키텍처 기반으로 운영할 수 있는 것이다.

 

[그림2. SDN의 표준 아키텍처]

 

3. SDN으로의 여정

SDN 도입은 단순 도입이 아니라, 데이터센터 아키텍처의 변화를 가져온다. 이를 위해서 다양한 방법의 변화가 가능하나, 일반적으로 다음의 절차에 따른 변화를 준비하는 것이 좋다. 먼저, 실제 데이터센터 네트워크의 주요문제점 및 원인을 파악하여, 정확한 현황을 파악하는 것이 좋다. 이를 바탕으로 필요한 기능에 대한 요구사항 명세서를 작성할 수 있다. 그 다음 요구사항 명세서를 기반으로SDN 도입을 위한 방향성을 수립하여, 목적에 맞는 도입 유형을 선택하고, 전체 네트워크 영역 중 정확한 적용 범위 및 도입 유형을 확정한다. 이후 대상 서비스 및 SDN 적용 방법에 대해 고민하여, 실제 서비스에 최소한의 영향으로 전환하는 것이 중요하다. 여기까지 왔으면 기존 운영방법 대신 새로운 운영방법 및 내부 프로세스의 재정립이 필요하다. 단지 솔루션의 변화가 아니라, 데이터센터 네트워크 방법의 변경이기 때문에, 기존과는 다른 조직 및 역할분담이 도움이 된다.
하지만, 안타깝게도 데이터센터의 최신 트렌드로만 SDN을 접근하는 경우가 많다. 비용 절감의 효과를 볼 수 있다는 달콤한 말에 따라 SDN을 도입하고자 하는 경우가 종종 있다. 하지만, SDN이 기존의 네트워크 환경을 100% 대체할 수 있는 수단으로, 그냥 교체만 하면 모든 것이 바로 될 수 있다는 생각은 버려야 한다. SDN은 특정 활용도나 목적에 따라 사용되어야 하며, 기존 네트워크도 당연히 남아있어 서로 간의 연동도 하나의 고려사항으로 두어야 한다. 또한, 기존 하드웨어 장비 제조사 기반의 엔지니어나 운영자들에게 SDN 뿐만 아니라, 서버 가상화를 비롯한 데이터센터 전체 숲을 볼 수 있는 능력을 사전에 길러주어야 한다. 이를 위한 기존 네트워크 관련 인원의 재교육은 필수적이다.

만약 내부적으로 충분히 준비되어 있지 않다고 판단되지만, SDN을 통한 다양한 효과를 얻고 싶거나, 앞으로 가야할 길에 대해 충분한 확신이 생기는 경우, 주저하지 말고 SDN 전문 업체의 컨설팅을 받는 것이 좋다. 기존 Legacy 기반의 네트워크 업체는 전체 데이터센터의 숲과 가상화에 대한 이해가 일반적으로 높지 않기 때문에, 가상 환경과 클라우드 데이터센터에 최적화된 SDN에 대한 경험을 가지고, 실제 구축 및 운영 서비스를 제공할 수 있는 전문가와 함께 하는 것이 중요하다. 데이터센터 전체 아키텍처가 고려되고, 서버/스토리지/네트워크 환경의 통합을 통한 최적화된 SDN의 구축은 비용절감을 넘어서 자동화를 통한 클라우드 서비스의 운영 최적화를 선물로 가져다줄 것이다. 앞으로 다가올 클라우드 세상을 SDN과 함께 맞이해보자.