Cloud ComputingFrom Korea Architecture Journal
1 요약
2 서문
3 산업 활용 시나리오
4 아키텍처
5 사업자 별 클라우드 사업 전략 비교 분석
6 클라우드 플랫폼의 산업적 가치와 활용 전략
7 맺음말
8 참고문헌
요약
클라우드 컴퓨팅 기술은 다수의 컴퓨터를 연동하여 실현할 수 있는 다양한 산업적 해법을 아울러 일컫는 말로, 사업자 별로 주요한 사업 전략의 차이에 따라 개념, 기술, 제품 따위에 적지 않은 차이가 있다. 따라서, 클라우드 컴퓨팅을 바탕으로 하여 명확한 사업 전략을 수립하고 효과적 기술 투자를 시행하기 위해서는, 편향된 해석에서 빚어질 수 있는 오판의 가능성을 줄일 수 있도록, 현 소프트웨어 산업에 미치는 생태계적 효과를 면밀히 살피는 것에서부터 클라우드 컴퓨팅의 출현이 갖는 본질적 의미가 사업 전략의 밑바탕에 충실하게 반영되었는지를 살피는 일을 앞세울 필요가 있다. 이 글에서는 실제 활용 가치를 중심으로 클라우드 컴퓨팅 기술의 의미를 살펴봄으로써 연관 산업의 건전한 생태계 형성을 위하여 어떤 전략적 투자가 효과적인지를 제언한다. 첫째, 일반화 가능한 산업 활용 시나리오를 단계별로 살펴보고, 이로부터 클라우드 컴퓨팅 기술이 갖추어야 할 필수 서비스 요소가 무엇인지를 정의한다. 둘째, 이를 바탕으로 현재 세계 주요 클라우드 컴퓨팅 사업자들이 어떠한 산업 시나리오에 초점을 맞추고 있는지 주요 사업자 별로 전략의 차이를 살핀다. 셋째, 주요 사업자들의 클라우드 컴퓨팅 기술이 국내 시장 동력에 기여할 수 있는 활용 시나리오를 제안한다. 마지막으로 이러한 방안을 현실화하는데 일어날 수 있는 잠재적 장애 요소를 확인하면서 클라우드 컴퓨팅을 바탕으로 한 시장 활성화를 위해 선결해야 할 과제가 무엇인지를 논한다.
글쓴이
김재우, 플랫폼 전략 자문
장현춘, 솔루션 아키텍트
신현석, 인프라 아키텍트
서문
일반적으로, 개별 개념의 모호한 연관성을 융합하여 하나의 기술적 추세를 나타내는 용어가 등장하게 되면, 오래 동안 산업에서 여러 가지 시행 착오를 거치며 또렷한 시장 가치를 드러낼 때 까지 소수의 선도 집단을 중심으로 소규모 간헐적 실험 투자가 이어지는 것이 보통이다. 그 가운데 상당수는 실제 시장을 형성하지도 못한 채 사라지며, 일부는 이후 새로운 산업적 추세에 포함되거나 새로운 이름으로 재 포장되어 시장에 등장하게 되기까지 오랜 기간 성장을 멈춘 채 동면 상태에 들어감으로써 일시적으로 시장 동력으로써 가치를 상실하고 선도적 투자에 따른 효과를 입증하기가 어렵게 만든다. 따라서 새로운 기술 또는 산업 추세에 발맞추어 시장 경쟁력을 유지하기 위한 효과적 투자 전략을 세우기 위해서는, 무엇보다 현 시장의 성숙도를 올바로 분석하고 장기적 안목에서 근본적인 시장성을 본질적으로 고찰하는 작업이 반드시 앞서야 한다, 이러한 관점에서 보더라도, 클라우드 컴퓨팅은 단순히 또 다른 용어의 유희에 불과한 것인지, 정확히 현 산업의 추세를 총합적으로 반영하는 대세인지 판단하기 어려울 만치 혼란을 야기할 소지를 적잖이 안고 있다. 클라우드 컴퓨팅(Cloud Computing)이란 용어 자체가 [[SaaS|SaaS(Software-as-a-Service)], 유틸리티 컴퓨팅(Utility Computing), 그리드 컴퓨팅(Grid Computing), 분산 처리(Distributed Computing), 가상화(Virtualization), 서비스 중심 아키텍처(Service-Oriented Architecture), 고성능 컴퓨팅(High-Performance Computing) 따위, 기존 다수의 서버를 연동하여 실현할 수 있는 다양한 기술 개념을 아울러 통칭하는 용어로 등장하였기 때문에, 지금까지 그 어떤 유행어보다도 뜻하는 바가 포괄적이며, 그에 따라 기술 집단이나 사업자 별로 각자의 관심사나 이해 관계에 맞추어 수많은 자의적 해석이 가능하다.
실제로, 마이크로소프트를 위시하여, 클라우드 컴퓨팅이라는 낱말을 두고 저마다 시장을 선도한다는 글로벌 사업자들의 관련 제품들을 면면히 살펴보면, 자사가 초점을 맞추고 있는 주요 사업 전략의 차이에 따라 가치 해석, 적용 기술, 제품군 따위에 근본적으로 현격한 차이가 있다. 예를 들어, 하드웨어 수익이 우선시되는 회사가 말하는 클라우드 컴퓨팅은 기존 기업 내부의 서비스 지향 인프라스트럭처(Service-Oriented Infrastructure)를 가상화(Virtualization) 기술을 기반으로 재구성하여 계산 환경의 효율성과 관리의 자동화 수준을 끌어올리는 데 초점을 맞추고 있다. 이 때, 클라우드 컴퓨팅이란 서비스 생명 주기 관리(Service Lifecycle Management) 기술이 탑재된 대형 가상화 그리드(Massive Virtualization Grid) 구축을 일컫는 말이다. 비슷하게, 자체 데이터 센터를 보유한 사업자들은 서버 가상화를 통해, 기 투자 시설의 활용도를 최대한으로 끌어올리는 데 우선적인 관심이 있다. 이런 경우, 서비스 생명 주기 관리 기술은 불필요한 투자일 가능성이 짙다. 서비스 생명 주기 관리 기술은, 모든 서버를 좀 더 추상화된 서비스 운영 환경으로 통합함으로써 기존 소프트웨어의 아키텍처 변경을 불가피하게 만들고, 더욱이 최종 소비자에게 운영체제 선택권을 주지 않는 다는 면에서 오히려 지나친 기술 투자가 사업성을 떨어뜨릴 수 있기 때문이다. 이와 달리, 웹을 중심으로 서비스 사업을 펼치고 있던 사업자들은, 인프라스트럭처의 활용도나 관리 용이성을 개선하기 보다는, 기존 완성형 서비스(Finished Service)를 플랫폼 서비스(PaaS, Platform-as-a-Service) 수준으로 끌어올리면서 산업 생태계 활성화를 통해 사업 확장을 꾀할 목적으로, 클라우드 컴퓨팅이란 용어를 차용하는 경우가 대부분이다. 다시 말해, 이 경우에 클라우드 컴퓨팅이란 용어는, 기존 SaaS 사업을 PaaS 형태로 확장하면서, 자사가 안전하고 충분한 서비스 신축성(Scalability)을 확보하고 있다는 자신감을 드러내는 용도로 활용된다. 이 가운데서도, 수많은 개별 사용자들을 대상으로 하던 서비스의 경우에는, 한 사람 또는 여러 사람들이 소유하고 있는 블로그, 메일, 네트웍 저장소, 그리고 다양한 단말 장치 내의 멀티미디어 자료나 응용 소프트웨어를 공유하고, 검색하고, 동기화하는 따위의 기능을 제공하면서, 사실상 장치간 네트워크(Device Network or Device Mesh), 사람간 네트워크(Social Network, Social Mesh), 통합 메시지 및 미디어(Converged Media) 따위를 통합 서비스 할 수 있는 기술 기반, 이른바 피어 투 피어 네트워크(peer-to-peer network) 서비스를 플랫폼 수준으로 더 발전시킨 형태를 지칭하기 위한 용도로 쓰이고 있다.
따라서, 위에서 간단히 살펴본 바와 같이, 특정 집단의 해석에 휘둘리지 않고, 명확한 사업 전략 수립과 효과적 기술 투자를 시행하기 위해서는, 개별 집단의 이해 관계에 따른 편향적 논의를 벗어나, 큰 눈으로 현 산업에 미치는 생태계적 효과를 면밀히 살피는 것이 우선이다. 본고에서는 시장 활성화 관점에서 실제 활용 가치를 중심으로 클라우드 컴퓨팅 기술이 의의를 논하고 연관 산업의 건전한 생태계 형성을 위하여 어떤 전략적 투자가 바람직한지를 제언한다. 첫째, 일반화 가능한 산업 활용 시나리오를 단계별로 살펴보고, 이로부터 클라우드 컴퓨팅 기술이 갖추어야 할 필수 서비스 요소가 무엇인지를 정의한다. 둘째, 이를 바탕으로 현재 세계 주요 클라우드 컴퓨팅 사업자들이 어떠한 산업 시나리오에 초점을 맞추고 있는지, 곧 사업자 별 전략 차이를 살핀다. 셋째, 주요 사업자들의 클라우드 컴퓨팅 기술이 국내 시장 동력에 기여할 수 있도록 활용할 수 있는 시나리오를 제안한다. 마지막으로 이러한 방안을 현실화하는데 일어날 수 있는 잠재적 장애 요소를 확인하면서 클라우드 컴퓨팅을 바탕으로 한 시장 활성화를 위해 선결해야 할 과제가 무엇인지를 논한다.
산업 활용 시나리오
기업의 비즈니스와 클라우드 컴퓨팅이 어떤 연관이 있는지를 살펴보는 것을 통해 클라우드 컴퓨팅이 갖는 기술적인 요소를 찾아보고 이를 지원하기 위한 서비스 업체들의 제공되는 기능들을 살펴보기로 하자.
대부분의 기업이 그러하듯 오늘날의 복잡하고 급변하는 비즈니스 환경에 적응하고 살아남기 위해, 신제품이나 서비스의 빠른 시장 대응 능력(Time-to-Market)을 실현하고 까다로와진 고객의 욕구를 수용하기 위한 다양한 실험과 연구를 수행하고 있으며, 이러한 연구의 과정에는 때로 전산센터의 대규모 연산 능력을 필요로 한다고 가정하자.
위 그림은 클라우드 컴퓨팅을 도입하지 않았을 경우 기업내 업무 흐름을 보여준다. 그림에서 보듯이 이 기업 내부에는 디렉토리 서비스 기반의 인층 체계가 마련되어 있어 내부 직원들이 이를 통해 기업내의 다양한 업무 시스템을 사용하고 있으며, 이들이 사용하는 업무 시스템들은 기업 내의 IT 부서 직원들이 자사에 특화된 모니터링 도구를 통해 시스템을 관리하는 것이 대부분이다. 여기서는 일반화할 수 있는 논의의 간결성을 위하여, 고객관리를 위한 시스템(CRM), 신제품 개발을 위해 대규모 테스트를 진행하는 연구 개발용 시스템, 그리고 이 기업의 대표적인 제품이자 시장에서 경쟁력을 갖춘 제품 개발을 위한 임상 실험 시스템이 있다고 가정한다.
오랫동안 이 기업은 신제품 개발을 위해 연구 개발 부서(R&D) 에서 필요로하는 대규모 연산 능력을 자체 IT 리소스 의존하였는데, 기업 비즈니스 환경의 변화와 맞물려 IT 자산의 합리화라는 도전에 직면하게 되고 이를 극복하기 위해 새롭게 클라우드 컴퓨팅을 접목시키기로 하였다. 가끔 필요로하는 대규모 연산 능력을 갖추기위해 자사 IT 인력을 투입하여 대규모 전산 센터를 운영하는 비효율성에서 벗어나 필요한 시점에 클라우드 컴퓨팅의 연산 능력과 저장 공간을 활용하여 비용 절감 및 IT 합리화를 도모하고 있다. 그림 2에서 보듯이 이때 필요한 기술적인 고려 요소가 있다. 인증 체계의 통합이 그것이다. 기업내의 인증 체계는 자사 IT 부서가 관장하는 디렉토리 서비스에 의존하고 있으나, 기업을 벗어나는 순간 또 다른 인증체계가 기다리고 있다. 따라서 기업 내의 인증체계와 기업 밖 클라우드 서비스가 사용하는 인증체계와의 통합이 필요하며 이때 사용될 수 있는 것이 공개표준 혹은 산업표준으로 통용되는 인증체계를 이용하는 것이며, 여기서는 리버티 얼라이언스(Liberty Alliance)에서 마련한 SAML 이라는 공개 표준을 따르고 있다. 이를 위해 기업 내부에는 SAML 토큰을 발행할 수 있는 토큰 서비스 (STS : Secure Token Service)가 존재하여야 하는데, 일반적인 경우 디렉토리 서비스가 이 기능을 함께 제공하며 이를 통해 기업 밖의 인증 시스템과는 SAML이라는 공통된 인증 체계를 통해 소통을 할 수 있게 된다.
기업내의 시스템 통합을 위해 ESB (Enterprise Service Bus)가 있다면, 기업간 서비스의 통합을 위해 ISB (Internet Service Bus)가 있으며, 클라우드 플랫폼에서 서비스로서 ISB를 제공하고 있다. ISB는 서비스 버스로서 기업간 서비스 통합시에 발생할 수 있는 다양한 이슈에 대한 빌딩 블록 형태의 서비스를 제공하고 있다. 그 중 대표적인 것이 바로 통합 인증을 가능케하는 토큰 서비스와 서비스간 통합을 쉽게 하는 서비스 릴레이 기능, 워크 플로우 통합 기능 등이 그것이다. 클라우드 플랫폼에서 제공하는 인증 서비스 또한 SAML 기반의 인증 체계를 지원하며 이를 위한 토큰 서비스 (STS)가 마련되어 있다. 이제 기업 내부의 인증 체계는 SAML 토큰을 통해 기업을 벗어나 클라우드 서비스와 소통할 수 있는 기반을 마련하게 되었다.
여기서 한 가지 눈여겨 봐 두어야 할 것으로는 클라우드 플랫폼 내에 존재하는 이 기업의 흔적들이다. 위 그림에서 이 기업을 위해 할당된 영역으로 클라우드 서비스가 제공하는 연산 능력과 저장 공간은 짙게 표시되어 있다.
많은 기업들은 전통적으로 상용 S/W를 구매하거나 자체 개발한 S/W를 자사 IT 부서가 관리하는 전산센터에 설치하여 운영하는 방식으로 기업 내부에서 필요로 하는 기업 전용 애플리케에션 (LOB) 을 사용하여 왔다. 전산 환경에 서비스 중심적인 논의가 활발해지고 시장에서 검증된 SaaS (Software As A Service) 형태의 애플리케이션이 등장하고, LOB 애플리케이션까지 SaaS 형태로 제공되기에 이르자 본고에서 예로 든 기업 또한 이를 적용하기로 하였다.
위 그림에서 보듯이 이 기업이 선택한 SaaS 애플리케이션은 고객 관리 시스템 (CRM)이며 기업의 테두리를 벗어나 외부 어딘가 구름속에 존재하는 서비스 제공자로부터 다소 정형화된 형태의 고객 관리 기능을 서비스로 제공받고 있다. 이 부분에도 역시 기업 내의 인증 시스템과 CRM 서비스 제공자의 인증 시스템은 다를 수 있고 이 둘 사이의 인증 체계 통합을 위해 SAML이 사용되고 있다. 또한 SaaS 영역에서 일반적으로 서비스 제공 업체가 제공하는 모니터링 기능을 사용하여 이 서비스 제공 업체와 계약 당시 체결한 SLA(Service Level Agreement)가 제대로 이행되며 서비스가 제공되고 있는지 살펴볼 수 있다. 또한 그림 3에서 보라색으로 표시된 것과 같이 이 기업이 관리하는 고객들에 대한 정보가 이 기업 내부에 보관되는 것이 아닌, 클라우드 서비스 업체의 전산 센터에 보관되고 있는 것을 알 수 있다. 물론 고객 정보에 대한 데이터 정합성, 백업 등의 관리는 SLA의 일부이다.
이 기업의 비즈니스 중추이자 핵심 역량인 임상 실험 과정에 외부 고객의 참여가 필수적이며 이를 위해서는 기업 내의 직원 인증체계와는 다른 외부 고객 인증 체계가 필요하게 된다.
위의 그림에서 보는 바와 같이 외부 고객이 기업 내의 시스템을 이용하기 위해서는 클라우드 플랫폼이 제공하는 ISB 서비스를 이용하여야 하며 그 중에서도 SAML 토큰을 이용한 통합 인증과 실제 제공 서비스가 직접 노출될 수 없기 때문에 방화벽을 통한 릴레이 서비스 등이 그것이다. 즉, 외부 고객은 클라우드 플랫폼이 제공하는 SAML을 통한 통합 인증 시스템을 이용하여 기업 내의 시스템에 접근할 수 있으며, 클라우드 플랫폼이 중간에 중재하는 릴레이 서비스를 이용하여 기업내의 실제 서비스에 인도될 수 있게 된다. 이 경우 임상 실험에 참여하는 외부 고객은 실제 임상 실험 서비스가 어디에서 제공되는지 알 수도, 알 필요도 없으며, 이를 위해 필요한 인증을 어디서 제공했는지 알 필요도 없게 되는 것이다.
이제 이 모든 퍼즐을 맞추어 보면 다음과 같다.
전통적인 기업이 자사가 필요로하는 시스템을 모두 구비하여 자사의 IT 인력과 자사의 전산 센터를 활용하여 비즈니스에 필요한 정보 및 시스템을 마련하였다면, 오늘날의 기업들은 그림 5에서 보듯이 분산된 시스템을 통해 비즈니스 민첩성을 높이고 IT 자산 합리화를 통해 비용 절감을 가져와 궁극적으로는 기업의 경쟁력을 높이는 수단으로 활용하고 있다. 위 그림에서처럼 클라우드 플랫폼이 제공하는 연산 능력과 저장 공간을 활용하여 일부 서비스를 운영하기도 하고, 운영의 효율성을 위해 일부 시스템을 전문 호스팅 업체에 맡기기도 하고, 일반화되어 이미 시장에서 검증받은 SaaS 형태의 기업용 애플리케이션 (LOB : Line of Business)를 적극 활용하기도 하면서, 고객의 참여를 통해 제품의 품질을 향상시키기 위해 클라우드 서비스의 인증 시스템을 활용한다.
아키텍처
클라우드 플랫폼이 제공하는 기능을 일반화시키기 위해 잠시 SaaS에 대해 살펴보면, SaaS의 핵심은 아키텍처 관점에서 Single instance Multi-Tenancy를 구현하여 다수의 고객을 하나의 인스턴스(시스템)에서 처리할 수 있도록 하는 규모의 경제 (Scale of Economy)가 가능한 애플리케이션 아키텍처를 갖추고 갖추고, 이를 실현할 수 있도록 운영측면에서 고도의 계산과 공간 신축성(Scalability)을 제공할 수 있는 인프라 구성 및 운영 능력이 요구된다. 또한 코드의 변경없이 다수 고객의 요구 사항을 하나의 인스턴스에서 처리할 수 있도록 메타데이터 기반의 구성 요소 관리가 필요하다. 이처럼 SaaS는 고객의 요구 사항의 급작스런 증가에도 유연히 대처할 수 있는 확장성을 근간으로 하기 때문에 SaaS 서비스 제공자들이 점자 클라우드 플랫폼을 SaaS 서비스의 인프라로 활용하고 있는 추세이다.
이처럼 클라우드 플랫폼은 예전의 유틸리티 컴퓨팅의 좁은 시야에서 벗어나 다양한 형태의 서비스 및 서비스 근간이 되는 플랫폼의 역할을 하고 있다. 클라우드 플랫폼이 제공하는 서비스를 요약하면 다음과 같이 도식화할 수 있다.
위의 그림에서 보는 바와 같이 클라우드 플랫폼이 제공하는 클라우드 서비스는 다음과 같이 크게 세 가지로 구분할 수 있다.
애플리케이션 클라우드
SaaS용 애플리케이션이 클라우드 환경에서 운영되는 형태이며 일반 사용자를 대상으로 한 애플리케이션 클라우드와 기업 사용자를 대상으로 한 애플리케이션 클라우드로 나눌 수 있다. 많은 SaaS 애플리케이션이 이와 같은 클라우드 플랫폼의 유연한 확장성을 기반으로 서비스를 제공하는 형태로 발전하고 있다.
플랫폼 클라우드
애플리케이션을 개발하는 데 필요한 각종 서비스 빌딩 블록을 클라우드 환경에서 제공하거나, 실제 클라우드 애플리케이션을 개발하는데 도움을 주는 개발 프레임웍, 개발 환경 플러그인, 가상 테스팅 환경, 개발에 필요한 SDK 등 개발 플랫폼을 제공하여 클라우드 애플리케이션 개발을 일반 애플리케이션 개발 만큼이나 쉽게 진행할 수 있는 장치를 제공한다. 플랫폼 클라우드가 제공하는 빌딩 블록 서비스는 그림에서 보듯이 크게 도메인 특화된 서비스와 범용 서비스로 구분되며 범용 서비스는 다시 일반 사용자용 서비스, 기업 사용자용 서비스, 데이터테이스 서비스 등으로 구분될 수 있다. 개발 플랫폼을 제공하는 클라우드 서비스 제공업체들은 대부분 인터넷 상에서 직접 개발할 수 있는 브라우저 기반 개발 환경을 제공하거나, SDK를 제공하여 널리 사용되는 개발 도구의 플러그인 및 개발 보조 도구를 제공하고 클라우드 운영 환경에 대한 에뮬레이션 기능을 제공하여 일반 애플리케이션 개발할 때와 마찬가지의 개발 및 테스트 환경을 제공한다.
인프라 클라우드
대규모 연산 능력이 필요할 경우 활용할 수 있는 확장성 풍부한 가상화된 전산 자원 (CPU 혹은 메모리)을 즉시 제공하는 서비스 혹은 바이너리 데이터나 구조적인 데이터의 대용량 저장 공간을 제공하는 서비스로 구성되어 있다. 클라우드 서비스 형태 중에 가장 많은 수의 업체들이 제공하는 서비스로서 CPU, 메모리, 저장 공간을 사용량에 따라서 과금하는 형태를 띄며 이미 다수의 업체가 비즈니스를 활발히 진행하고 있다.
사업자 별 클라우드 사업 전략 비교 분석
가트너는 클라우드 컴퓨팅을 “인터넷 기술을 활용하여 외부 고객에게 확장성 및 탄력성의 특징을 제공하는 기술”이라고 정의하고 있다. 세부적으로 5가지의 속성, 즉 ”서비스 기반, 확장성 및 탄력성, 공유, 사용량 기반 과금, 인터넷 기술을 사용”을 만족해야 한다고 설명하고 있다. 한가지를 더 추가한다면 제공 서비스 규모의 “글로벌 스케일”을 들수가 있다. 모든 IT 의사 결정권자는 시스템을 선택할 때 “통제”와 “규모의 경제” 2가지를 고민하게 되는데, 클라우드 컴퓨팅은 “통제” 보다는 “규모의 경제” 속성을 선택했다는 것을 의미하며 “규모의 경제”는 대한민국 시장만을 한정해서는 얻기 어렵기 때문이다. 미국, 중국 등 개별 시장의 규모가 충분히 크다면 가능하겠지만 한국 시장만을 대상으로 규모의 경제를 확보하기는 어렵다.
많은 글에서 클라우드 컴퓨팅에 대한 설명이 이루어졌기에 구체적인 설명은 하지 않고 이번 기고에서는 공용 클라우드와 사설 클라우드 2가지 구분에 대한 부분을 다루어 보도록 하겠다.
클라우드 컴퓨팅은 인프라 클라우드, 플랫폼 클라우드, 애플리케이션 클라우드 3가지 형태로 구성되어 있다. 인프라 클라우드는 논리적으로 가상화된 컴퓨팅 자원(메모리, CPU)을 제공하거나 이미지, 동영상 등의 자료를 저장할 수 있는 스토리지 자원을 제공하는 영역이고, 플랫폼 클라우드는 서비스를 개발하는데 필요한 개발 환경 및 프레임웍, 소프트웨어 개발 킷트(SDK)와 배포 및 운영, 즉 서비스 라이프 사이클 관리를 함께 제공하는 영역, 그리고 인프라 클라우드, 플랫폼 클라우드를 기반으로 최종 사용자가 사용할 수 있는 완제품 서비스를 제공하는 애플리케이션 클라우드 영역으로 나누어 볼 수 있다.
사설 클라우드는 클라우드 서비스를 사용하는 대상을 제한하는 방식이다. 주로 대기업에서 데이터의 소유권을 확보하고, 프라이버시를 보장받고자 할 때 구축될 수 있다. 규모와 대상이 다를 뿐 클라우드가 가지고 있는 속성은 그대로 유지된다. 온-디맨드 가상화 인프라 형태로 구축되는데, 컴퓨팅 자원인 필요할 때 논리적인 가상 머신을 할당하고, 더 많은 자원이 요구될 때 자연스럽게 확장하여 안정적인 서비스를 제공한다. 가장 큰 장점은 전체 인프라에 대한 완전한 통제권을 갖는 다는 것이지만, 규모의 경제 효과를 보기 어렵고 자산 투자가 기존 방식과 같이 해당 업체에서 직접 해야 하기 때문에 사용한 만큼 비용을 내는 운영료 방식의 장점을 확보하기 어렵다.
IBM, HP의 전략은 개별 기업이 사설 클라우드 인프라 구축을 지원하는 방식으로 보여진다. 각 회사의 하드웨어, 소프트웨어를 활용, 즉 블레이드 서버, 서버가상화 기술을 기반 인프라 클라우드 구축을 통한 비즈니스의 성장을 이루어낸다. Sun은 개별 기업의 사설 클라우드 구축을 지원하면서, 자체적으로 공용 클라우드 서비스를 추진하겠다는 전략을 지난 3월 발표했다. 앞에서 설명한 인프라 클라우드 영역을 의미하고, 사설 클라우드의 경우 인프라 클라우드에 초점이 맞춰져 있다.
공용 클라우드는 클라우드 서비스를 사용하는 대상을 제한하지 않는 방식을 의미한다. 전 세계의 소비자, 중소규모 기업, 대기업 사용자, 공공기관, 정부 등 모든 주체가 클라우드 컴퓨팅의 인프라, 플랫폼, 애플리케이션을 사용할 수 있다. 규모의 경제를 통해 경쟁력 있는 서비스 단가를 제공하는 것이 핵심이다
그런데 주목해야 할 부분은 사설 클라우드는 서버 가상화 기술과 관리도구를 잘 엮어서 만들어낸 “고가용성 및 확장성을 갖춘 가상화 인프라”와 큰 차이를 느끼기 어렵다. 규모의 경제 효과를 보기에도 한계가 있다. 엄밀한 의미의 클라우드 컴퓨팅은 공용 클라우드라고 이야기 할 수 있을 것 같다. 공용 클라우드를 구축하여 시장에 진입하려는 사업자는 에코시스템에 대한 이해가 선행되어야 한다. 결국 공용 클라우드가 성공하기 위해서는 최종 사용자가 소비하는 애플리케이션 서비스가 핵심인데 이 서비스를 만드는데 필요한 프로비저닝, 인증, 빌링, 로깅 등의 플랫폼이 얼마나 견고하게 제공되고, 서비스 안정성을 보장하느냐 하는 것이 핵심이 될 것이다. 또한 해당 플랫폼은 서비스와 견고하게 결합되는 방식이 아닌 REST 등의 프로토콜을 통한 느슨한 결합 방식으로 연결되어 다른 공용 클라우드 상의 서비스와도 손쉽게 연동될 수 있도록 지원해야 한다.
아마존의 경우 S3(Simple Storage Service), EC2(Elastic Cloud Computing)의 서비스가 인프라 클라우드 영역에 해당하는 서비스 임을 알 수 있다. 플랫폼 클라우드에서 제공하는 개발 환경은 제공하고 있지 않다. 즉, 아마존은 공용 클라우드를 수행하는 인프라 클라우드 사업자로 분류할 수 있다.
구글은 Google App Engine을 통해 구글의 파일시스템과 데이터 레포지토리를 활용하는 툴을 이용하여 구글 개발 프레임웍 기반에서 Python 언어를 이용해 애플리케이션을 개발할 수 있도록 지원한다. 구글의 환경에 최적화된 애플리케이션을 빠르게 배포할 수 있다. 즉, 이 경우 구글은 공용 클라우드를 수행하는 인프라 클라우드, 플랫폼 클라우드, 구글 Docs 등의 애플리케이션 클라우드를 제공하는 사업자로 분류할 수 있다. 시장에서는 Google App Engine을 PaaS(Platform as a Service) 사업자로서 포지셔닝을 하고 있고, 넓은 의미에서는 서비스의 특성상 신축성이 필수적인 기술 요소 이므로 애플리케이션을 중심으로 한 공용 클라우드 서비스 사업의 한 형태로 볼 수 있다.
마지막으로 마이크로소프트는 사설 클라우드를 위해서 Windows Server 2008 R2의 Hyper-V 서버가상화, 관리도구인 System Center 제품군을 통해 Dynamic Data Center (사설 클라우드 솔루션)을 제공하여 기업이 자체적인 인프라 클라우드를 구축할 수 있도록 한다. 또한, 공용 클라우드는 컴퓨팅 자원, 스토리지를 제공하는 인프라 클라우드 (Windows Azure), 자체 로컬 머신에서 실제 클라우드와 동일한 환경에서 에뮬레이션 할 수 있는 개발 환경을 제공하고, 서비스 라이프 사이클 관리를 제공하고, 자체 On-Premise 시스템과 클라우드 간 연동, 기업용 애플리케이션을 개발툴킷을 통해 각 기업에 최적화된 형태로 사용할 수 있도록 플랫폼 클라우드를 제공한다. 아래 표는 클라우드 서비스를 제공하는 업체들을 제공 서비스의 특징과 전략에 비추어 간단히 비교한 것이다.
클라우드 플랫폼의 산업적 가치와 활용 전략
지금까지 살펴 본 바와 같이, 세계 주요 사업자들 간에는 자사가 추진하는 사업 전략에 맞추어 클라우드 컴퓨팅에 대한 해석과 범위에 적지 않은 차이가 있음을 알 수 있다. 언뜻 보기에, 이러한 혼돈은 클라우드 컴퓨팅의 실질 시장 가치에 대한 논란의 소지가 될 수 있으나, 좀 더 큰 눈으로 바라보면, 클라이언트, 서버, 서비스로 요약될 수 있는 소프트웨어 기술과 제품들이 단절된 개별적 가치에서 인터넷의 개방적 연결성을 중심으로 하나의 커다란 아키텍처를 그리는 방향으로 재편되고 있으며, 그 가운데 시장과 기술의 흐름을 하나로 통합하면서 클라우드 컴퓨팅이란 용어가 필연적으로 등장한 뒤 배경으로 풀이할 수 있다. 또한, 국내외 연관 산업의 활성화라는 거시적 목표를 앞에 두고, 이러한 대세가 가져올 기술적 산업적 의의 요약해 보면, 그 활용 방안을 마련하는데 큰 보탬이 된다.
우선 기술적으로, 더 정확히는, 아키텍처 관점에서, 근래 클라우드 컴퓨팅의 기술적 흐름은 명백히 무상태 연결성(Stateless Connectivity)을 기반으로 하는, 이른바 웹 지향적 아키텍처(Web-Oriented Architecture, 이하 WOA)[참고문헌 11]의 성향을 또렷이 드러내고 있다. 이는, 이질적 기술로 구현된 서비스 블록들이 서로 간의 의존성을 최소화하여 개방성과 상호 운용성을 우선적 가치로 삼는다는 면에서, SOA 철학의 한 가지로 적용 형태로 간주할 수도 있겠다. 하지만, 현재 SOA는 기업 내부 시스템의 아키텍처 개선을 위해, 비즈니스 프로세스 간의 메시징 인프라스트럭처를 장기간 상향식으로 구축하여 궁극적으로 통합된 사업 효율성을 이끌어 낸다는 데 주안점을 두는 일련의 제품과 기술을 통칭하는 용어로 보는 것이 좀 더 현실적이다. 따라서, SOA는 단일 기업 군을 벗어나 인터넷 전체에 분산된 서비스를 하나의 서비스 메쉬(Service Mesh) 엮어낼 수 있는 개념으로 확장되기 어렵다. 무엇보다, 기업 내부는 그 규모의 크고 작음을 벗어나, 조직 바깥으로 서비스를 노출하여 기업 간 서비스 연결성을 확보하는데 목표를 두고 있지 않다. 이런 관점에서, 앞서 언급된 사설 클라우드 또한, 가상화 기술을 빌어서 하부 운영체제 의존성을 줄이고 서비스 관리를 가능한 자동화하려는 목적으로 활용되는, SOA 제품 군의 한 가지 구성 요소 일 뿐이기에, 개별 사업자의 수익 창출 이외에 그 자체만으로 산업적 의의는 거의 없다. 따라서, 산업 생태계 활성화 측면에서, 사설 클라우드 컴퓨팅 자체를 논의하는 것은 무의미하다.
결론적으로, 산업적 효과 측면에서, 클라우드 컴퓨팅의 활용 방안을 논하기 위해서는, 클라우드 컴퓨팅이 하나의 공용 서비스 개발 플랫폼(public platform for service development)으로써 기존의 방식으로 해결하기가 어려웠던 산업적 문제가 어떻게 풀리고, 그에 따라 어떤 효과를 기대할 수 있느냐를 따져 보는 것이 바람직하다. 아래는 이러한 효과를 시각적으로 분석하기 위해 전체 연관 산업 생태계의 구성 요소를 연결한 그림이다.
이는 앞서 설명한 바 있는 클라우드 컴퓨팅의 통합 활용 시나리오를 생태계적 관점에서 다시 해석한 것에 지나지 않는다. 하드웨어 또는 소프트웨어 사업자들은 자사플랫폼 상에서 구동되는 자발적 소프트웨어 개발 공동체가 필요하다. 이를 위해서는 무엇보다, 플랫폼을 확장하고 응용소프트웨어를 개발할 수 있는 개발 도구의 배포가 기본이 된다. 배포된 개발 도구를 사용하여 플랫폼 확장을 시도하는 경우, 엄격하게 플랫폼 명세를 준수할 수 있도록 플랫폼 준수(Conformance) 여부를 검사하는 서비스를 제공하거나 자동화된 도구를 공급할 필요가 있다. 이와 비슷하게 응용소프트웨어를 개발하는 경우에도 플랫폼 호환성(Compatibility) 여부를 자가 또는 위탁 검사하는 서비스를 제공할 필요가 있다. 최종 사용자는 이러한 검증과정에 기대어 하드웨어와 소프트웨어 그리고 그 위에서 구동되는 소프트웨어를 안심하고 구매할 수 있다. 이러한 수요 관계가 정착되면 독립 업체들과 소비자를 직결하는 시장이 형성된다. 소프트웨어 검증 도구 또는 서비스는 시장에 쏟아지는 물건의 품질을 일정하게 유지하면서 장기적으로 시장을 안정화 시키는데 큰 역할을 하게 된다. 한 편, 하드웨어 또는 소프트웨어와 호환되는 서비스를 제공하는 업체도 등장한다. 크게 보면 서비스 운영을 위한 인프라스트럭처 대여를 통해 수익을 추구하는 사업자와 그 위에서 서비스를 직접 개발하여 소비자로부터 직접 서비스 수익을 챙기는 사업자로 나눌 수 있다. 하드웨어 및 소프트웨어 사업자는 이를 위해서도 서비스 호환성을 검사하는 개발 도구나 지침서를 제공할 필요가 있다. 이와 같이 개체 간의 먹이 사슬이 선 순환 관계를 이루기 위해서는, 공정 경쟁을 위한 건전한 시장 형성이 가장 중요하다. 바로, 공용 클라우드 컴퓨팅 기술은 인터넷이라는 전 지구적 인프라스트럭처를 활용하여, 지금까지 개별적으로 맞물려 돌아가던 독자 생태계들이 하나의 클러스터로 묶이도록 하면서, 시장의 규모를 전 지구적으로 확대하려는 움직임 속에서, 시장 진입 장벽을 낮추되 품질은 끌어올리고 개방성과 상호 운용성을 기반으로 하드웨어, 소프트웨어, 서비스, 콘텐츠 가 융합되면서 창출되는 사업 기회를 끌어올리려는 요구 속에서 나타난 산업적 해법의 하나라 할 수 있다.
이러한 흐름을 국내 산업의 활성화와 국제 시장 진출의 교두보로 삼기 위해서는, 시기 적절한 시장 형성, 성장, 유지를 뒷받침하는 정책적 고려가 필요하다. 맨 먼저 국내외에서 개별적으로 구축되고 있는 서비스들이 개방형 아키텍처 아래 서로 수평 수직적으로 연결되어 고부가가치 서비스를 일구어 낼 수 있게끔, 클라우드 컴퓨팅의 통합 활용 시니리오에서 제안한 것과 같은 다양한 서비스들이 연동되는 아키텍처를 정립하려는 노력이 필요하다. 여기서 주의할 점은 기술 다양성의 확보다. 흔히 국가 차원에서 진행되는 사업들은 명백한 산업적 이득 없이, 기술 다양성을 배제하는 형태로 섣부른 통합을 추진하여, 특정 사업자에게 지나친 통제권을 부여함으로써 생태계를 오히려 말살하는 경우가 적지 않다. 인공적인 산업 생태계든, 생물학적 자연 생태계든, 건전한 생태계 조성의 원칙은 동일하다. 건전한 생태계는 종의 다양성을 근간으로 하는 이종 교배로부터 돌연변이 출현이라는 우연성을 보장하는데 있다. 이러한 관점에서, 단순한 REST 프로토콜을 기반으로 이질적 서비스 간의 연동을 간결하게 만드는, WOA의 가치는 되새김질 할만한 가치가 있다. 독립 서비스를 비교적 손쉽게 플랫폼화하여 파생 서비스 시장을 창출할 수 있도록 돕고, 이질적 기술로 구축된 서비스 들간의 간단한 연동을 통해 고 부가가치 서비스 구축을 용이하게 하기 때문이다. 이어서, WOA라는 최소한의 요구 조건에 보태어, 다수의 공용 클라우드 플랫폼 위에 구축될 수많은 서비스들의 품질 인증 정책이 마련되어야 한다. 초기에 큰 관심으로 거대한 시장이 형성되더라도 좋은 품질의 서비스가 지속적으로 이어지지 않으면, 삽시간에 그 시장은 폐허로 변하기 마련이다. 이른바 기껏 구축된 시장이 쓰레기 매립지(Garbage-In, Garbage-Out)가 되지 않도록 유지 관리하는 일은, 너무 가치 자명한 일이라 되풀이 논할 까닭이 없겠다. 덧붙여, 국제간 서비스 연동에 걸림돌이 될 수 있는 관련 데이터 법규를 국제 협상을 통하여 발 빠르게 정비할 필요가 있다. 예를 들어, 해외 수출된 중장비나 중대형 선박들의 추적 서비스를 제공하기 위해, 지구 전역 지도 서비스의 활용이 필요하다고 하자. 현재 국내법으로는 이러한 서비스의 해외 유출도 해외 서비스의 국내 유입도 용이하지 않다. 국가 기밀 사항에 해당되는 지도 데이터의 활용에 대하여 국가간의 허용 범위가 제대로 정비되지 않았기 때문이다. 덧붙여, 나라마다 상이한 보안 정책과 기술 문제도 시장을 확대하는 데 적지 않은 걸림돌이 된다. 이는 앞서 다양한 산업 활용 시나리오를 살피면서 연거푸 언급한 것과 같이, OpenID, Live ID, SAML 등 다양한 보안 및 인증 정책과 기술을 융합 운영할 수 있는 메타 인증 및 보안 모형을 수립하는 것으로 해결 가능하다. 현재 Microsoft가 기존 Cardspace 기술과 Active Directory 기술을 개선하여 “Geneva”란 코드명으로 진행하고 있는 프로젝트도 정확히 동일한 목표를 갖고 있다는 점은, 생태계 확보 측면에서 개방성과 상호 운용성을 향해 나아가는 세계 주요 사업자들의 국제적 산업 추세를 가늠할 때 시사하는 바가 크다. 마지막으로, 국내외 디지털 미디어 사업도 공용 클라우드 플랫폼을 중심으로 다시 한 번 서비스 경쟁을 시작하게 될 것이 자명한 가운데, 영화, 음악, 문서, 소프트웨어 등 이미 인터넷에서 이미 확고한 온라인 시장을 구축하며 생태계 형성에 막강한 힘을 발휘하고 있는 미디어 산업의 잠재력을 버젓이 인식하고 있으면서도, 정작 저작권에 대한 가치 인식 부족과 그에 대한 불신으로 강화된 관련 법규, 그리고 특정 서비스 사업자의 시장 독식이 맞물려, 건전한 생태계 형성이 어려운 국내 산업 상황 또한 공용 클라우드 컴퓨팅의 산업 활성화를 막는 커다란 걸림돌 가운데 하나다. 이동전화기, 프린터, 자동차 산업 등의 국제 경쟁력을 유지하는 데, 멀티미디어 서비스 산업이 핵심적인 역할을 할 것임은 누구나 쉽게 예측할 수 있는 바이기에, 그 관련 법규 및 규제 정비의 중요성을 간과하기 어렵다.
맺음말
본고에서는 클라우드 컴퓨팅 기술을 중심으로 국내외 연관 산업의 활성화를 위해, 마이크로소프트의 전략 및 기술로부터 무엇을 배우고 활용할 수 있는지를 살펴보았다. 우선, 실제 실현 가능성이 높은 산업 활용 시나리오를 단계별로 살펴보면서, 클라우드 컴퓨팅을 실현하는 요소 기술의 면면보다는 실제 산업에서의 다양한 활용 방식에 대처하기 위하여, 어떤 구성 요소를 반드시 갖추어야 하는지를 이끌어내고자 하였다. 이어, 이러한 정의에 따라, 현재 세계 수준의 클라우드 컴퓨팅 기술 사업자들이 어떤 사업 전략을 중심으로 움직이고 있는지를, 생태계 활성화 측면에서 살펴보면서, 산업 별로 투자 가치를 체계적으로 분석할 수 있는 비평의 기준을 마련해보고자 하였다. 또한 이를 바탕으로 내수 시장의 활성화는 물론 국제 시장 진출을 위한 교두보로써 WOA 기반의 서비스 클라우드 클러스터란 해법을 제언하였으며, 이를 위하여 선결할 과제들을 간단히 되짚어 보았다.
되풀이 말하건데, 어떤 새로운 기술이나 시장의 흐름이든 그 산업적 가치 즉 파급효과는, 앞서 소프트웨어 생태계 그림에서 기술한 바와 같이, 먹이 사슬 관계로 연결된 산업 생태계에 미치는 긍정적 영향력의 넓이와 크기를 일컫는다. 따라서 클라우드 컴퓨팅 역시, 그 낱말이다 세부 기술 그 자체의 가치가 아니라, 생태계 측면에서 클라우드 컴퓨팅으로 (여태까지 하지 못했던) 무엇을 어떻게 하겠다는 것인지에 대하여 또렷한 목표를 정하는 것이 훨씬 중요하다. 극단적으로 말해서, 우리 산업이 “왜 클라우드 컴퓨팅이 필요한가”에 대하여 공감할만한 답변을 이끌어낼 수 없다면, 클라우드 컴퓨팅은 더 이상 산업 측면에서 논의할 일고의 가치도 없는 또 하나의 기술적 언어 유희에 불과하다. 본고에서, 클라우드 컴퓨팅의 구현 기술보다, 산업 활용 시나리오를 중심으로 그 핵심 서비스 요소를 논의하고자 하였던 까닭, 그리고 그에 덧붙여, 사설 클라우드 보다는 서비스 개발 플랫폼으로써 공용 클라우드의 가치에 더 큰 중점을 두었던 것이 바로 그 때문이다.
결언하여, 마이크로소프트의 사설 클라우드 기술은 Azure Services Platform(애저 서비스 플랫폼)이라는 상품명으로 대변되는 공용 클라우드 기술로부터 비롯되었다. 단순한 기술적 가치만 바라보면 사설 클라우드와 공용 클라우드는 서로 차이점이 없으나, 둘 사이의 산업적 효과에는 또렷한 차이가 있다. 적어도 마이크로소프트의 공용 클라우드 사업 정책은 PaaS 방식을 중심으로 하여 다양한 산업 활용 시나리오를 지원하는 생태계 확보 전략에 철저하게 뿌리를 두고 있다. 타 사업자와 달리, 모든 클라우드 계산 능력을 Windows Azure(윈도우 애저)라는 단일한 분산 운영체제 형태로 추상화하는 것만 보아도, 그 목적을 또렷이 가늠하고도 남음이 있다. 앞절에서 논의한 바와 같이, 우리 산업이 철저히 분석하고 배워야 할 것이 있다면, 클라우드 컴퓨팅 기술 그 자체의 단순한 차입이나 활용이 아닌, 바로 이와 같은 생태계 전략에 있다. 그리고, 생태계 전략의 핵심은 기술 표준에 기반하여, 개방성과 상호 운용성을 밑받침으로 하는 기술 다양성의 보존에 있다. 여전히 소프트웨어 산업에서 무시 못할 영향력을 유지하고 있는, 마이크로소프트라고 할지라도 자발적 참여 문화를 기반으로 고도의 분산 컴퓨팅 환경(Highly Decentralized Computing Environment)을 지향하는 대세를 거스를 수는 없다. “인터넷을 중심으로한 자발적이고 분산된 컴퓨팅 환경에서, 서비스 중심의 소프트웨어 시장을 유치하기 위한 거대한 공용 플랫폼 메시지.” 우리 산업이 반드시 놓쳐서는 안될 클라우드 컴퓨팅의 참된 산업적 의미가 있다면, 바로 이 것이다.
참고문헌
1.Simon Gallagher, “Cloud Wars:VMware vs Microsoft vs Google vs Amazon Clouds,” http://vinf.net/2008/10/01/cloud-wars-vmware-vs-microsoft-vs-google-vs-amazon-clouds, 2008.10
2.Microsoft, Azure Services Platform, http://www.microsoft.com/azure/windowsazure.mspx
3.David Chappell, A Short Introduction to Cloud Platforms, http://www.davidchappell.com/CloudPlatforms--Chappell.pdf
4.Microsoft, The Architecture Journal - The Internet Service Bus, http://msdn.microsoft.com/en-us/architecture/bb906065.aspx
5.Microsoft, The Architecture Journal – Head in the Cloud, Feet on the Ground, http://msdn.microsoft.com/en-us/architecture/dd129910.aspx
6.Google, Google App Engine, http://appengine.google.com
7.IBM, IBM Cloud Computing, http://www.ibm.com/ibm/cloud/
8.HP, Cloud Computing, http://h71028.www7.hp.com/enterprise/us/en/technologies/cloud-computing.html
9.Sun, Cloud Computing, http://www.sun.com/solutions/cloudcomputing/index.jsp
10.Amazon, Amazon Web Services, http://aws.amazon.com/
11.WOA, http://en.wikipedia.org/wiki/Web_Oriented_Architecture