클라우드 원리

안녕하세요, 오늘은 클라우드에 대해서 알아보도록 하겠습니다. 요즘 클라우드라는 말씀 참 많이 들어보셨을 거라 생각합니다. 클라우드는 단순하게 인터넷에 자신만의 데이터를 저장하는 저장 공간이라는 의미도 있지만 개인뿐만 아니라 사내에서 다양하게 활용이 되고 있습니다. 아래부터 클라우드에 대한 개념과 활용사례 및 원리에 대해 알아보도록 하겠습니다. 


클라우드 컴퓨팅이란 무엇인가?

먼저 "클라우드"란 무엇입니까? 라는 질문을 많이 하십니다. 먼저 정확하게는 "클라우드 컴퓨팅"이란 무엇인가의 개념을 이해해야 합니다. 클라우드 컴퓨팅은 기존의 사용자가 소유하고 사용하던 하드웨어와 소프트웨어, 데이터 등 다양한 컴퓨터 자원 및 기능을 소유하지 않고 서비스를 필요로 할 때 언제 어디서든 사용할 수 있는 IT 환경을 말합니다. 클라우드 컴퓨팅 "클라우드 (Cloud)“는 말 그대로 구름을 뜻합니다. 인터넷 인프라와 서버군은 마치 구름 속에 있는 것과 같이 사용자는 그 실체를 확인할 수 없습니다. 그러나 이 구름에서 서버와 서로 통신하며 데이터를 분산 처리합니다. 사용자는 이 구름이 어떻게 되어 있는지 시스템의 내부적인 구조를 몰라도 서비스 업체에서 제공하는 다양한 컴퓨팅 환경을 이용할 수 있습니다. 


지금까지 컴퓨터를 이용하는 사용자가 컴퓨터의 하드웨어, 소프트웨어, 데이터 등을 직접 보유 / 관리하고 있었던 반면, 클라우드 컴퓨팅은 인터넷 건너편 구름 안에 있는 다양한 IT 자산을 언제 어디서든 즉시 필요한 만큼 무료 또는 서비스 이용 요금을 지불하고 사용 할 수 있는 형태입니다. 즉, 소유보다는 무료로 제공하는 한정된 서비스를 이용 한다거나, 일정 금액을 지불하고 정해진 기한동안 서비스를 사용하는 임대의 개념입니다. 클라우드 컴퓨팅에서 제공하는 서비스를 이용함에 있어 사용자가 준비해야 할 것은 최소한의 접속 환경 PC, 스마트폰 등의 클라이언트, 브라우저, 인터넷 연결만 되어도 클라우드 서비스를 사용할 수 있습니다. 실제로 사용자의 데이터 처리를 실행하는 컴퓨터는 서비스를 제공하는 클라우드 사업자 측에 설치되어 서비스되기 때문에 필요한 소프트웨어, 서버 등 의 구입비용과 데이터를 축적하는 스토리지 등은 사용자 측면에서는 더 이상 필요하지 않다는 의미입니다.


클라우드의 장점

클라우드 컴퓨팅이라는 용어는 2006년 구글의 회장이었던 에릭 슈미츠에 의해 처음 사용되었습니다. 클라우드 컴퓨팅과 유사한 개념이나 기술은 이전부터 있었지만 최근 급속히 주목을 끌게 되었습니다. IT 관련 기술의 급속한 발전으로 본래의 개념대로, 이용 환경이 실현 가능하게 되었습니다. 컴퓨팅 자원과 서비스 (소프트웨어 및 유지 보수 서비스)를 매번 조달하고 있던 지금까지의 IT 환경은 그 자원을 자사에서 소유하였습니다. 즉 기업은 그들의 자산으로 비용을 부담해야 했습니다. 하나의 클라우드 서비스는 사용자 측에 자원이 없는 형태로 구매와 유지보수 등이 없기 때문에 임대라는 개념으로 초기의 환경구축의 원가절감과 유지보수 비용을 절감할 수 있습니다. 기업은 이러한 비용을 고정비가 아닌 서비스의 이용량에 따라 변동비용으로 취급 할 수 있게 되었습니다. 또한 컴퓨팅 환경의 운영 관리는 클라우드 사업자 측에서 이루어집니다. 새로운 클라우드 서비스 이용비용은 발생하지만 지금까지 자사의 시스템 운용 및 관리 비용이 많이 발생하지 않아 개발, 구축 및 시스템 운영 관리 비용을 많이 절감 할 수 있게 되었습니다.


이 밖에 서비스의 구매나 선정을 하는데 있어, 기존 구매에 대한 내용이나 가격 등의 조사 및 비교에 시간과 노력을 대폭 줄일 수 있습니다. 하드웨어 기능의 측면에서도 클라우드 서비스는 주문형으로 원하는 서비스를 즉시 사용할 수 있습니다. 먼저 기획 / 검토 / 조달에서, 단계별로 개발 / 구축 / 도입등을 하는 시간과 노력이 크게 단축됩니다. 서비스를 즉시 투입하여 공정을 단축 할 수 있어 남들보다 빠른 사내 경영이 가능하다는 장점이 있습니다. 또한 클라우드 서비스는 복원력과 비즈니스 연속성의 측면에서도 유효합니다. 만일 자사에 큰 화재가 발생하거나 천재지변 등의 문제가 발생하더라도 데이터는 클라우드 사업자에 남아 있게 됩니다. 기업뿐만 아니라 사용자 또는 회사에서의 직원들도 다양한 장점이 있습니다. 업무에서 IT에 의존도가 높아지면, 사용자 측의 운용 관리 업무가 증가하는 경우가 있습니다. 평소 사용하는 OS 운영체제의 유지보수 및 업데이트를 하거나, 업무용 소프트웨어의 설치, 업데이트 등의 작업이 필요했습니다. 하지만 클라우드 컴퓨팅 기술은 이러한 업무 외의 관리 작업을 없애고 본연의 업무에 집중할 수 있는 환경을 제공 합니다. 요즘은 직장인의 업무 스타일과 라이프 스타일도 다양화 되고 있습니다. 클라우드 컴퓨팅은 직원의 재택근무나 스마트기기 등을 통한 모바일 작업도 지원합니다. 인터넷에 연결 가능한 단말기만 있으면 이동 중이거나, 집에서도 언제 어디서든 원하는 작업이 가능합니다. 


클라우드는 어떻게 만들어 지는가?

예를 들어 회사에 있는 근태 관리 시스템을 보겠습니다. 이 시스템이 작동하려면 소프트웨어, 출/퇴근 단말기, 서버(Server)가 필요합니다. 서버는 OS 가 설치되고, 근태 관리를 할 응용 프로그램과 네트워크 환경이 갖추어져 있어야 합니다. 근태 관리 기능을 직원들에게 서비스로 제공하는 최소한의 환경이 준비된 것입니다. 출/퇴근 관리뿐만 아니라 여러 사내 시스템도 함께 제공합니다. 예를 들어, 비용 정산 시스템과 업무 관리 시스템, 고객 관리 시스템, 자사의 웹 사이트를 전달하는 시스템 등이 있습니다. 많은 시스템은 작업을 수행하는 로직 부분을 응용 프로그램의 본체가 담당하고, 입력 된 정보를 유지, 보관하는 데이터베이스 서버가 담당하는 등, 여러 소프트웨어의 조합으로 구성되어 있습니다. 이러한 처리를 한 대의 컴퓨터에서 처리가 된다면 문제가 되지 않습니다. 그러나 대부분의 기업 시스템은 다릅니다. 예를 들어, 많은 이용자가 단시간에 많이 접근하여 높은 부하가 걸리는 상황이 되면, 반응이 느려지거나 액세스가 느려지는 등의 문제가 발생하고 경우에 따라서는 시스템이 정지되는 문제가 발생하기도 합니다. 


높은 부하가 걸리는 상황은 출근 시간대 또는 월말, 연말에 직원들의 근태관리를 정산하는 작업을 예상할 수 있습니다. 만약 근태 입력 도중에 시스템이 정지해 버리면 직원의 급여가 정확히 계산되지 못할 수 있습니다. 시스템 다운에 의해 모든 직원의 근태 정보를 기록한 데이터베이스가 날아가 버릴 수도 있으며, 또 각 시스템에 장애가 발생하는 일도 생각할 수 있습니다. 따라서 기업의 IT 시스템은 개인용 시스템과 달리 높은 부하에 대한 저항성을 높이거나 고장 등의 문제가 발생해도 서비스를 제공하기 위해 다양한 리스크 방지대책을 준비해야 했습니다. 그리고 그 시스템은 기업의 규모와 성장 속도, 처리 내용에 크기에 따라 관리하는 서버의 개수나 규모가 달라지게 됩니다. 이 상황을 배경으로 주목하게 된 것이 가상화 기술입니다.


가상화 기술이 태어난 배경

물리적 서버 한대당 성능이 향상된다면 원하는 작업을 빠르게 처리 할 수 있습니다. 모든 처리가 끝나면 그만큼 성능과 리소스에 여유가 생기게 됩니다. 여유가 있다면 여러대의 가상화 서버로 나누어 사용할 수 있게됩니다. 가상화는 다른 의미로 모방을 하는 것입니다. 예를 들어, 우리가 차를 운전하고 있다는 느낌을 받기위해서는, 실제 차량이 필요합니다. 핸들과 액셀, 좌석 등 차량을 조작하기 위한 장치가 필요합니다. 이 밖에 주변 시야의 변화와 가속도, 진동, 엔진 소리 등이 가능해야 차량을 운행하는 체험을 할 수 있습니다. 한편, 컴퓨터 프로그램은 계산 기능, 기억 기능 등 필요한 정보와 기능이 정확하게 주어져 있어야 실행할 수 있습니다. 즉, IT 가상화는 가상화 기반라는 소프트웨어에 의해 마치 실제 컴퓨터처럼 행동하는 가상 환경을 만들고 그 속에서 물리적 시스템이 제공하는 기능을 제공 하는 것을 말합니다.




가상 머신의 장점과 단점

하나의 물리적 서버에 여러 대의 가상 머신을 집약시키는 것으로 계산 능력과 메모리 등의 자원을 효율적으로 사용할 수 있게 됩니다. 이것은 소유하는 물리적 서버 대수를 줄이는 데에도 도움이 됩니다. 물리적 서버 대수가 줄어들면 그만큼 서버를 유지하는 비용과 인력 등 관리 비용을 줄일 수 있습니다. 가상 머신을 만드는 작업도 소프트웨어의 설정이나, 인터넷 웹상에서의 주문 등으로 할 수 있습니다. 하드웨어를 주문, 구매하여 설치하는 물리적 서버를 준비하는 지금까지의 방법에 비해 시간, 비용, 설치, 유지비 등을 크게 간소화하는 것입니다. 그 구축을 소프트웨어 처리에 의해 자동화 하는 것도 가능합니다. 이 일손을 거치지 않고 자동 화 할 수 있는 구조를 응용하는 것으로, 사용자는 언제든지 이용하고자 할 때 컴퓨터 자원을 얻을 수 있습니다. 그리고 사용자의 데이터가 필요 없게 되면 가상 머신의 데이터를 삭제함으로써 간단하게 폐기할 수 있습니다. 물리적 물건이 없기 때문에 폐기 비용이나 자산의 감가상각 등도 필요가 없게 되었습니다. 


한편, 가상화의 약점도 있습니다. 하나의 물리적 서버에 여러대의 가상 머신이 존재하기 때문에 물리적 서버가 손상 되어버리면, 가상 머신에서 실행되는 여러 시스템이 모두 영향을 받게되는 단점이 있습니다. 이를 위해 여러 서버에서 동일한 시스템을 가동시키고, 특정 서버에 문제가 발생해도 서비스를 계속 할 수 있는 시스템구조를 설계 할 필요가 생깁니다. 이러한 구조를 가용성 시스템 설계라고 합니다. 


IaaS를 거친 구조

일반적으로 사용되는 클라우드 서비스는 가상화 환경을 기반으로 서비스를 제공하고 있습니다. 이 서비스를 제공하는 사업자를 클라우드 벤더, 클라우드 공급자, 클라우드 서비스 사업자 라고 말합니다. 클라우드 벤더는 많은 이용자 컴퓨터 자원을 제공하기 위해 대규모 물리적 서버 나 스토리지 등을 구축하여 가상화 된 컴퓨터 리소스만을 이용자에게 제공합니다.


클라우드의 기초가 되는 서비스는 가상 인프라를 제공하는 것입니다. 주로 컴퓨팅, 스토리지, 네트워크 3가지 기능을 제공하는 서비스로서, IaaS (Infrastructure as a Service) 이아스 또는 아이아스 라고 부릅니다. 컴퓨팅은 컴퓨터의 기능을 가진 계산 능력 자체를 뜻합니다. 스토리지는 대용량의 데이터를 기록하고 보관하는 기능입니다. 네트워크는 컴퓨팅과 스토리지 이어주고 그 기능을 이용자에게 제공하는 역할을 합니다. 클라우드 벤더는 세계 각지에 데이터 센터를 두고 전 세계에 제공하는 대규모 사업자도 있습니다. 어느 국가 나 지역에만 특화 해 제공하는 사업자도 있으며 규모는 다양합니다. 또한 회사에 의해 서비스 되는 메뉴도 다양합니다. 각각의 클라우드 벤더의 특성을 감안하여 사용자 또는 자신의 회사가 원하는 서비스를 실현하기 위해 클라우드 사업자의 서비스를 선택하는 것이 포인트입니다. 


PaaS를 거친 구조

PaaS는 IaaS와 달리 이른바 가상 머신의 구축과 유지 관리도 클라우드 벤더가 제공하는 서비스입니다. 마지막으로 이용되는 시스템은 사용자가 만들고 시스템을 운영하기 위하여 필요한 소프트웨어 군을 서비스로 제공 합니다. 시스템에 필요한 기능을 소프트웨어 그룹으로 제공합니다. 예를 들어, 대량메일 전송 기능, 시스템 모니터링 및 상황 분석 도구 등의 기능을 포함한 서비스를 말합니다. 단순히 시스템 및 소프트웨어 개발자는 다양한 지식과 경험과 유지보수 능력이 필요합니다. 개발자의 부담은 실제로 매우 높고, 고도의 기술력이 요구됩니다. 적극적이고 신속한 시스템 개발이 요구되는 최근의 상황을 고려하면 개발자의 부담이 매우 커지게 됩니다. 이런 문제에서 가급적 개발자가 시스템의 개발과 서비스에 집중할 수 있도록, 그 이외의 부분의 관리를 외부에 맡길 서비스임을 PaaS의 가치로 파악할 수 있습니다.


IaaS : 컴퓨터 자원을 제공하는 서비스입니다.

PaaS : 시스템 개발을 지원하기위한 서비스입니다.

SaaS : 사용자가 소프트웨어처럼 직접 활용할 수 있는 서비스입니다.


클라우드 서비스는 지금까지 자사의 IT 시스템 환경만으로는 쉽게 얻을 수 없었던 기능과 지식을 서비스로 계약하는 것만으로 활용할 수 있게 된다는 점이 큰 장점입니다. 여러 서비스를 결합하여 보다 부가가치가 높은 시스템과 서비스를 정확하고 신속하게 사용자에게 제공 할 수 있습니다. 이것이 결과적으로 비즈니스적인 장점으로 이어질 수 있습니다. 즉, 원래 무엇을 목표로 하고 있는 것을 위해 사용하는가? 그것을 사용함으로써 얻을 수 있는 이점은 무엇인가? 어떻게 사용하면 혜택을 누릴 수 있는가? 라고 생각을 하고 클라우드 서비스와 마주하는 것이 지금 요구되고 있습니다. 우리는 벌써 일상에서 클라우드 서비스를 많이 이용하고 있습니다. 스마트폰 어플이나 PC의 크롬 등의 브라우저에서 이용하는 다양한 서비스는 대부분이 클라우드 서비스입니다. 이러한 개인 클라우드의 이용과 기업에서 사용하는 클라우드의 이용은 근본적으로 큰 차이는 없습니다. 기업이나 조직을 구성하는 요소는 사람입니다. 사람이 사용할 수 없다면 생산성을 높일 수 있는 상황이 없으면 기업 활동은 이루어지지 않기 때문입니다. 개인의 용도는 자신이 이용자이며, 수혜자이며 결정권을 갖습니다. 자신에게 이익이 있으면 서비스를 이용하고 있으며, 그렇지 않으면 사용하지 않습니다. 이렇게 간단하게 의사 결정을 할 수 있습니다. 한편 기업용은 이해 관계자가 많이 존재합니다. 다양한 연령대와 사용자, 협력업체가 존재하므로 클라우드 플랫폼이 사람마다 어렵게 느껴질 수 있다는 의미입니다.  기업이나 조직에서 짜여진 절차에서 진행되는 업무 프로세스에서는 클라우드 도입이 특히 어려울 수 있습니다. 그러나 조금씩 사내와 협력사에서 성공을 거듭하면서 장점이 전해지게 되면 처음에는 클라우드 서비스에 회의적인 사람도 점점 클라우드의 장점에 만족을 하게 됩니다. 클라우드처럼 새로운 기술과 개념을 도입하기 위해서는 우선 작은 성공을 목표로 점차 본격적으로 도입하는 방법이 좋다고 생각합니다.


감사합니다.

'IT 정보 기술' 카테고리의 다른 글

가상화폐의 장단점  (0) 2016.10.25
딥러닝 기술에 대한 고찰  (0) 2016.10.24
가상현실 VR 동향과 활용사례  (0) 2016.10.22
블록체인 기술이란 무엇인가?  (0) 2016.10.20
USB C타입에 대해 알아보기  (0) 2016.10.20

+ Recent posts