• Cutting-edge AI research .
  • Accelerating innovations in research and service .
  • “SotA” (State-of-the-Art) .
  • Human. Machine. Experience Together .

MEC - EdgeStack

2021.10.15

EdgeStack

개요

"제주도에서 온라인 전투 게임을 하고 있다. 또 랙(Lag – 네트워크 지연으로 인해 서비스가 지연되는 현상을 일컫는 용어)이 걸려서 반응이 느려진다. 나는 분명히 발사 버튼을 바로 눌렀는데 실제 게임에서는 늦게 발사되어 게임 오버가 되었다. 게임 서버가 서울의 퍼블릭 클라우드에 있다. 게임 서버가 제주도에 있다면 사용자와 게임 서버와의 거리가 짧아지고 그만큼 지연시간이 줄어들어 반응 또한 빨라 질 것이다."

이것이 MEC (Mobile Edge Computing) 의 개념입니다. 서울에 있는 클라우드 서버에서 게임을 실행하는 게 아니라 사용자에게 가장 가까운 곳에서 게임을 실행하는 것입니다.

[그림 1. MEC 개념]

조금 더 일반적으로 이야기 하자면, MEC란 퍼블릭 클라우드와 같이 한 군데 중앙 서버에서 서비스를 실행하는 대신 통신사의 교환국과 같은 사용자와 가장 가까운 서버에서 서비스를 제공하는 것이며, 이를 분산 MEC 라고 합니다.

또한 MEC를 기업 내에 설치하여 기업 전용 망과 연계하게 되면 해당 기업 내에서만 서비스를 제공하게 되고 기업 데이터의 외부 유출 없이 기업 내에서 안전하게 데이터를 처리할 수 있고, 이를 On-Site MEC 라고 합니다.

이러한 MEC 서비스를 제공하기 위한 엣지 클라우드 인프라의 특징과 이에 따른 요구 사항에 대해서 간단히 설명하겠습니다.

엣지 클라우드는 앞서 설명한 바와 같이 사용자 가까이에서 서비스를 제공하기 위해 여러 지역에 걸쳐서 또는 기업 내 전용 서비스 용으로 기업 내에 “중소규모”로 구축됩니다. 따라서, 시스템의 경량화 (Lightweight)가 요구되며 동시에 대규모 서비스 (Large-Scale) 또한 지원이 가능해야 합니다.

이와 함께 서비스를 저지연으로 제공해야 하기 때문에 고성능 저지연 네트워크 (High Performance Low Latency Network)가 제공되어야 하며, MEC 서비스는 통신 서비스의 연장 선에 있기 때문에 통신망 수준의 안정성 (Carrier-Grade) 또한 필수적입니다.

EdgeStack은 이러한 MEC 서비스에 필요한 초경량 시스템, 대규모 서비스, 고성능 저지연 네트워크, 통신망 수준의 안정성을 지원하는 Edge 특화 클라우드 솔루션, 즉 Edge Service를 위한 가상 자원의 생성 및 관리 솔루션입니다.

EdgeStack의 특징

1. 가상 머신 (VM) 과 컨테이너를 단일 솔루션으로 지원
EdgeStack은 가상 머신 (VM) 및 컨테이너를 모두 지원합니다.(그림 2. 참조) 이를 위해서 일반적으로는 VM 생성을 위한 가상화 솔루션 (즉, 오픈 스택 또는 VMware사 솔루션 등)과 컨테이너 실행 및 관리를 위한 솔루션 (도커 및 쿠버네티스 등)이 둘 다 필요하지만, EdgeStack에서는 시스템 경량화를 위해서 쿠버네티스 단일 기술로 해당 기능을 모두 지원하도록 구현했습니다. EdgeStack은 쿠버네티스 상에서 VM을 생성하게 해주는 KubeVirt라는 기술을 활용하여, 컨테이너 내에 VM을 생성하여 VM을 컨테이너처럼 관리하고 있습니다. 이를 통해서 시스템이 경량화 되며 운영 관리 또한 쿠버네티스 방식으로 일원화 되어 운영 편의성 및 안정성이 향상됩니다.

[그림 2. EdgeStack 배포 형상]
경량화를 위해 EdgeStack 시스템은 쿠버네티스 마스터 노드에 배포되며, VM과 Container를 모두 제공하며 각 영역으로 구분되어 별도의 서버에서 관리됩니다.

2. 고객 독립 쿠버네티스 클러스터 제공
EdgeStack은 여러 개의 VM을 생성하고 그 VM 내에 쿠버네티스를 설치함으로써 쿠버네티스가 지원하지 못하는 여러 사용자들 간의 리소스 분리를 지원한다. 이렇게 함으로써 서로 다른 사용자의 어플리케이션이 서로 영향을 주는 것을 완전히 차단할 수 있습니다. 또한 고객 마다 독립 클러스터를 제공하여 다른 고객의 어플리케이션 및 데이터의 접근 또한 완전히 차단할 수 있어 보안성도 향상됩니다.

3. 고성능 초저지연 네트워크 지원
EdgeStack의 가장 큰 특징은 엣지 시스템에서 가장 중요한 기능인 저지연 서비스를 위한 고성능 초저지연 네트워크 스택입니다. 리소스 가상화가 서버의 사용 효율을 높여주고 가상 네트워크가 고객 독립적인 네트워크를 제공함으로써 보안을 강화 시켜주는 반면 가상화로 인해 네트워크 성능 저하가 발생하고 그만큼 서비스의 지연이 발생하게 됩니다. 특히, 고객 독립형 쿠버네티스 클러스터는 앞서 설명한 바와 같이 VM 내에 쿠버네티스가 설치되기 때문에 VM 네트워크와 쿠버네티스 네트워크 레이어를 거치면서 성능 저하 폭은 더 커지게 됩니다. EdgeStack에서는 성능 저하를 최소화를 하기 위해서 쿠버네티스와 VM의 네트워크 처리를 단일 네트워크 스택에서 모두 처리하고 또한 해당 단일 네트워크 레이어는 가속 기술을 활용하여 성능을 가상화 이전 (물리 네트워크) 수준으로 끌어 올렸습니다.

[그림 3. EdgeStack 아키텍처: 각 모듈 설명은 첨부 문서 참고]

주요 기능

1. 대규모 VM 및 독립형 쿠버네티스 배포 및 관리
- 대규모의 VM을 단일 명령어로 생성할 수 있고, 독립형 쿠버네티스 클러스터를 고객마다 제공함으로써 컨테이너화된 어플리케이션을 안정적이며 강화된 보안으로 운영할 수 있습니다.

2. 대규모 물리 자원 및 가상 자원 모니터링
- 최대 400대의 서버 및 해당 서버 내 생성되는 가상 리소스에 대한 모니터링 기능을 제공합니다. CPU, 메모리, 디스크, 트래픽 사용량을 실시간으로 제공하고 사용자가 원하는 통계 또한 쉽게 제공 가능합니다.

3. 고성능 초저지연 가상 네트워크 및 컨테이너 네트워크
- 고객 전용 독립 가상 네트워크를 제공함으로써 강화된 보안을 제공하는 동시에 물리 네트워크 수준의 고성능을 제공합니다.

4. 공유 스토리지 서비스
- 물리 서버나 가상 머신의 장애 시에도 데이터의 유실을 막기 위해 여러 노드에 데이터를 분산 저장하는 스토리지 서비스를 고성능으로 제공합니다.

5. 다양한 Guest OS 지원
- 여러 종류의 리눅스 및 윈도우즈 운영체제를 가상 머신에 설치 할 수 있도록 지원합니다.

6. 통합 시스템 로그 관리
- EdgeStack 시스템에서 생성되는 로그를 통합적으로 관리하여 장애 시 손쉽게 로그를 분석하여 신속하게 장애를 대응할 수 있습니다.

7. 부하 분산 서비스
- 서비스 사용자가 증가하면 해당 서비스의 부하를 여러 VM에 분산 시키고, VM 장애에도 서비스를 안정적으로 제공할 수 있습니다.

8. 분산 방화벽
- VM간에 방화벽 기능을 제공함으로써 VM간의 통신 보안을 강화하여 한 VM의 바이러스 감염 또는 오동작에도 다른 VM에 그 영향을 최소화할 수 있습니다.

9. 확장 가능한 경량 엣지 게이트웨이
- 엣지 게이트웨이는 인터넷 또는 외부 망과 연동해주는 역할을 하며 외부 망에서 엣지 서비스에 접속하기 위한 공인 IP 등도 제공합니다. 초경량으로 개발되어 별도 전용 물리 서버가 필요 없으며 트래픽 양의 증가에 따라 쉽게 증설할 수 있게 설계되어 있습니다.

10. 하이브리드 클라우드 지원
- 엣지 스택에서 자체적으로 제공하는 VM 또는 쿠버네티스 뿐만 아니라 AWS와 같은 퍼블릭 클라우드 또는 외부 클라우드 솔루션 내에 가상 머신 및 쿠버네티스를 생성하고 어플리케이션을 설치할 수 있는 기능을 제공합니다.

지금까지 MEC의 개념 및 특성, 이에 따른 EdgeStack의 요구 사항 및 이를 충족하기 위한 EdgeStack의 특징에 대해 아주 간략하게 설명했습니다. EdgeStack에 대해 조금 더 깊이 있는 기술적 내용이 궁금한 분들은 아래 첨부 문서를 참고하시기 바랍니다.

◆ More Detail : Click Here
◆ EdgeStack 2.0 Whitepaper : Click Here