게임 클라우드 서비스 실무_01
안녕하세요. 게임 클라우드 실무 강의를 담당한 클루커스 신동준입니다. 오늘 여러분과 함께 클라우드 컴퓨팅에 대해서 살펴보도록 하겠습니다. 그리고 이 클라우드를 게임에서 어떻게 활용하는지에 대해서 살펴보도록 하겠습니다. 클라우드란 구름이라는 뜻이죠. 네트워크나 인터넷을 그림으로 표현할 때 구름으로 표현한 데서 유래한 말입니다. 특히 게임에서는 플레이 이력을 저장하거나 모바일, PC, 콘솔 등에서 끊임없이 플레이 하도록 지원하고 다양한 기기를 통해 접속하는 친구들과 멀티플레이를 가능하도록 지원해 줍니다. 여기서 서버의 개념에 대해서 살펴보고 넘어가야 될 거 같은데요. 서버는 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템을 얘기합니다. 이 서버라는 말은 서버 컴퓨터 프로그램 혹은 장치를 의미합니다. 일반적으로 게임 플레이를 하실 때 클라이언트, 게임 클라이언트, 게임 서버 이렇게 얘기를 하는데요. 게임 클라이언트에 플레이 된 어떤 정보라든가 다양한 요구를 서버가 응답을 해주거나 처리를 해주거나 저장을 해 주는 역할을 하게 됩니다. 서버에서 동작하는 소프트웨어를 서버 소프트웨어라고 하고 대개의 경우에는 윈도우즈나 리눅스와 같은 운영체계를 설치한 컴퓨터에서 사용하게 됩니다. 여기서 운영체계도 되게 중요한 역할을 하게 되는데요. 뒤에서 운영체계 라든가 이런 부분들에 대해서 또 추가로 살펴보도록 하겠습니다. 게임서버는 한 마디로 얘기해서 여러분들이 게임 플레이를 할 때 멀티플레이가 가능하도록 작용해 주게 됩니다. 게임 클라이언트를 통해서 플레이 한 정보를 서버를 통해서 처리를 하거나 또는 다른 사람들의 플레이를 서버를 통해서 정보를 전달해서 내 클라이언트에서 보여 주는 그런 역할을 수행하게 됩니다. 서버는 일반적으로 리슨 서버, 데디케이트 서버 이렇게 구분하게 되는데요. 기본적으로 MMORPG 서버, 아니면 펍지와 같은 P2P서버 이런 식으로 구분을 하게 됩니다. 결국엔 그 서버의 종류에 따라서 서버가 어떤 정보를 처리를 해주느냐 누가 서버 역할을 하느냐 하는 부분들인데요. 경우에 따라서는 사용자의 PC 가 서버의 역할을 하는 경우도 있지만 기본적으로 그 경우에도 사업자가 게임 서비스 업자가 제공하는 서버는 존재하게 됩니다. 결국에는 모든 게임에 플레이를 관장하는 것이 게임 서버라고 이해하시면 될 거 같습니다. 이런 게임 서버를 이해하기 위해서는 몇 가지 개념을 숙지를 하셔야 되는데요. 기본적으로 네트웍, 네트웍은 말 그대로 네트웍입니다. 클라이언트와 서버가 통신하기 위해서 네트웍이 있어야 되겠지요. 그리고 유저간에 통신하기 위해서도 네트웍이 존재해야 됩니다. 그리고 데이터베이스인데요. 데이터베이스는 컴퓨터 시스템의 전자 방식으로 저장된 구조화된 정보 또는 데이터의 체계적인 집합을 의미한다라고 규정되어 있는데요. 보통은 DBMS라고 하는 데이터베이스 관리 시스템을 통칭해서 데이터베이스 라고 얘기를 합니다. 보통은 어떤 데이터베이스를 사용하느냐에 따라서 전체의 구조 자체가 달라지게 되고 그 데이터베이스와 OS의 궁합도 존재하게 됩니다. 일반적으로 MSSQL과 윈도우 서버, 리눅스와 MySQL 아니면 MySQL 이런 식으로 조합이 이루어지게 되는데요. 서버의 종류 이런 오퍼레이션 시스템 OS의 종류에 따라서 클라우드의 가격 차이도 존재하기 때문에 여러분들은 이런 부분들을 잘 이해하고 넘어갈 필요가 있습니다. 그리고 프로그램 언어, 자료구조나 알고리즘 이런 부분은 기본개념이기 때문에 여기 설명되어 있는 정리들을 잘 살펴보시고 숙지하실 필요가 있고요. OS 는 당연히 잘 아시겠지만 컴퓨터 하드웨어를 관리하는 프로그램을 OS라고 얘기합니다. 앞에서 말씀 드렸던 것도 윈도우나 리눅스 뭐 이런 것들이 있는데요. 여러분이 사용하는 핸드폰에 그 OS 안드로이드 나 ios 이런 것도 오퍼레이션 시스템입니다. 요즘에 일반적으로 상당히 많은 디바이스에 이런 OS 가 사용되는데요. 여러분 잘 아시는 티비라든가 셋탑박스 여기에도 OS 가 사용되고 있죠. 대표적인 OS 가 바로 안드로이드 인데요. 여러분들이 사용하시는 집에 TV 라든가 그리고 심지어는 네트웍 통신이 되고 그 핸드폰 어플리케이션으로 통제가 되는 관리가 되는 일반적인 가전제품들에도 이런 OS 가 탑재가 되어 있게 됩니다. 대표적인 OS가 안드로이드구요. 최근에 이제 iot 라 그래서 다양한 칩셋들, 간단한 칩셋들이 많이 활용이 되는데요. 이 간단한 칩셋도 작은 규모의 컴퓨터라고 생각하시면 됩니다. 심지어 여기도 안드로이드와 같은 OS가 작동을 하고 있다 라고 보시면 될 거 같아요. 그래서 모든 이런 컴퓨터 하드웨어 컴퓨터에 기능을 갖고 있는 모든 하드웨어를 관리하는 구동시키는 프로그램을 오퍼레이션 시스템 OS라고 얘기를 하고 대표적인 것들이 윈도우, 리눅스, 안드로이드, ios 가 있다 라고 이해하시면 될 것 같습니다. 기타 뭐 프레임웍(Framework)나 이런 내용들은 여러분들이 읽어보시고 좀 숙지를 하셔야 될 것 같고요. 인터넷 프로토콜은 아이피입니다. 결국에는 이런 부분들은 통신규약을 규정하는 부분들이기 때문에 이런 부분들도 잘 알고 넘어가셔야 될 부분인 거 같아요. 그래서 이 게임이 구동되기 위해서 앞에서 뭐 클라이언트 서버 이렇게 말씀 드렸었는데 보통 일반적으로 게임을 개발하기 위해서 개발 과정을 공수를 줄이기 위해서 사용하는 부분들이 엔진인데요. 여러분 흔히 들어 보셨던 언리얼이라든가 뭐 유니티 이런 것들이 게임 엔진입니다. 일반적으로 게임 엔진을 얘기를 할 때 보통은 렌더링엔진을 게임 엔진이라고 얘기를 하지만 게임 엔진에는 렌더링 엔진과 물리엔진이 있습니다. 언리얼이 대표적인 렌더링 엔진이고요. 언리얼 엔진에 물리엔진이 포함되어 있습니다. 역시 유니티와 같은 엔진에도 물리엔진이 별도로 추가되어 있는데요. 이 물리엔진이 어떤 역할을 하느냐, 예를 들어서 게임에서 그 캐릭터와 캐릭터가 부딪혔을 때 이렇게 통과되지 않고 충돌 체크를 한다거나 이런 부분들이 그런 물리 작용들을 실생활에서의 어떤 현상들을 경험들을 게임 내에서 구체적으로 보여주고 경험시켜주는 것들 이런 것들이 물리엔진의 역할입니다. 그래픽 엔진 렌더링 엔진은 말 그대로 3차원의 그래픽기술을 사용해서 실제 세계인 거 같은 느낌 이런 것들을 영상이나 화면에 표시해 주는 것들이 렌더링 엔진인거고요. 렌더링 엔진을 그래픽엔진이라고도 부르는 겁니다. 역시나 마찬가지로 클라이언트 엔진처럼 서버에 개발공수를 줄여주고 성능을 퍼포먼스를 좋게 해 주기 위해서 사용하는 서버엔진도 존재하게 됩니다. 우리나라의 대표적인 서버엔진이 프라우드넷이라든가 아이펀팩토리 엔진 같은 것들이 있고요. 글로벌하게 포톤 서버라든가 다양한 서버 엔진들이 존재하게 되고 필요에 따라서 게임 장르라든가 우리가 필요한 성능이 어떤거냐에 따라서 이러한 서버 엔진을 적극적으로 활용하기도 합니다. 다시 클라우드 컴퓨팅으로 돌아와서 클라우드 컴퓨팅이 어떤 건지에 대해서 살펴보도록 하겠습니다. 첫 번째 정의는 컴퓨터를 사용한 정보처리를 자신이 보유한 PC가 아닌 인터넷 넘어 네트웍 저 너머에 있는 클라우드 사업자의 컴퓨터에서 처리하는 서비스를 말합니다. 즉 내가 무언가를 하려고 할 때 내 PC 에서 처리하는 게 아니라 네트워크를 통해서 클라우드 사업자가 제공하는 장비에 접속해서 그 안에서 처리를 하는 거죠. 결국에는 서버 어플리케이션이 설치되어 있는 장소가 제 3의 클라우드 사업자의 장비에서 이 소스에서 처리되고 있다라는 얘기입니다. 그래서 클라우드 컴퓨팅을 이해할 때 기본적으로 숙지해야 될 두 가지의 개념이 있는데요. 첫 번째가 빌려서 사용한다는 것, 그리고 두 번째가 사용한 만큼 과금한다는 겁니다. 내가 구매하지 않고 남의 리소스 남의 물건을 빌려서 사용하고 그것을 빌려서 사용한 만큼 시간에 따라서 비용을 지불한다는 겁니다. 최근에 “구독경제 구독경제” 하는데요. 이 개념입니다. 여러분들이 집에 정수기나 여러 가지 다양한 제품들을 월 사용료를 내고 렌탈 개념으로 사용을 하시는데요. 마찬가지입니다. 서버 인프라 자원을 장비를 스토리지를 빌려서 사용을 하고 사용한만큼 비용을 지불하는 것이 클라우드 컴퓨팅, 클라우드 서비스입니다. 이런 클라우드 서비스는 결국엔 클라우드 사업자가 대규모의 idc 데이터센터를 구축을 해 놓고 서비스를 제공해야 되는 게 당연한 것이고요. 그 서비스가 가능하게끔 다양한 컴퓨팅 자원을 세팅을 해놓고 컴퓨팅 자원이 잘 작동되게 다양한 소프트웨어와 다양한 기술들을 활용한 것이 결국엔 클라우드 컴퓨팅 입니다. 클라우드 컴퓨팅에 대해서 가트너는 이렇게 정의하고 있는데요. 인터넷 기술을 활용하여 다수의 고객들에게 높은 확장성을 가진 자원들을 서비스로 제공하는 컴퓨팅의 한 형태라고 정의하고 있습니다. 그러면서 클라우드 컴퓨팅의 특성을 네트워크를 통해서 접근 가능한 공유자원, 사용자 중심의 셀프서비스, 신속한 유연성, 계량 가능한 사용량 기반의 서비스라고 정의하고 있습니다. 이 네트워크 접근을 통해 사용 가능한 공유자원이라는 개념은 앞에서도 말씀드렸던 것처럼 클라우드 사업자가 대규모의 데이터센터에 대규모의 시스템을 인프라를 세팅해 놓고 서비스를 제공하는데 이거를 사용자가 네트워크를 통해서 언제 어디서든 접속해서 내가 필요한 리소스를 세팅해서 스스로 제어하고 사용할 수 있다는 의미이고요. 똑같이 사용자 스스로가 사업자의 도움 없이 셀프서비스로 이러한 환경을 컨트롤 할 수 있다는 의미입니다. 그리고 신속한 유연성이라는 의미는 수 분 안에 그 인터넷으로 접속해서 단 시간 내에 내가 필요한 만큼의 용량이라든가 사이즈를 세팅하고 활용할 수 있고 늘리고 줄이고가 자유롭다는 의미입니다. 마지막으로 계량 가능한 사용량 기반이라고 하는 것들은 뭐 ?옜옜옜옜畇?요금으랜옌澍?절약웰염〈?祁?#엽羞뼈岵막?뒤쪽에샬옇뻬링躍?憫嗤?가격 계산기를 통해서 확인해 보시면 시간 단위의 과금이 가능합니다. 내가 잠깐의 이벤트를 위해서 어떤 특정한 VM이라든가 스토리를 사용해야 된다 라고 하면 그 사용한 시간만큼만 내가 사용하고 지불하고 그 리소스를 삭제를 하게 되면 그 사용한 만큼의 비용만 지불하면 되는 그런 시스템이라는 겁니다. 이런 클라우드를 미국 국립표준기술연구소는 다음과 같이 다섯 가지로 특징을 얘기합니다. 주문형 셀프서비스, 광범위한 네트워크 접속, 리소스의 공유, 신속한 확장성, 측정 가능한 서비스. 앞에 가트너가 정의한 4가지 특성과 겹치는 부분들이 상당히 많습니다. 주문형 셀프서비스는 셀프서비스라는 얘기고요, 말 그대로. 네트워크 접속, 광범위하게, 다양한 환경에서 모바일로도 접속할 수 있고 PC 로 접속할 수 있고 네트웍이 가능한 다양한 디바이스를 통해서 접속해서 서비스가 이용 가능하다는 점이고요. 리소스의 공유는 이 대규모 클라우드 사업자가 세팅해놓은 대규모의 인프라를 여러 사람이 활용할 수 있다는 측면에도 공유의 개념을 설명하고 있고요. 신속한 확장성은 앞서서 말씀드렸던 것처럼 내가 필요한 만큼 용량을 늘였다 줄였다 자유자재로 아무 때나 편하게 할 수 있다는 의미입니다. 특정 가능한 서비스는 앞서 말씀드렸던 것처럼 이용한 만큼 과금이 되는 서비스, 종량제 형태라는 겁니다. 이런 클라우드는 기술 발전의 측면 그리고 클라우드 서비스 제공과 이용을 위한 환경의 완성이란 측면에서 등장하게 되었는데요. 가장 중요한 부분들이 기술 발전입니다. 최근 들어서 그동안 급속하게 기술발전이 이루어지긴 했는데 특히나 하드웨어의 발전이 급속도로 이루어지게 됐죠. cpu 라든가 메모리 반도체 처리속도 이것들이 굉장히 좋아졌고 이 성능이 좋아지면서 비용도 상당히 저렴해졌습니다. 이런 것들이 하드웨어의 발전 측면에서 가능하였던 측면이 하나가 있고요, 소프트웨어 측면도 있습니다. 특히나 클라우드에서 중요한 기술 중에 하나가 가상화 기술 이라든가 분산처리 기능 기술, 그리고 모니터링 뭐 이런 것들이 있는데요. 뒤에서 다시 한번 설명드리겠지만 이런 소프트웨어 측면에서 기술발전이 이런 클라우드도 가능하게 했습니다. 세 번째로 네트웍 측면인데요. 결국에는 네트웍 속도가 얼마나 빨라졌느냐 최근에 5G 를 통해서 굉장히 발전된 개선된 모바일의 통신속도를 경험하고 계신데요. 저렴해진 네트웍과 개선된 네트웍 속도 이런 것들이 결국엔 클라우드를 만들어 내게 된 결정적인 기술요소들입니다. 그리고 클라우드 서비스를 제공하고 이용하기 위한 환경인데요. 일부분은 기업 사용자 측면, 클라우드사업자 측면, 사용자와 제공자의 측면에서 살펴볼 수 있을 것 같습니다. 사용자 측면에서는 되게 다양한 서비스들이 많이 늘어나고 있습니다. 온라인서비스가 되게 다양하게 늘어나고 있는데 기존에 그 오프라인 기업들 조차도 다양한 온라인 서비스를 제공을 하고 있어요. 그 다음에 회원제 서비스라던가 포인트제도 이런 것들도 결국에는 온라인을 통해서 서비스가 이루어져야 되는데 이러한 서비스들이 IT 자산에 그 수요를 폭발적으로 증가시키고 있습니다. 이런 부분들에 자산 수요를 수용하기 위해서 결국에는 클라우드가 필요하게 됐고 이러한 자산을 운영하는 리스크를 줄이게 하는 것도 결국에는 클라우드가 가능하게 합니다. 또 한 앞서서 말씀드렸지만 단기간 이벤트라든가 특정 시기에 몰려서 집중하게 되는 사용자의 트래픽이라든가 이런 것들도 클라우드가 대응 가능하게 한 측면이 있습니다. 그리고 사업자 측면에서는 이러한 컴퓨팅 기업 사용자에 의한 컴퓨팅 수요에 대해서 셀프서비스로 제공 가능하다는 거죠. 환경인프라를 배경으로 세팅해 놓고 접속할 수 있는 환경까지 채널을 만들어 놓으면 기업 사용자가 자기네 필요한 만큼 와서 쓰고 종료하고 문을 닫고 나가고 뭐 이런 형태로 서비스가 제공한다는 측면이고요. 두 번째는 기업 사용자 기존에 온프레미스 환경에서 클라우드 이관할 경우에 이게 다시 온프레미스로 돌아가기가 쉽지 않다 라는 측면이 있습니다. 그렇기 때문에 결국엔 지속적으로 안정적인 매출을 올릴 수 있다는 측면인데요. 결국엔 이게 가능한 상황은 클라우드에 가장 중요한 효과 그 특성 중에 하나인 초기 비용 절감 효과 입니다. 뒤에서 말씀드리겠지만 온프레미스에서 기존에 데이터센터에서 서비스를 세팅하기 위해서는 굉장히 많은 비용이 초기에 들어가게 되는데요. 이런 비용을 세이브 할 수 있고 절감할 수 있기 때문에 클라우드를 사용하게 되고 한번 클라우드를 사용하게 되면 다시 온프레미스로 돌아갈 수 없게 된 된다는 의미입니다. 이런 클라우드는 어떻게 등장했을까 클라우드는 최초로 아마존에서 서비스를 시작했습니다. 아마존이 만들어낸 서비스가 아마존 웹 서비스, 여러분 잘 아시는 AWS입니다. 여러분 보시는 장표에서의 그래프는 3년 동안 아마존에 접속한 사용자들의 트래픽을 그래프화 해 놓은 것들이 인데요. 블랙프라이데이라던가 앞서서 땡스기빙데이, 블랙프라이데이, 사이버먼데이 를 거치면서 엄청나게 트래픽이 증가하고 있습니다. 이 트래픽을 받아내기 위해서 엄청나게 많은 IT 자원이 필요하게 됐죠. 그래서 아마존은 그 소비자들을 수용하기 위해서 IT 인프라를 엄청나게 투자하게 됩니다. 그런데 이런 시즌이 끝나고 나서 트래픽이 다시 평상시로 돌아가게 됩니다. 그러면 엄청나게 투자했던 그 자원들이 놀게 되죠. 너무 아까운 거에요. 역시나 아마존도 데이터센터 엄청난 규모의 데이터센터의 엄청난 규모의 장비를 투자해서 만들어 놨을 겁니다. 그런데 그 장비들이 다 노는 거죠. 여러분들 상식적으로 잘 아시겠지만 장비 어떤 기계든 사용을 오랫동안 하지 않으면 기계가 고장이 납니다. 너무 아까운 거죠. 그래서 여러가지 고민 끝에 만들어 낸 것이 클라우드 서비스 입니다. 그래서 자신들이 남는 이 리소스를 활용을 해서 일정기간 동안 급하게 인프라가 필요한 사용 기업 사용자들한테 이 시스템을 빌려주기 시작하면서 클라우드 서비스가 시작하게 되었습니다. 이러한 클라우드 컴퓨팅을 구축하기 위해서는 몇 가지 필요한 요소들이 있는데요. 가장 핵심적인 것이 대규모 IT 인프라를 물리적으로 구성하고 관리하기 위한 장소가 필요하겠죠. 그래서 물리적인 데이터센터 서버 스토리지 네트워크 장비 이런 것들이 필요하고요. 그리고 그 장비들을 컨트롤 할 OS, 그 위에서 돌아가는 소프트웨어 플랫폼 어플리케이션이 필요하게 됩니다. 이러한 것들을 호스트기반의 아키텍처라고 얘기하는데요. 이러한 호스트기반의 아키텍처를 관리하기 위한 클라우드 기술이 필요한데요. 앞서 언급했던 가상화 기술이라든가 자동화 기술 이런 것들은 쉬운 인프라 생성을 가능하게 하고 이것들을 쉽게 관리할 수 있게 도와주게 됩니다. 뿐만 아니라 오케스트레이션 기술, 모니터링 기술, 웹콘솔 기술들이 필요하게 되는데요. 오케스트레이션 기술들은 이러한 여러 가지 어플리케이션이나 시스템들이 잘 융화되고 잘 구동 되게끔 도와주는 기술이고요. 모니터링은 말 그대로 우리 서비스가 인프라가 정상적으로 잘 작동하고 있는지를 잘 관찰해 주는 기술입니다. 그리고 웹콘솔 기술은 앞에서도 말씀드렸던 것처럼 클라우드 인프라에 접속해서 세팅하고 할 수 있는 그런 기능들을 가능하게 하는 것들이 결국은 웹콘솔 기술들입니다. 이러한 것들이 뭉쳐져서 클라우드 인프라를 가능하게끔 해 주는 역할을 하게 됩니다. 여기서 앞서 언급된 온프레미스에 대해서 조금 살펴볼 필요가 있는데요. 핵심적으로 온프레미스와 클라우드를 비교해 볼 필요가 있습니다. 온프레미스는 말 그대로 기업 사용자가 직접 시스템을 세팅하고 사용하는 것을 말합니다. 일반적으로 기존에는 데이터센터라는 곳이 있고 데이터센터에 상면이라고 있습니다. 서버를 갖다 쌓아 놓는 공간이고요. 서비스를 제공하기 위해서 철제프레임으로 된 렉에다가 서버를 끼우고 그 뒤에 전선과 네트워크도 연결하게 되고 그렇게 되는데요. 데이터센터는 안정적인 서비스를 위해서 필요한 요소들이 여러 가지가 있습니다. 온도, 습도 예를 들어서 습도가 많이 올라 가게 되면 정기적인 이슈들이 발생을 하게 되겠죠. 그리고 온도가 많이 올라갈 수 있습니다. 여러분 컴퓨터 장시간 사용해 보셔서 아시겠지만 컴퓨터 내부에는 팬이 있죠. 왜? 컴퓨터 본체 안의 온도를 낮추기 위해서 팬이 있습니다. 공기를 순환시키기 위해서. 그 컴퓨터 장치들이 작동 할 때는 상당한 발열이 발생한다는 의미인데요. 서버 역시 마찬가지입니다. 그 온도를 낮추기 위해서 항상 온도를 조절해야 됩니다. 그럼 여름같은 경우에는 엄청난 에어컨을 가동을 해야 되고 그런 환경이 필요하게 되겠죠. 그런 환경을 셋팅을 해서 서비스를 운영하는 것이 결국에는 온프레미스 환경이라고 생각하시면 될 거 같고요. 우리가 굳이 그런 환경을 셋팅하지 않고 사용하는 게 클라우드 입니다. 그래서 초기에 상당한 비용, 그 인프라를 셋팅하기 위한 그 비용이 들어가는데 그거를 세이브 할 수 있기 때문에 경제성이 있다라고 얘기를 하고요. 필요하면 언제든지 늘렸다 줄였다를 할 수 있기 때문에 유연성 있는 서비스다 라고 얘기를 합니다. 그런데 온프레미스는 시스템을 늘리기 위해서는 서버를 주문해야 됩니다. 서버를 주문해야 되고 그 서버를 설치해야 되는 공간을 확보를 해야 되고 그 서버가 통신해야 되는 네트워크를 확보를 해야 되고 뭐 이런 여러 가지 노력들이 필요하고 시간이 필요합니다. 그런 것들을 세이브 해 줄 수 있다는 거고요. 그 다음에 가독성 측면에서는 클라우드는 하드웨어가 우리가 서비스하는 하드웨어가 장애가 날 수 있어요. 장애가 나면 다른 하드웨어로 바로 대체해서 사용할 수가 있습니다. 그런데 온프레미스에서???鶯엔엔용응웰오訣常?되어 있지 않아 동일한 장비를 두 개를 셋팅해 놓지 않으면 쉽지가 않아요. 하나가 고장 나면 다른 장비로 대체를 해야 되는데 그러면 이중으로 비용이 들어가는 거죠. 미리 똑같은 장비를 셋팅을 해놓거나 아니면 추가 주문 해야 되는데 그 시간 동안 서비스가 제대로 돌아갈 수가 없습니다. 그런 측면이 있고요. 그 다음에 구축 속도 측면에서 보면 클라우드는 인프라가 셋팅되어 있는 것들을 내가 실시간으로 사용할 수 있기 때문에 그 속도가 확연하게 차이가 납니다. 온프레미스는 우리가 시스템을 이런 시스템을 쓸 거야 하면 하드웨어를 주문을 해야죠. 주문을 하고 그러면 그 하드웨어가 오고 그럼 그 하드웨어 위에 소프트웨어를 또 설치 해야 되고 소프트웨어도 별도 구매를 해야 됩니다. 그런데 클라우드는 소프트웨어를 구매 할 필요도 없고 하드웨어도 구매 할 필요도 없어요. 이미 다 설치되어 있고 우리가 필요한 것들 거기서 설치해서 사용을 하면 됩니다. 이런 측면에서 온프레미스와 클라우드는 많은 차이를 나타내고 있습니다. 이런 클라우드는 크게 다섯 가지로 구분하고 있는데요. 여러분이 아실 개념은 크게 4가지 정도 될 거 같습니다. 일반적인 클라우드는 퍼블릭 클라우드라고 부릅니다. 이 퍼블릭 클라우드는 말 그대로 퍼블릭 한거죠. 누구나 사용할 수 있다는 겁니다. 그래서 정의를 보면 인터넷을 통해 일반사용자에게 리소스를 공유하고 그 서비스를 제공하는 클라우드 형태라고 얘기를 합니다. 클라우드 사업자가 시스템을 구축 해 놓고 네트웍을 통해서 그 필요한 사람들 기업이나 개인들이 접속해서 서비스를 활용하는 거를 얘기를 합니다. 그리고 프라이빗 클라우드 인데요. 프라이빗 클라우드는 말 그대로 프라이빗한 겁니다. 특정한 사용자 특정한 기업이 사용하기 위해서 세팅 해 놓은 클라우드 시스템입니다. 그 다음에 나오는 개념이 하이브리드 인데요. 하이브리드 클라우드는 온프레미스나 프라이빗 클라우드, 퍼블릭 클라우드, 이 이종의 개념들을 혼용해서 사용하는 것들을 하이브리드 클라우드라고 얘기를 하고요. 멀티 클라우드는 두 개 이상의 퍼블릭 혹은 프라이빗 클라우드를 사용하는 거를 멀티클라우드라고 얘기를 합니다. 마지막으로 커뮤니티 클라우드가 있는데 이런 커뮤니티 클라우드에 대표적인 예는 정부에서 사용하는 클라우드 환경 같은 것들이 있습니다. 특정의 제한된 사용자들에게 제공되는 클라우드 환경인 거죠. 그래서 이걸 개념적으로 그림으로 정리해 봤는데요. 클라우드가 있다 라고 하면 하이브리드 클라우드는 하나의 어플리케이션이 여러 개의 시스템 온프레미스나 퍼블릭 클라우드나 이런 데서 같이 돌아 가는 거를 하이브리드 클라우드라고 얘기를 하고 멀티 클라우드는 각각의 어플리케이션이 각각의 다른 퍼블릭 클라우드에서 서비스 되는 그런 형태를 멀티 클라우드라고 이야기를 합니다. 이런 클라우드의 개념에 대해서는 잘 이해하고 가실 필요가 있을 것 같아요. 기본적으로 아까 말씀드렸던 클라우드를 위해 필요한 기술들이 있는데 가장 핵심적인 개념이 가상화 개념입니다. 이 가상화를 통해서 클라우드 서비스가 가능하게 되는데요. 말 그대로 클라우드 서비스는 방법론이고 가상화는 그 클라우드 서비스를 가능하게 하는 기술입니다. 기술과 방법론의 차이라고 보시면 될 거 같아요. 가상화는 하나의 물리적인 머신에서 여러 개의 시스템이 서비스가 돌아갈 수 있도록 해주는 것이 가상화고요. 그런 가상화된 기술을 바탕으로 해서 사용하는 것이 큰 개념이 클라우드 컴퓨팅입니다. 클라우드 컴퓨팅의 정의는 다시 여기서 설명드리면 네트워크 전체에서 컴퓨팅 네트워크 스토리지 인프라 자원 및 서비스 플랫폼 어플리케이션을 사용자에게 제공하는 접근방식입니다. 방법론이라는 거죠. 이렇게 가상화와 클라우드에 대해서 구분하고 숙지하실 필요가 있습니다. 클라우드를 얘기를 할 때 많이 나오는 단어 중에 하나 이아스, 파스, 사스입니다. 이 구분은 결국엔 그 클라우드 요소 중에서 사용자가 관리하는 범위가 어디까지이냐, 클라우드에서 제공받는 범위가 어디까지냐 인데요. 두 가지를 같이 생각하시기 보다는 한 가지만 생각하시면 될 것 같아요. 내가 사용자가 관리하는 범위가 어디까지이냐 인건데요. 온프레미스는 모든 요소들을 사용자가 다 직접 관리를 해야 됩니다. 기본적으로 인프라를 세팅을 하죠. 장비를 셋팅을 하고, 그 위에 OS 를 설치를 하고, OS 설치 후에 서비스가 가능한 미들웨어라든가 이런 것들은 설치를 하게 됩니다. 그리고 나서 서버 어플리케이션을 설치를 하고 데이터 관련 데이터베이스를 설치를 해서 서비스 인프라를 세팅하게 되는데요. 기본적으로 클라우드에서는 가장 핵심적인 이아스의 개념에서는 인프라는 이미 설치되어 있다는 거죠. 가상화까지 이미 이루어져 있습니다. 그러면 사용자는 어디부터 하면 되냐 OS부터 설치를 하고 필요한 미들웨어를 설치를 하고 그리고 그 이후에 어플리케이션과 데이터베이스를 세팅을 하면 됩니다. 그렇게 해서 서비스 환경을 세팅을 하면 되고요. 파스는 OS나 미들웨어까지 다 설치가 되어 있는 겁니다. 내가 필요한 어플리케이션과 데이터 환경만 세팅을 하면 된다는 거죠. 마지막으로 사스는 이 모든 게 다 이미 세팅되어 있어요. 그냥 블럭처럼 갔다가 쌓아서 우리 서비스를 구성을 하면 됩니다. 그래서 클라우드 서비스를 쇼핑과 비교를 하게 됩니다. 대부분의 퍼블릭 클라우드에는 되게 다양한 그 서비스 환경과 어플리케이션 그 다음 사스 모델들을 제공을 하게 되는데요. 예를 들면 MS 에저에는 코그니티브 서비스, 인지 서비스라는 게 있는데 이게 어떤 서비스냐 하면 화면을 이미지를 서칭을 해서 이미지를 인식을 해서 그 이미지가 사람인지 웃는 얼굴인지 사람이면 흑인인지 백인인지 이런 것들을 구분해주는 서비스가 아예 퍼블릭 클라우드 상에 어플리케이션 펑션으로 제공이 되게 돼 있습니다. 이러한 것들이 결국에 사스 서비스이고요. 이런 사스 서비스 모델에는 다양한 서비스들이 있습니다. 그래서 그런 서비스들로 우리가 어디까지 관리하느냐로 이아스, 파스, 사스를 구분하시면 될 거 같습니다. 이런 클라우드가 어떻게 활용되고 있냐, 이거는 시장 현황을 통해서 좀 살펴볼 필요가 있는데요. 2019년에 어느 클라우드 사업자가 조사한 통계자료입니다. 보시면 클라우드 도입과 관련된 의견에 대해서 계획에 대해서 질문을 했는데요. 거의 모든 업종에서 클라우드를 적극적으로 이미 도입하고 있거나 도입을 검토하고 있다 라고 대답을 했고요. 중요한 부분들은 현재 어느 정도 지출하고 있느냐의 측면에서 봤을 때 특히 게임을 보시면 상당히 많은 부분에 지출을 하고 있습니다. 억 단위 이상의 5억 이상 제출하는 게임사는 없는 것으로 대답하고 있지만 과반이 넘는 60% 이상의 게임사들이 월 5천만 원 이상의 클라우드 비용을 지출하고 있다 라고 대답하고 있는데요. 그 5천만원의 정도가 어느 정도인지를 설명을 드리면 일반적으로 게임 서비스에서 가장 많이 사용하는 MS 의 VM 모델이 있습니다. 그 VM 모델이 리스트프라이스 소비자 가격으로 한 달에 한 50몇만 원 정도 하는데요. 50만 원이라고 치고 50만 원짜리 VM을 100대를 돌리게 됩니다. 100개를 돌린다는 규모 잘 안 와 닿으실 수도 있는데요. 보통 일반적으로 mml rpg 하나를 서비스 하는데 VM 기준으로 생각했을 때 많게는 일반적으로 다섯 대, 여섯 대 정도 돌릴 수 있는데요. 그러면 서버군이 100개가 돌아가는 정도의 수준이라고 생각하시면 될 거 같습니다. 그러면 게임 사가 클라우드를 어느 정도 사용하고 있느냐 우리나라에서 가장 크게 사용하고 있는 게 A사인데요. 게임사가 제일 많이 사용합니다. 우리나라 클라우드 전체 시장의 한 50% 가까운 40% 정도를 A사가 점유하고 있는데 그 A사의 시장점유율 중에 약 40%를 게임사가 차지하고 있습니다. M사의 경우에는 그 보다 조금 더 높은데요. M사의 시장점유율 약 20% 정도 내외라고 얘기를 하는데 그 중에 60% 가까운 비중을 M사에서 게임 서비스가 차지하고 있습니다. 상당히 많은 포션을 게임 서비스가 클라우드를 사용하고 있다고 보시면 될 것 같습니다. 이런 클라우드는 초기에 비해서 이제 시간이 지나면서 도입 목적의 변화가 생기게 되는데요. 앞에서 말씀드렸던 것처럼 클라우드의 초기 도입 목적은 초기 비용을 절감하기 위한 겁니다. 하드웨어나 소프트웨어를 구매 할 필요도 없고 시스템 구축 노력도 필요 없고 유지관리 비용도 최소화시킬 수 있기 때문입니다. 그리고 급격하게 시스템을 늘렸다 줄였다 하는 부분들이 신속하게 대응할 수 있는 부분 그리고 시간과 장소 구애 없이 동일한 시스템 환경에서의 원격 업무가 가능하기 때문에 생산성이 증가할 수 있다는 측면에서 클라우드를 도입했었는데 이러한 부분들이 최근에 와서는 인공지능이라든가 언택트를 기반으로 해서 도입 목적이 변경되고 있습니다. 인공지능은 대부분의 데이터가 클라우드에 저장되고 그 클라우드에 저장되어 있는 데이터를 기반으로 해서 AI가 디벨롭 되고 하기 때문에 클라우드가 필수 인프라로 자리를 잡고 있는 측면에서 설명이 되고 있고요. 최근에 여러가지 다양한 상황에서 언택트가 크게 화두가 되고 있습니다. 재택근무라든가 그 다음에 미팅을 할 때도 될 수 있으면 대면 미팅보다는 온라인을 통해서 미팅을 하고 그리고 최근에는 이제 우리나라 같은 경우 대부분의 학교가 온라인으로 수업을 하고 있고 다양한 학원 포함해서 다양한 모임들이 온라인으로 전환 되고 있습니다. 이러한 모든 행위들이 클라우드가 있기 때문에 더욱 빠르게 가능하다는 것이죠. 예를 들어서 알파고의 경우에는 2백 몇십만 번의 대국을 천 몇백 대 천 사백여 대로 서버로 구성되어 있는 클라우드 시스템에서 40일 동안 학습을 하고 결국에는 이세돌 9단과 대국을 하고 선을 보이게 되?項웜?쨉ⅲ엔?시스코간?019년에 예측한 바로는 전세계 데이터 량이 연에 61%씩 증가하고 있다고 합니다. 2025년에는 175제타바이트 정도가 데이터가 클라우드에서 처리 될 거라고 예상하고 있는데 이런 부분들이 약 95% 전세계에서 생산되는 처리되는 95%의 데이터가 클라우드에서 처리되고 있다 라고 예측을 하고 있습니다. 지금까지 클라우드 컴퓨팅이란 무엇이고 이런 클라우드 컴퓨팅의 특징에 대해서 자세하게 살펴보았습니다
01. 이 강좌에 대해서
최근 디지털 콘텐츠의 클라우드 서버 사용이 증가함에 따라 클라우드 서버에 대한 소개 및 게임 업계에서의 사용 현황, 혜택, 대응 등에 대해 알아봅니다.