[IGC 2017] 넷마블 한승진 엔지니어, "프라이빗 클라우드, 선택이 아닌 필수"

게임뉴스 | 이시훈 기자 | 댓글: 1개 |



[인벤게임컨퍼런스(IGC) 발표자 소개]
넷마블게임즈 한승진 엔지니어는 삼성 SDS 클라우드개발팀 Devops 엔지니어로 활동했다. 현재 그는 넷마블게임즈에서 클라우드 기술팀 Devops, storage 엔지니어로 활동을 이어가고 있다.

대형 게임사들은 클라우드 서버를 사용한다. 특히, 보안상의 이유로 프라이빗 클라우드를 사용하는 경우가 있다. 효율성을 중요시하는 넷마블은 퍼블릭 클라우드가 아닌 프라이빗 클라우드를 사용하고 있다. 퍼블릭 클라우드와 프라이빗 클라우드의 차이점은 무엇일까? 이번 강연을 통해 그 차이점을 자세히 알 수 있다.


■ 강연주제: 게임서비스를 위한 프라이빗 클라우드





⊙ '모바일 게임 강자' 넷마블이 선택한 프라이빗 클라우드

"오늘날, 우리는 구름 속에 있다. 우리는 클라우드 컴퓨팅의 시대로 이행하고 있으면, 정보도 애플리케이션도 특정 프로세서가 아닌 확산된 사이버 스페이스 대기권 내에서 제공된다. 네트워크가 곧 컴퓨터가 되는 것이다." 구글 CEO 에릭 슈미츠가 한 말이다. 여기서 말하는 클라우드(Cloud) 서비스는 컴퓨터 리소스를 인터넷을 활용하여 대여하고 사용한 만큼 비용을 지불하는 서비스를 말한다.

더 심화해서 클라우드 컴퓨팅(Cloud Computing)에 대해 알아보도록 하겠다. 먼저 리소싱 절약과 관련된 가상화(Virtualization)에 대한 이해가 필요하다. 가상화란 시스템 자원의 효율적인 활용과 자원의 독립성을 보장하는 시스템을 말한다. 소프트웨어 개발자들에게 친숙한 vmware가 가상화 솔루션 중 하나다. 클라우드 컴퓨팅은 앞서 언급한 가상화에 자동화 서비스를 더한 것을 의미한다.

클라우드 컴퓨팅은 서비스 유형에 따라 세 가지 종류로 나눌 수 있다. IaaS(인프라 구축 서비스), PaaS(개발 플랫폼 서비스), SaaS(클라우드 환경에서 운영되는 앱 서비스)가 클라우드 컴퓨팅의 종류다.





⊙ 배포 유형에 따른 클라우드 서비스 종류

이번에는 배포 유형에 따른 클라우드 서비스 종류에 대해서 알아보자. 크게 세 가지 종류가 있다. 먼저 살펴볼 퍼블릭(Public) 클라우드는 초기 투자 비용이 저렴하고 최신 기술의 도입에 유리하며 클라우드 전문 업체가 도입한 기술을 즉시 사용할 수 있는 장점이 있다. 반면, 주도적인 장애 복구가 불가능하며 많은 규모의 리소스를 사용할 경우 사용한 만큼 큰 비용이 든다는 단점이 있다. 또한, 보안이 취약하다는 치명적인 단점이 있다. 사용자의 권한이 특별히 없고, 기업이나 개인이 사용한 만큼 서비스 제공 업체에게 비용을 지불하는 것이 가장 큰 특징이라고 할 수 있다.

이어서 살펴볼 프라이빗(Private) 클라우드는 폐쇠형 클라우드로 보안성이 확보된 시스템이다. 장점으로는 기존 IT 인프라를 재활용할 수 있고, 인프라를 자체적으로 운영하기 때문에 커스터마이징에 유리하다. 또한, 신속한 장애 복구가 가능하다. 단점으로는 직접 하드웨어를 구매하고 운영해야 해서 초기 단계 비용이 많이 발생한다. 또한, 클라우드 환경을 운영하기 위한 숙련된 엔지니어가 필요하다.

퍼블릭 클라우드와 프라이빗 클라우드를 모두 사용하는 것을 하이브리드(Hybrid) 클라우드라고 한다. 하이브리드 클라우드는 기술적으로 해결해야 할 문제가 많이 남았기 때문에 아직은 상용화되지 않았다.

⊙ 프라이빗 클라우드의 장점 및 구축 과정

한승진 엔지니어는 "오픈 소스 기반의 프라이빗 클라우드의 솔루션으로 오픈 스택(Open Stack)을 대체할 솔루션이 없다"고 말했다. 실제로 넷마블을 비롯한 많은 기업들이 오픈 스택을 솔루션으로 사용하고 있다. 여기서 말하는 오픈 스택은 미 항공우주국(NASA)와 랙스페이스(rackspace)가 함께 만든 오픈 소스 클라우드 기술을 일컫는다.

오픈 스택의 장점을 파악한 넷마블은 2013년에 프라이빗 클라우드를 적용했다. 한승진 엔지니어는 "프라이빗 클라우드 적용 이후 9배 이상의 개발 비용 절감 효과가 발생했다"고 밝혔다. 프라이빗 클라우드가 이렇게 엄청난 비용 절감 효과를 일으킬 수 있는 원동력을 무엇일까? 프라이빗 클라우드 구축 과정을 통해서 그 이유를 알 수 있다.

먼저 모든 인프라에 공통 네트워크를 구축한다. 이후 서버를 올린다. 그리고 오픈 소스인 KVM을 사용해서 가상 리소스를 올린다. 이후 가상 리소스가 사용할 스토리지를 구축한다. 여기에 네트워크 가상화 기술이 포함된다. 네트워크 가상화를 통해서 사용자는 가상 라우터를 만들 수 있다. 이러한 가상화된 모든 리소스는 '프로젝트'라는 단위로 구분된다.





⊙ 프라이빗 클라우드 구축으로 얻을 수 있는 효과

기본적인 장점을 넘어서 실제 서비스 환경에서 얻을 수 있는 효과에 대해서 알아보도록 하겠다. 먼저 서비스 특성에 따른 유연한 인프라 구성이 가능하다. 예를 들어 MMORPG에 필요한 고성능 네트워크 환경이 필요한 경우, 시스템 구조를 변경할 필요 없이 빠르게 네트워크 적용이 가능하다.

또한, 프라이빗 클라우드는 CPU Steal time에 대해서도 자유롭다. Hadoop를 사용할 경우 CPU Steal time이 발생하는데, 프라이빗 클라우드는 CPU Pinning을 통해서 특정 VM이 CPU를 점유할 수 있도록 하면서 문제를 해결할 수 있다. 장애 대응에 있어서도 퍼블릭 클라우드와 비교해서 프라이빗 클라우드가 장점을 가진다. 스토리지 장애가 발생할 경우, 스토리지를 일정 단위로 나눠서 운영하면 문제를 해결하기 용이하다.

업무 효율에 있어서 가장 중요한 요소인 '자동화' 측면에서도 프라이빗 클라우드가 유리하다. 스토리지 단위로 운영되기 때문에 모니터링, 로깅, 앱 배포 등 자동화가 쉬운 편이다.

물론, 프라이빗 클라우드가 장점만을 가진 것은 아니다. 초기 개발 비용 및 도입이 쉬운 퍼블릭 클라우드에 비해서 프라이빗 클라우드는 초기 도입 비용이 상당히 크기 때문에, 쉽게 적용할 수 있는 시스템이 아니다. "그럼에도 불구하고 프라이빗 클라우드 도입으로 얻을 수 있는 이득은 퍼블릭 클라우드로 얻을 수 있는 이득보다 비교할 수 없을 정도로 크다"며 한승진 엔지니어는 프라이빗 클라우드 도입의 중요성을 마지막으로 강조하면서 강의를 마쳤다.

댓글

새로고침
새로고침

기사 목록

1 2 3 4 5