클라우드 컴퓨팅(Cloud Computing)의 뜻에 대한 명쾌한 정의(定義)가 필요할 때 자주 언급되는 자료는 미국 상무부 산하의 미국 국립표준기술연구소(NIST: National Institute of Standards and Technology)에서 2011년 9월에 발간한 클라우드 정의에 대한 보고서다.
이 보고서에 따르면 클라우드 컴퓨팅이란 유비쿼터스 환경에서 편리하고 쉽게 컴퓨팅 리소스(네트워크, 서버, 스토리지, 애플리케이션 등의 서비스)들을 구성하고, 네트워크를 통해 이 리소스들에 접속할 수 있으며, 가장 적은 노력을 통해 빠르게 준비되고 관리할 수 있는 모델이라고 클라우드를 정의하였다.
가트너(Gartner)에 따르면 글로벌 클라우드 시장 규모는 2014년 836억 달러에서 2019년 1822억 달러를 예상하고 있고, 한국은 2014년 5억 달러 정도에서 시작하여 2019년에는 약 12억 달러에 이를 전망이다.
비단 IT기업이 아니더라도, 많은 기업들이 클라우드 도입을 서두르고 있는 이유를 꼽으면 다음과 같다.
첫째로, 기업이 새로운 제품이나 서비스에 필요한 IT 자원을 빠르게 확보하고 사용할 수 있기 때문에, 기업의 입장에서는 시장 적시성(Time to Market)을 확보할 수 있다는 부분이다.
새로운 IT 자원을 확보하거나 개발하는 부분은 시스템 자원과 인적 자원, 이를 아우르는 프로세스 등이 확보되어야 하는데, 이중에서도 글로벌 향 IT 서비스의 경우, 많은 서비스 대상 국가의 네트워크를 확보하고 IDC를 새롭게 꾸리는 부분은 기술적인 디자인과 구현, 현지 업체와의 계약을 진행해야 하는 많은 에너지와 시간이 필요하지만, 클라우드의 경우 NIST의 정의대로 많은 부분들이 빠르게 준비가 된다.
두 번째로는 확장이 무한대로 가능하다는 클라우드 특성에 있다. 네트워크 상의 트래픽이나, 컴퓨팅 리소스가 더 필요하다고 판단이 되면 사용 중인 클라우드 자원의 자체 업그레이드(Scale Up) 혹은 새로운 자원을 늘리는 방식(Scale Out)이 유연하게 확보된다. 이러한 판단 또한 클라우드가 직접 상시 모니터링하고 결정할 수 있도록 자동화된 스케일링(Auto Scaling) 방식이 상당수의 클라우드 서비스에 이미 도입이 되어있기에, 필요할 때 늘리고, 불필요할 때엔 다시 줄이는 방식을 사용할 수 있다.
세 번째 이유는 첫 번째 , 두 번째 이유가 복합적으로 작용이 된 부분인데, 초기 투자 비용이 기존의 물리적인 설치 방식(On Premise) 환경에 비해 적다는 것이다. 즉 이미 구성이 완료되어, 클라우드 업체에 의해 운영 중인 시스템을 대여하여 사용하는 방식을 선택했기 때문에, 모든 IT 리소스를 각각 공급 업체와 계약해야 하는 방식과는 달리, 대규모 턴키 방식의 계약이 된 리소스를 클라우드 서비스 업체의 다양한 프로모션과 할인 정책을 통해 좀 더 경제적으로 도입할 수 있는 것이다. 다만 간과할 수 없는 부분은 도입 비용이 저렴한 것과 운영 비용을 줄이는 것은 별개의 것이라는 점이다.
클라우드 컴퓨팅 도입을 결정하기 위해 기업과 같은 조직이 고민해야 하는 부분은 무엇일까?
제일 중요한 부분은, 무분별한 유행에 따른 도입이 아닌, 기업의 비즈니스에 과연 클라우드가 필요하냐 에 대한 진지한 고민이다. 기존 직접 설치 방식의 레거시 시스템이나, 이런 시스템 상의 하나의 물리적 서버에 모든 필요한 서비스를 구현한 모놀리딕 아키텍처(Monolithic Architecture)는 여전히 많은 기업들의 훌륭하게 목적에 맞게 사용하고 있기 때문에, 클라우드로의 전환 대상 서비스의 처리 규모와 성능, 보안성, 가용성, 신뢰성, 효율적인 유지보수 방안 등을 충분히 판단한 후 결정이 되어야 하며, 무엇보다 클라우드 업체가 제공하는 서비스가 기업의 비즈니스가 필요로 하는 기능적 요구사항, 비기능적 요구사항에 알맞게 부합해야 한다는 것이다.
이것이 확실하지 않다면 클라우드 도입과정에서, 경영진의 판단에 의해 몇 개의 클라우드 서비스를 줄이거나, 스펙을 낮춰야 하는 상황을 만날 수도 있으며, 이는 마치 레고 블록처럼 연결되어 운영하는 클라우드 시스템 설계를 초기부터 다시 고민해야 하는 난감한 상황을 만들기도 한다.
도입 이후 운영의 관점에서 보면, 클라우드 운영을 위한 내적 기술이 확보가 되었는지에 대한 부분이다. 대부분의 클라우드 업체들이 손쉬운 관리와 분석 도구를 제공하지만, 이를 관리하고 운영하는 방식에 대한 최종적인 결정은 결국 도입한 조직의 결정에 따르게 되어있다.
초기 도입 시의 클라우드 시스템 스펙에 대한 결정, 시스템에 접근하는 보안과 인증 방식, 실제 사용자 권한을 어느 부서에 어떤 방식으로 나눌지, 데이터 백업 방식이나 스토리지의 저장 방식과 기간, 오토스케일링은 어느 범위까지 설정을 할 것인지, 이 모든 클라우드 시스템 자원이 정상적으로 운영이 되는지에 대한 KPI 기준은 무엇으로 잡고, 어떻게 클라우드 시스템의 백업 플랜을 실행할지 등에 대한 전략을 만들고 운영할 수 있는 기술적 인력이 필요하다.
개발과 운영을 동시에 하나의 인스턴스에서 진행할 수 있는 클라우드 시스템의 특성상, 이러한 기술 인력의 스타일은 개발과 운영을 동시에 담당하는 DevOps 혹은 자사의 IT 시스템에 대한 안정적인 운영을 책임지는 SRE(Site Reliability Engineering)의 형태로 나타나고 있으며, S/W에 해당하는 기업 애플리케이션과 H/W에 해당하는 클라우드 시스템과의 명확한 책임의 분리가 점차적으로 사라지고 있다. 따라서 클라우드 업체들이 비용을 받고 제공하는 프로페셔널 서비스(Professional Services)를 도입하는 방법과 더불어, 자사의 단기적, 중장기적 기술적인 성숙도 방안을 필요로 한다.
마지막으로, 클라우드 컴퓨팅의 운영 비용은 업체마다 조금씩 다른 방식의 지불 및 할인 구조를 가지고 있기 때문에 계약부터 자사에 알맞은 계약 모델인지를 파악해야 한다. 일반적으로 클라우드 비용은 트래픽 사용량, 저장 용량, 외부의 서비스 요청 수에 비례하여 비용을 지불한다. 특정 클라우드 서비스의 경우, 아무런 외부, 내부의 트랜잭션이 없더라도, 시스템이 준비 상태에서 운영되기 시작하면 일별 혹은 시간대별 빌링을 하기 때문에 사용하지 않는 서비스를 적절하게 관리하는 방식 또한 필요하다.
중요한 점은, 클라우드는 기존 IT 비용을 줄이기 위해 도입하는 서비스가 아닌, 빠른 서비스의 확장을 통해 기업의 정량적, 정성적 수익을 최대화하는데 초점이 맞춰져야 한다는 점이다.
또한 비용 구조와 함께, 클라우드 업체의 SLA(Service Level Agreement)를 이해하고, 서비스의 특성에 맞는 안정적인 운영이 지원될 수 있을지에 대한 판단도 필요하다. 클라우드 시스템은 여러 개의 서비스가 얽혀있는 구조이며, 하나하나의 서비스가 시스템의 단일 장애점(SPOF: Single Point Of Failure)가 될 수 있고, 이는 업체가 SLA를 통해 제시한 서비스 별 다운 타임의 합을 의미하여 예상하지 못한 결과를 만들기도 한다.
이런 부분에 대한 이해는 결국 클라우드 또한 전 세계 어디엔가 존재하는 S/W와 H/W 그리고 인프라의 집합체이며, 이를 구성하고 운영하며 모니터링하는 주체는 결국 사람(peopleware)이라는 부분에 대한 이해에서 시작하여, 기존 레거시 시스템과의 병행 운영 혹은 하이브리드 클라우드 전략을 통해 상쇄할 수 있다.
클라우드가 여전히 국내외에서 IT 업체뿐만 아니라 다양한 업종의 기업과 공공기관과 금융기관이 이미 성공적으로 운영을 하고 있거나, 도입을 서두르고 있는 이유는 클라우드는 기업의 본래의 가치 -자사의 본래 서비스를 발전하고 운영하는데 집중하고, 이를 사용하는 사용자를 만족시키기 위한 고차원적인 IT 부가가치를 통해 다양한 비즈니스 요소에 대한 빠른 해법을 제시했다는 점이다.
하나의 예를 찾자면, 수많은 사용자가 즐기고 있는 게임의 흔적을 로그화 하여, 필요한 정보를 추출하고, 클라우드 상에 의미 있는 데이터를 저장하여 빅데이터로 구성한 후, 데이터웨어 하우스를 통해 대규모의 정보를 클라우드 곳곳에 분산된 클러스터링 모듈을 통해 실시간으로 가공 및 변환하여, 인공지능적인 요소가 탑재된 시스템이 이 정보를 사용하여 실제 사용자의 특성을 올바르게 이해하고, 이에 알맞은 로직을 만들 수 있는 명확한 근거 데이터를 만들어 주고 있는 시스템을 들 수 있다.
이처럼 클라우드는 과거에 상상할 수 없는 기술의 가능성을 한 단계 더 끌어올리고 있으며, IT가 할 수 있는 영역에 대한 점진적인 발전을 만들어 내고 있다.