Skip to the content

Telco 인프라, Pets에서 Cattle로의 진화?

몇 년 전 글로벌 ICT 회사인 G사가 무선 통신망 인프라 중 코어 인프라(중앙국사에 해당)를 상용으로 구축했다고 해서 다른 동료와 함께 G사 담당 엔지니어와 회의를 한 적이 있습니다. “5G의 요구 사항은 지원되나요? 가상화(NFV)는 되어 있나요?” 필자의 동료 엔지니어가 물었고 돌아온 답은 간단했습니다. “5G가 뭐고 NFV는 뭐죠? 안정적으로 통신이 되고 다른 통신망과 연결만 잘 되면 되는 것 아닌가요?” 곰곰이 생각해 보면 맞는 이야기라 무어라 반박하지 못했던 기억이 납니다.

G사는 그동안 축적한 IT 기술을 활용하여 Web Scale로 통신망 인프라를 재설계하여 그들만의 방식으로 구축한 것으로 보입니다. 물론 다른 통신망과 연결되기 위한 표준은 수용하였겠죠. 우리가 열심히 해온 가상화나 5G 등은 기존 통신망을 진화 시키기 위한 하나의 수단에 불과합니다(물론 Radio 기술은 제외). 통신 서비스도 IT 서비스처럼 Web Scale로 개발할 수 있음을 보인 것이죠. 이 기고에서는 Web Scale이 무엇이며, 우리의 통신 인프라도 어떻게 해야 Web Scale로 진화할 수 있는지 알아보도록 하겠습니다.

Web Scale은 Cattle과 Pets 어느 쪽?

Web Scale을 설명하기 전에 ‘Cattle과 Pets’라는 비유에 대해서 먼저 설명하면 Web Scale에 대한 설명이 좀 더 쉬울 것 같습니다. ‘Cattle과 Pets’, 이 용어는 대규모 시스템을 구축 하는 서로 다른 두 접근 방식을 설명할 때 많이 사용되었던 비유이며, 최근에는 컨테이너(Container)의 효과를 이야기 할 때 자주 사용되곤 합니다. Cattle은 ‘가축’이라는 뜻으로 들판에서 키우는 수백 수천 마리의 들소 떼를 생각하면 됩니다. Pets는 집에서 애지중지 키우는 평생을 주인과 같이하는 반려동물이죠.

이를 IT적으로 해석하면 Pets는 다른 것으로 쉽게 대체 될 수 없는, 결코 죽어서는 안 되는 시스템을 의미합니다. 이에 반해 ‘Cattle’은 자동화된 툴을 이용하여 두 개 이상의 서버로 구성된 시스템입니다. ‘Cattle’의 경우 운영자의 간섭 없이 자동으로 새로운 서버로 대체될 수 있는 시스템을 말합니다. 반려동물이 아프면 병원에 가서 치료하듯, ‘Pets’ 시스템에서는 서버에 장애가 생기면 그 장애를 바로 고쳐 해당 서버를 계속 사용합니다. 반면, ‘Cattle’ 시스템에서는 장애를 고치는 대신 장애 서버를 제거하고 새로운 서버로 바로 대체합니다.

서비스의 사용자가 증가해서 시스템의 확장이 필요할 경우 ‘Pets’ 시스템은 CPU나 저장 장치의 확장을 통해 서버의 용량을 늘립니다(Scale-Up). 이에 반해 ‘Cattle’ 시스템의 경우 동일한 서버를 몇 대 더 추가합니다(Scale-Out).

물론 많은 시스템이 Cattle과 Pets으로 명확하게 구분이 되지 않고 혼재된 경우도 많습니다. 현재 시스템이 Cattle 방식에 가까운지 Pets에 가까운지를 알려면 시스템 구성 서버 중 몇 대의 임의 서버가 죽었을 때 어떤 일이 일어나는지, 서버의 장애가 생겼을 경우 어떤 대처를 하는지를 보면 구분할 수 있겠지요. Pets과 Cattle 중 어느 시스템이 더 맞는지는 목적에 따라 다릅니다만, 일반적으로 서비스나 기술의 발전 과정에서 보자면 향후 시스템은 Cattle 시스템으로 진화를 해야 한다는 의견이 더 지배적입니다.

5G 시대에 알맞은 시스템은?

Web Scale은 앞서 설명한 두 아키텍쳐 중 ‘Cattle’에 해당하며, 구글, 아마존, 넷플릭스, 페이스북과 같은 초대규모 클라우드 시스템 또는 그 아키텍쳐를 의미합니다. 따라서, 이러한 WebScale 시스템은 동일한 기능의 수백 수천 개의 서버로 구성이 되고, 그 서버 중 몇 개가 죽더라도 다른 서버들에 의해 자동으로 그 기능이 수행되며(Auto Fail Over) 새로운 서버가 자동으로 생성이 되어 죽은 서버를 대체합니다(Auto Healing). 또한 시스템의 부하가 일정 수준 이상 증가하면 자동으로 서버를 증설하여 전체 시스템의 부하를 줄여주고(Auto Scale-Out), 역으로 시스템의 부하가 줄어 필요 이상의 서버가 실행되고 있으면 서버를 자동으로 해당 시스템에서 제거합니다(Auto Scale-In).

이에 반해 통신망 시스템은 99.999%의 서비스 안정성을 보장하기 위해서 ‘Pets’ 시스템으로 구성되어 왔습니다. 즉, 기본적으로 서버가 죽는 것을 가정하지 않고, 만약 있을 장애를 대비하여 이중 또는 삼중화(여분의 하나 또는 두 개의 서버를 준비함)하여 둡니다. 이때 서버가 죽은 경우 그 기능을 이어받아서 서비스의 장애를 막고, ‘가시가청(可視可聽)’을 기본으로 하는 알람 시스템을 이용하여 운영자에게 이를 알리고 장애 서버를 복구하는 구성이 되어 있습니다.

그리고, 명절이나 특정 대규모 이벤트로 인해 서비스 사용의 증가가 예측되면 미리 서버를 증설하여 이에 대비하고 이 시기가 끝나면 다시 제거하여 운영비를 줄이고 시스템 효율성을 높이는 방식으로 운영이 됩니다. 최근 NFV를 통해 가상화가 상당히 이루어진 후에도 이러한 방식을 기본으로 사용하고 있습니다.

G사는 이미 Cattle 아키텍쳐로 통신망 인프라를 구축 가능함을 입증했으며, 자동화 및 이를 통한 운영 효율화 관점에서 보면 통신망 인프라도 Pets에서 Cattle 시스템으로 진화해야 할 것으로 보입니다. 하지만, 단순히 운영 방식만의 변화로는 Cattle 아키텍쳐로의 진화할 수 없습니다. 통신망 인프라에서 실행이 되는 VNF(Virtual Network Function)도 이에 맞게 재설계되어야 하며, 이 때문에 현재 잘 동작하고 있는 통신 인프라를 Cattle 시스템으로 진화시키는 것은 상당한 비용이 발생합니다. 따라서, 5G와 같은 초고속 통신 및 이를 사용한 다양한 서비스를 지원하기 위해서는 ‘Cattle’ 아키텍쳐가 더 적합하기 때문에 5G 인프라 신규 구축 시에 Cattle 시스템을 적용해보자는 움직임이 있습니다.

이번 기고에서는 ‘Pets’와 ‘Cattle’, 그리고 ‘현재 통신 인프라’와 ‘Web Scale’에 대한 설명 및 간단한 비교를 해보았습니다. 다음 기고에서는 본격적으로 통신망을 Cattle 시스템으로 진화시키기 위해서 필요한 것들을 살펴보겠습니다.