Resources

메타넷티플랫폼의 다양한 클라우드 인프라 기술 역량을 소개하고, 고객과 함께 공유하며 동반 성장해 나가고자 합니다.

KR EN
상담 상단으로

애플리케이션 현대화 구현 사례 (Mobile Edge Computing)

  • 날짜
    2021-12-24 11:59:51
  • 조회수
    1005



마이크로서비스 아키텍처 기반의 클라우드 네이티브 방식으로 애플리케이션 구조, 성능, 보안, 배포 및 운영 체계를 현대화하는 것이 큰 흐름입니다. 클라우드 네이티브를 통해 사용자에게 완벽한 서비스를 제공하면서 다른 서비스 및 애플리케이션의 인프라 역할도 제공하는 성공적 사례가 5G 모바일 통신망을 이용한 엣지 컴퓨팅 플랫폼입니다. 오늘은 한 통신사가 구현한 모바일 엣지 컴퓨팅 플랫폼(Mobile Edge Computing Platform) 사례를 알아보겠습니다.


[Highlights]

▶  MEC(Mobile Edge Computing)은 엣지(Edge) 컴퓨팅을 5G 통신망 기지국에 구현해 모바일 사용자에게 최적의 성능을 제공하는 분산 클라우드 컴퓨팅 서비스를 보장하면서 서비스 중단이 허용되지 않는 미션크리티컬 애플리케이션

▶  MEC 플랫폼 현대화는 마이크로서비스 아키텍처와 쿠버네티스 기반의 컨테이너 기술을 적극 활용하여 ‘클라우드 네이티브’로 전환

▶  MEC 플랫폼 현대화는 기지국 당 서버 수량 감소, 배포 시간 단축, 단위 서비스 구성 단순화, 운영 관리 자동화로 신속한 장애 대응과 전체적인 비용 절감 등 효과 제공



5G Mobile Edge Computing (MEC) 플랫폼

5G 모바일 엣지 컴퓨팅은 5G 초고속 모바일 네트워크를 이용해 엣지 컴퓨팅을 구성한 사례입니다. 엣지 컴퓨팅은 “사용자나 데이터 소스의 물리적 위치와 가장 가까운 곳에서 컴퓨팅을 수행하는 것”으로 정의합니다.



[출처: https://www.allaboutcircuits.com/uploads/articles/Edge_Computing.jpg]


엣지 컴퓨팅 활용은 데이터를 로컬에서 실시간으로 처리해야 하는 상황에 필요합니다. 아주 핫한 주제인 자율주행 차량을 예로 들어보겠습니다. 자율주행 차량이 주행하려면 카메라, 레이더, 라이다 등 많은 센서를 통한 대량 데이터의 수집과 분석이 필수입니다. 만약 수집한 데이터를 매번 데이터 센터에 보내 분석한 다음 다시 받는 구조라면 자율주행 차량이 주행하는 거의 모든 도로가 주차장이 되는 상황이 벌어질 겁니다. 자율주행 차량은 중앙 데이터 센터와도 통신(주로 SW 업데이트를 위해)을 하지만 차량에 탑재된 센서와 컴퓨터를 이용해 주행 상황을 판단하고 결정을 내립니다. 현대 사회에는 자율주행 차량처럼 기기 자체가 실시간 판단, 실행해야 할 일들이 계속 늘고 있습니다.


4차 산업혁명의 핵심 요소인 사물인터넷에도 엣지 컴퓨팅이 중요합니다. 제조업에 확산되는 예지 보전 시스템처럼 IoT 장치가 대부분의 판단을 내리고 꼭 필요한 경우에만 데이터 센터와 통신해서 상황 분석, 결정 및 실행한다는 측면에서 엣지 컴퓨팅의 중요성이 커지고 있습니다.


5G + Edge = 5G MEC

Mobile Edge Computing은 통신사 망을 이용해 엣지 컴퓨팅을 구현하는 것으로 “통신사 무선 기지국에 분산 클라우드 컴퓨팅 기술을 적용해 다양한 서비스와 캐싱 콘텐츠를 이용자에게 제공해 모바일 통신망의 혼잡을 줄이고, 새로운 로컬 서비스를 창출하는 기술”입니다 (참고: 5G를 위한 MEC 기술동향 (etri.re.kr)). 즉, 통신사의 무선 기지국에 소형 데이터 센터를 설치한 후 여기에서 콘텐츠, 모바일 기기를 제어해 통신 지연을 최소화하고 서비스 품질을 높이는 기술로 설명됩니다.


MEC 적용 모델 (출처: SK텔레콤)


MEC 플랫폼은 웨이브 같은 콘텐츠 기업과 인터넷 서비스 기업의 핵심 비즈니스가 제공되는 분산 클라우드 컴퓨팅과, 다양한 IT 환경을 제공하는 인프라 서비스이기 때문에 다운타임을 허용하지 않는 24x7 서비스 능력이 필수입니다. 따라서 MEC 플랫폼에는 사용자 근접성, 짧은 지연시간, 넓은 통신 대역폭, 무선 네트워크 및 상황 정보 실시간 액세스, 위치 인식, 유연한 확장성 등 많은 기능이 요구됩니다. 이론은 아름답지만 구현이 쉽지 않은 플랫폼입니다.



MEC 플랫폼 앱 현대화 프로젝트

MEC 앱 현대화는 가상머신 및 베어메탈 서버에서 운영하던 MEC 플랫폼을 컨테이너 기술과 앱 현대화를 통해 클라우드 네이티브 구조로 전환하는 프로젝트였습니다. 프로젝트는 앱 현대화와 컨테이너화를 위한 핵심 원칙을 정리하는 일부터 시작했습니다. 서비스를 마이크로서비스 단일책임원칙(Single Responsibility Principle)에 맞춰 단일 기능만 수행하도록 구성하거나, 클러스터 DB의 영속성 보장을 위해 DB 파일은 서버 공유 볼륨에 저장한다는 등의 원칙이 여기에 포함됩니다.


다음으로는 앱 현대화를 위한 아키텍처 및 컨테이너 구조 등에 대한 깊이 있는 검토가 진행되었습니다. 주요 검토 사항은 다음과 같습니다:


1) WEB-WAS-DB 방식 3-tier 기존 웹 애플리케이션을 컨테이너로 전환 시 최적의 구조는?

다양한 검토 끝에 프로젝트팀은 각 티어(WEB, WAS, DB)를 개별 포드(POD: 1개 이상의 컨테이너를 담을 수 있는 쿠버네티스 기술 요소)로 구성하는 방식을 채택했습니다. 서비스 특성과 규모에 따라 한 포드에 다 담거나 2개 포드에 나누는 방법도 가능합니다.

2) 데이터베이스 성능 및 가용성 확보에 가장 적합한 컨테이너 구조는?

가장 많이 사용하는 스탠바이 모드나 액티브-스탠바이 모드로 데이터베이스 가용성을 확보하는 것도 가능하지만 액티브-액티브-스탠바이(즉 2 액티브 – 1 스탠바이) 방식도 가능합니다. MEC 프로젝트팀은 구조는 복잡하지만 더 높은 데이터베이스 가용성을 보장하기 위해 3 액티브 방식을 선택했습니다.

3) 퍼시스턴트 데이터에 적합한 구성 방식은?

쿠버네티스 클러스터 외부 서버(VM)에 마운트 된 로컬 볼륨 혹은 쿠버네티스 포드에 만든 퍼시스턴트 볼륨을 데이터 볼륨으로 사용할 수 있습니다. MEC 프로젝트팀은 쿠버네티스 제어 루프에서 데이터 볼륨을 안정적으로 다룰 수 있는 장점 때문에 퍼시스턴트 볼륨을 채택했습니다.

4) 플랫폼을 위한 각 마이크로서비스의 패키지의 구성, 배포 및 적용 방법은?

5) 컨테이너 인스턴스가 올라갈 인프라 SW 이미지(DB 클러스터, 로그 수집 클러스터 등) 구성은?



MEC 플랫폼 운영 효율화

프로젝트팀은 MEC 플랫폼 운영 효율성을 높이는데도 많은 노력을 투자했습니다. MEC 플랫폼의 전체 라이프 사이클 관점에서 프로세스를 정비하고 배포, 운영/장애 대응 같은 중요도 높은 업무들을 우선적으로 개선했습니다.

배포

과거에는 설치/배포/구성/서비스 관리 수준에서 ansible 같은 IT 운영 자동화 도구로 버전을 관리하고 배포 작업을 진행했습니다. 앱 현대화 이후에는 쿠버네티스 자원 관리에 특화된 ArgoCD 기반 GitOps를 이용합니다. 주요 효과는 다음과 같습니다:


● 단일한 방법으로 소프트웨어 배포

● Git을 이용한 배포 버전 관리

● 배포된 객체의 구성/설정/상태 가시성 확보

● 변경 사항을 운영에 반영하는 작업의 자동화

● 애플리케이션 라이프사이클 관리 자동화



운영 및 장애 대응

이전에는 서비스 중에는 기능을 추가하거나 변경하는데 많은 시간과 노력이 들었습니다. 앱 현대화 후에는 CentOS Operator SDK 기반 Operator로 자동화해 효율을 높였습니다. 주요 효과는 다음과 같습니다:


● 손쉬운 서비스 인스턴스 생성과 종료 및 자동화

● 손쉬운 용량 확장 및 회수 및 자동화 가능

● 장애복구 (Failover) 작업 자동화

● 롤링 업그레이드 (Rolling Upgrade) 자동화

● 백업 및 복구(Backup and Restore) 자동화



MEC 플랫폼 앱 현대화 효과

모놀리딕 아키텍처로 개발되었던 이전 MEC 플랫폼의 앱 현대화는 전체 서버 수량 감소, 배포 시간 단축, 단위 서비스 구성 단순화 및 운영 관리 자동화에 따른 빠른 장애 대응 및 전체 비용 절감 효과를 가져왔습니다:


● 하드웨어 요구 사항이 대폭 감소

MEC 플랫폼을 구성하는 무선 기지국에 설치되는 컨트롤 플레인 서버가 기지국 당 20대에서 5/1 정도인 4대 수준으로 줄었습니다. 대규모 수량 감소는 관리 및 운영 효율 향상으로 작용하면서 대규모 비용 감소를 가져왔습니다.

● 관리 SW 배포 시간 및 복잡성 감소

컨트롤 플레인 관리 SW 배포 시간이 300분에서 20분 이내로 크게 단축되었습니다. 또 사전 정의된 정보를 이용해 배포 작업의 복잡성도 크게 줄였습니다.

● 자동화 운영 관리 및 장애 대응 가능

GitOps를 이용해 운영 관리 자동화를 구현하고, ArgoCD와 Kubernetes, Operator를 통해 장애 및 서비스 이상 발생 시 자동화 대응 역량을 확보했습니다.

● 비용 절감 효과

기지국에서 사용하던 컨트롤 플레인 서버 수량 감소는 관련 HW, SW 감소로 이어졌습니다. 그리고 다시 전체 시스템 복잡도와 배포 시간 감소라는 긍정적 결과를 가져왔습니다. 이런 전반적인 선순환을 통해 전체 비용 절감이라는 효과를 얻고 있습니다.



맺으며


앱 현대화로 운영, 배포 및 비용 절감 효과를 제공하는 MEC 플랫폼은 통신사 및 클라우드 서비스 업체에게도 많은 효과를 제공하지만 MEC 플랫폼을 이용하는 인터넷 및 콘텐츠 서비스 기업과 많은 애플리케이션 개발자에게도 동일한 혜택을 제공합니다. 또, 모바일 기기 사용자에게도 다양한 고품질 서비스를 빠르게 이용할 수 있는 이점을 제공합니다.

앱 현대화 방법은 대상 애플리케이션 조건과 비즈니스 목표에 따라 달라질 수 있지만 마이크로서비스 아키텍처 기반 클라우드 네이티브 모델이 가장 바람직합니다. 앱 현대화에는 많은 기술과 경험, 인프라가 필요하기 때문에 신뢰할 수 있는 파트너 선정도 중요합니다. 좋은 파트너와의 협력은 단일 애플리케이션의 현대화는 물론이고 기업 전체적인 앱 및 인프라 현대화를 위해서도 중요합니다.






메타넷티플랫폼은 고객의 클라우드 여정을 같이합니다!


http://www.metanettplatform.com/


#앱현대화 #MSA #마이크로서비스 #클라우드네이티브앱 #티플랫폼 #클라우드구축업체#클라우드컨설팅#클라우드마이그레이션#디지털트랜스포메이션 #애플리케이션현대화 #앱현대화 #3티어아키텍처 #마이크로서비스아키텍처 #클라우드네이티브 #mobileedgecomputing #mec #엣지컴퓨팅