Stop Thinking, Just Do!

Sung-Soo Kim's Blog

SDN and Big Data

tagsTags

12 January 2016


Article Source


SDN과 빅데이터가 만나는 네트워킹의 다음 단계

마이클 부숑은 몇 년간 주니퍼 네트웍스의 SDN 관련 사업을 이끌었고, 현재는 SDN 전문업체인 플렉시(Plexxi)에서 일하고 있다. 부숑은 인포월드의 뉴테크 포럼(New Tech Forum)에서 SDN이 어떤 가치를 약속하는지, 그리고 우리의 바람처럼 네트워크를 재창조하기 위해서는 어떠한 질문들에 대한 답을 찾아야 하는지 자세하게 이야기했다. 부숑에 의하면, 이를 현실화하기 위해서는 SDN과 빅데이터가 함께 가야만 한다.

SDN (Software-defined networking)은 매일 새롭게 주목 받고 있다. 오늘날의 애플리케이션과 인프라에 보다 잘 맞도록 네트워크를 재창조하는 것은 아주 흥미로운 목표이지만, 도전 과제 또한 만만치 않다.

빅데이터와 SDN의 연결고리

네트워크 산업은 변곡점에 도달했다. 클라우드 기술을 배경으로, SDN과 빅데이터는 데이터센터의 기능을 함께 재정의하고 있다. 이러한 방대한 변화와 함께 현실은 이제 커다란 이상에 머무르지 않고, 어떻게 이 두 기술을 합칠 것인가의 세부 방법에 집중하고 있다. 이 미묘한 차이를 이해하는 사람이 새로운 기술의 활용에서 가장 좋은 자리를 차지함으로써, 데이터센터 구조를 혁신할 새로운 포인트를 제공할 것이다.

왜 SDN이 필요한가

SDN과 빅데이터가 어떻게 함께할 지 이해하기 위해, 왜 SDN이 현재 화제가 되고 있는지 알아야 한다. 대부분의 주안점이 오픈플로우(OpenFlow)와 같은 프로토콜을 강조하는데 있지만, 실제로 SDN은 이를 구성하는 기술들보다 큰 것이다. SDN은 실제 오늘날의 네트워크 산업에서 고통스러워하고 있는 바로 그 부분에 대한 대응인 것이다.

오늘날, 네트워크 프로비저닝과 관리는 어쩔 수 없이 성가신 수작업을 필요로 한다. 그러나 인프라와 그 위의 애플리케이션이 안정적이고 변화가 드물다면, 이 고통은 죽을 만큼은 아닐 것이다. 하지만 컴퓨팅과 스토리지 영역에서 가상화의 확산은 워크로드의 이동성을 강화을 촉진시키면서, 네트워크가 야기하는 어려움이 더욱 극명하게 드러나게 됐다.

SDN의 힘은 그것이 이 고통을 완화시켜줄 수 있다는 가능성에 있다. 그러나 이것이 어떻게 가능할까?

가장 핵심적인 점은 SDN은 제어와 전달을 분리한다는 것이다. 제어를 집중함으로써, 네트워크는 하나의 통합된 자원으로 다루어질 수 있다. 전체적인 시각에서 보면, SDN 컨트롤러는 애플리케이션의 워크로드를 위해 전체 네트워크를 사용할 수 있다. 개념적으로, 이것은 오늘날 도시에서 사용되는 글로벌 교통 관제 솔루션들과 다르지 않다. 도시 전체의 교통 흐름을 이해하고 이를 제어하기 위해, 관제센터는 신호 방식을 변경하거나, 통행 요금을 변화시킬 수 있다.

이러한 능력들이 하나 혹은 그 이상의 SDN 컨트롤러에 의해 구현된다. 이들은 또한 애플리케이션이 동작할 수 있는 플랫폼의 역할도 수행한다. 이들 애플리케이션이 바로 SDN의 가치를 위한 최고의 도구들이다. 전체 네트워크를 자원으로 활용하면서, 애플리케이션은 컨트롤러의 입력에 따라 지능적이고, 전체적인 관점에서 합리적인 네트워크 공급을 수행할 수 있다. 예를 들어, 사용자들은 네트워크 트래픽을 모니터링 지점으로 끌어올 수 있다.. 분산된 설정으로 인한 문제는 이제 하나의 관리 지점에서 해결할 수 있고, 이를 위한 노력과 잘못된 설정으로 인한 정지 시간은 줄어들 것이다.

빅데이터의 역할

진정한 동적 환경을 구현하기 위해 SDN 애플리케이션은 기반 환경에 대해 반드시 민감하게 반응해야 한다. 최소한, 어떠한 변화가 발생했을 때, 올바로 동작했는지 확인할 수 있는 피드백은 반드시 필요하다. 그 다음에, 트리거(trigger)는 현재의 수동적인 개입이 필요한 형태에서 상태 주도(state-driven)적으로 진화하는 것을 피할 수 없을 것으로 보인다.

수동에서 자동으로의 자연스러운 발전은 먼저 네트워크 분석 과정을 거쳐야 할 것이다. 예를 들어, 현재의 트래픽 조건들이 네트워크의 경로 최적화를 위해 사용될 수 있는가? 지역성(locality)은 지능적으로 사용자와 그 사용자에 근접한 곳에 캐시되어 있는 컨텐츠를 연결하기 위해 사용될 수 있는가?

네트워크 분석이 의미 있는 역할을 수행할 수 있다면, 이제 이 역할은 어디서 시작되고 끝나야만 하는지 고민할 필요가 있다. 사용될 가능성이 있는 정보는 어디에서 오는가? 얼마나 많은 도착점들이 고려되어야 하는가? 도착점의 수에 대해 가상화는 어떤 영향을 미치는가? 이러한 네트워크 혹은 네트워크 외 개체들로 분산되는 상태 정보는 얼마나 많아야 하는가? 상태 정보들은 어떻게 수집, 저장되고 서로 연결되는가?

이러한 생각의 흐름이 주는 자연스러운 결론은, 오늘날의 네트워크 분석이 단지 시작에 불과하다는 점이다. 본질적으로, SDN의 가치는 네트워크에 있는 정보와, SDN 애플리케이션을 흥미 있게 만드는 결정들에 달려있다. 수 많은 사용자에게 증가하고 있는 트래픽들을 전달하는 도착점이 많아질수록, 그 정보의 합은 빅데이터가 될 것이다.

SDN과 빅데이터가 충돌할 때

다양한 데이터 소스가 연결된 동적인 IT 인프라로 이동하면서 고려할 수 많은 실제적인 요소들이 있다. 여기에 우리가 고려할 만한 몇 가지 질문들이 있다.

  • 데이터가 얼마나 상세해야 하는가? 대부분의 분석 도구들이 시간 간격을 두고 데이터를 샘플링한 후, 그 평균을 취한다. 데이터를 실시간으로 이용하고 싶다면, 얼마나 자세한 정보가 필요하겠는가? 만약 수집 간격이 너무 넓으면, 변화는 실시간으로 적용되지 않을 것이다. 그 반대라면, 의미 있는 상태를 찾지 못하도록 데이터가 계속 움직일 위험성이 있다.

  • 어디서 데이터를 수집하는가? 만약 데이터를 수집하는 소스가 (물리적 혹은 가상화된 상황에서) 분산된 IT 인프라 개체에 있다면, 어떤 데이터를 수집하는가? 그리고, 그 데이터는 어디에 저장되는가? 실시간으로 많은 디바이스에 접근하는 것은 기술적으로 어려운 도전이고, 데이터를 한 곳에 가지고 있는 것은 완전히 끔찍한 일이다. 어떻게 오류에 극복할 수 있는 데이터 수집 기능을 만들어낼 것인가? 어느 정도 규모가 고려되어야 하는가? 성능은 어떨 것인가?

  • 실시간 혹은 배치(batch) 처리? 빅데이터를 수집하는 것은 어렵지만, 이를 처리하는 것은 더 어려운 일이다. 이 데이터가 큰 배치 작업으로 처리되는가? 만약 그렇다면, 거의 실시간에 가깝게 조정하는 것이 가능할 정도로 충분히 빠르다고 어떻게 보장하겠는가? 하둡(Hadoop)과 같이, 수 많은 작은 작업들로 쪼개야만 하는가? 이러한 구현들은 네트워크 인프라와 어떻게 통합될 것인가?

  • 얼마나 많은 데이터를 유지할 것인가? 상태 주도적 시스템에서는, 무언가 잘못되었을 때, 단순히 설정만을 살펴보는 것으로는 충분하지 않다. 이를 해결하기 위해서는, 문제가 발생한 시점의 상태에 대한 분석이 필수적이다. 얼마나 많은 양의 과거 상태 정보가 저장되어 있어야 하는가? 어떻게 상태 정보와 이벤트들이 연결될 수 있는가?

  • 보안은 어떠한가? 아마 가장 큰 문제일 것이다. 사람들은 정말 네트워크가 동적으로 변화하는 것을 원하는가? 이는 현재 존재하지 않는 수준의 신뢰가 필요함을 암시한다. 변화를 승인하는 프로세스는 어떤 식이어야 하는가? 어떻게 감시할 것인가? 모든 것이 자동화되었다고 가정하면, 어떻게 의미 있는 테스트를 수행할 것인가?

네트워킹의 다음 단계

SDN과 빅데이터를 결합하기 위한 기술적인 과제들이 어렵긴 하지만, 넘을 수 없는 벽은 아니다. 이들은 SDN의 형성 시점에 해결될 필요가 있다. 산업계에 가장 안 좋은 결과는 빅데이터의 영향에 대해 완전한 고민 없이 SDN의 아키텍처를 고정시키는 것이다.

컨트롤러 아키텍처들은 상태 정보가 어떻게 수집, 저장, 접근될 지 반드시 고려해야만 한다. SDN 애플리케이션은 상태 정보의 소비에 대해 고려한 상태에서 디자인될 필요가 있다. 어떠한 결정이 애플리케이션에 의해 내려질 것이며, 이보다 더 중요하게, 이러한 결정을 내리기 위해 요구되는 데이터 소스는 무엇인가? 디바이스 자체도 솔루션의 일부가 될 것이다. 이들 디바이스는 어떻게 애플리케이션에서 사용될 현재 상태의 데이터를 내놓을 것인가가? 불명확한 설계 하에서, 무엇이 디바이스를 다른 인프라와 쉽게 통합되도록 만들 것인가?

분명히, 지금 시점에서는 대답보다는 질문이 많다. 그러나 관련 업체들이 프로토콜과 솔루션을 시장에 바쁘게 내놓는 상황에서, 기업은 깊은 고민 없이 아키텍처를 고정시킬 위험을 안고 있다. 장기적인 성공을 위해서는 잠시 멈추고 계획을 세워야만 한다.


comments powered by Disqus