May 28, 2010

SaaS 만의 차별성, 다중 역할(multi-tenancy)에서 출발

IITA 문병주 팀장

SaaS는 소프트웨어 산업의 새로운 흐름을 대변한다. 단순한 사업모델의 변화로 이해하기 보다는 사업모델이 왜 변화하고 있는지, 변화할 수밖에 없는지에 대한 통찰이 더 중요하다. SaaS는 웹 기반으로 운영되며 웹2.0 시대에 웹은 플랫폼임을 주장하고 있다. 웹은 다른 측면에서는 유비쿼터스와 동의어이다. 사람과 객체가 모두 유무선 네트워크를 통해 연결되는 유비쿼터스 환경에서 이루어지는 서비스는 모두 웹 환경에서 구동될 것이다. SaaS는 이러한 거대한 흐름을 반영하는 것이다.

IT 분야를 구성하는 3대 요소를 하드웨어, 소프트웨어, 휴먼웨어라고 할 때 세 가지 요소 모두 서비스화로 명명할 수 있는 변화의 시기를 겪고 있다. 서비스화라는 말에서 알 수 있듯 SaaS(Software as a Service)는 기술의 발전이라기보다는 사업모델의 변화, 혹은 혁신이라는 관점에서 이해해야 하는 키워드다. 하드웨어나 휴먼웨어의 서비스 역시 자원의 이용방식, 사업방식, 과금방식의 변화로서 이해할 수 있다. 일반적으로 소프트웨어 산업의 비즈니스 모델은 라이선스 정책, 판매방법, 파트너 정책에 따라 구분된다. 현재 대부분의 소프트웨어 벤더들은 개인이나 회사가 사용권한을 구매는 라이선스 정책으로 판매를 하고 있다. 판매는 대부분 영업 채널을 통해 CD-ROM 형태로 패키징돼 이뤄진다.

그러나 최근 들어 이런 소프트웨어 비즈니스 모델이 점차 변화하고 있는데, 한 번의 라이선스 구매로 영구히 소장하는 방식에서 서비스에 가입한 후 필요한 때 사용한 만큼 비용을 지불하는(subscription, pay as you go) 방식으로 변화하고 있는 것이다. 이런 서비스로서의 소프트웨어, 혹은 소프트웨어의 서비스화를 따르는 비즈니스 모델을 SaaS라 한다. 기존의 ‘제품 패키지 판매-구축-유지-보수’의 제공형태가 아닌 웹•인터넷을 통해 사용하고자 하는 소프트웨어를 서비스 형태로 제공받는 것을 말한다. 과금은 대부분 사용시간에 따라 결정되지만, 월정액 등 정액방식도 SaaS 개념과 배치되는 것은 아니다.

SaaS는 넓게 보아 ‘온디맨드(On-demand)’ 컴퓨팅의 일종이다. 온디맨드, 혹은 ‘주문형’이라는 용어는 이미 1990년대 중반부터 사용되어 왔다. VOD 등 온디맨드 앞에 서비스의 대상이 무한히 접목될 수 있는 것처럼, ’as a Service’ 앞에 다양한 서비스 객체가 붙어 명명될 수 있다. SaaS 외에도 Haas(Hardware as a Service)라는 말도 가능하며, 인력 아웃소싱은 MaaS(Manpower as a Service)란 표현으로도 규정 가능하다.

최근 IT에서 이슈가 되고 있는 통합(consolidation)은 분산된 자원들을 한 곳에 모두 모아놓고 관리하자는 것인데, 이는 온디맨드 환경과 밀접한 관련이 있다. SaaS 역시 이미 서비스 가능한 모든 소프트웨어 자원을 하나의 풀로 묶는 비즈니스가 시작되고 있다. IT를 구성하는 소프트웨어, 하드웨어, 휴먼웨어 모두 통합의 흐름에서 움직이고 있는데, 이는 IT가 온디맨드 환경으로 전이해 갈 수도 있음을 시사하는 것이다.

SaaS가 등장하게 된 배경은 경제적 측면과 기술적 측면 양쪽에서 찾아볼 수 있다. SaaS 자체가 소프트웨어 사업모델의 변화라는 성격이 강하므로 경제적 측면의 배경이 보다 근원적이라고 할 수 있다. 기존 소프트웨어 사업모델의 경우 사용자는 초기에 적지 않은 금액의 소프트웨어 구매비용을 지불하며, 개인이 아닌 기업의 경우는 구매에서 끝나는 것이 아니라 이후 주기적으로 유지보수를 위해 추가로 비용을 지불해야 했다.

대부분의 경우는 초기 소프트웨어 구매 및 도입 보다 업그레이드 및 유지보수를 위한 비용이 결국은 더 크게 되는 것도 현실이다. 따라서 보다 경제적인 방식으로 소프트웨어를 이용하고자 하는 요구는 항시 있어 왔고, 그에 대한 해결책 중 하나가 온디맨드 방식이다.

온디맨드 방식의 해결책은 이미 제시되었지만 현실화되는 데에는 기술적인 요인의 뒷받침이 필요했다. SaaS가 새삼 주목을 받게 된 데에는 최근 몇 년간의 기술적 발전도 중요한 요인이 되고 있다. 먼저 운영기술이 발전하였다. 점차 저렴해지고 있는 하드웨어와 오픈소스 소프트웨어의 활성화 덕분에 적은 비용으로도 대용량의 서비스를 제공할 수 있게 되었으며 하나의 서비스 플랫폼으로 다양한 요구사항을 만족시킬 수 있는 다중 역할 아키텍처(multi-tenant architecture)의 구성이 가능하게 되었다. 또한 서비스 구현에 있어서도 에이작스(Ajax), 플래시(Flash), 자바 애플릿(Java Applet) 등 RIA(Rich Internet Application) 기술의 발전에 힘입어 웹 클라이언트에서도 데스크탑과 유사한 GUI 환경을 제공할 수 있게 됨으로써 사용자들의 눈높이를 충족하는 서비스의 제공이 비로소 가능해지게 되었다.

이러한 기술의 발전과 확산에는 구글(Google)과 야후(Yahoo!) 등 메이저 포털 사이트의 역할이 컸다고 할 수 있다. 에이작스 등의 기술을 접목해 사용자의 경험 기회를 넓혔고, 오픈소스 소프트웨어 지원과 오픈 API 정책 등을 통해 웹을 사용자 컴퓨팅의 플랫폼(웹 OS)로 자리매김하려는 시도에 경쟁적으로 과감한 투자를 하고 있기 때문이다.

SaaS는 통상적으로 일반 사용자를 대상으로 하는 서비스와 기업 사용자를 대상으로 하는 서비스로 나뉜다. 전자가 웹 2.0이라는 키워드에 포함된다면, 후자는 엔터프라이즈 2.0이라는 키워드로 녹여낼 수 있다. 일반 사용자를 대상으로 하는 SaaS로는 구글의 서비스가 대표적이며, 기업 사용자를 대상으로 하는 SaaS는 기업 내의 필수적인 비즈니스 시스템, 가령 CRM이나 ERP 등을 외부 서비스 형태로 사용하는 것으로 세일즈포스닷컴(Salesforce.com)이 대표적이다. SaaS 애플리케이션의 기술적인 특징으로는 크게 네 가지를 들 수 있다.

․ 다중 역할(Multi-tenancy) : 단일 코드셋, 애플리케이션과 데이터의 파티셔닝, 공통의 애플리케이션 서비스, 코드 수정 없는 커스터마이징
․ 확장성 : 대규모 사용자 수용, 대용량 트랜잭션 처리, 대용량 데이터 볼륨
․ 보안성 : ID 기반, 애플리케이션 기반, 역할 기반 보안, 물리적 보안, 하나의 인스턴스 리소스 공유
․ 용이한 환경설정

이 중 확장성, 용이한 환경설정, 보안성 등은 모든 소프트웨어 이용환경에서 필요조건이 되는 것이며, SaaS 만의 차별성을 나타내 주는 것은 다중 역할(multi-tenancy)이다. SaaS와 개념적으로 흡사한 ASP의 경우도 가입자별로 솔루션이 할당되어 운영되지만, SaaS는 단일한 솔루션이 여러 가입자 사이에 공유되어 자원의 효율적 활용을 도모한다.

아키텍처 관점에서 SaaS 애플리케이션의 가장 큰 특징인 ’싱글 인스턴스 멀티 태넌시(single-instance multi-tenancy)’, 즉 한 애플리케이션의 동일한 인스턴스로부터 다양한 사용자의 요구를 만족시키는 서비스를 제공하기 위해서는 애플리케이션의 각 계층(tier) 설계가 매우 중요하다.
SaaS 애플리케이션이 3-티어, 가령 표현계층(presentation tier), 비즈니스 로직계층(business tier), 데이터계층(data tier)의 아키텍처로 구현될 경우, 싱글 인스턴스 멀티 태넌시를 제공하기 위해서는 애플리케이션의 각 계층마다 해당 사용자에 맞게 환경설정을 해야 하는데, 이를 위해서는 메타데이터 아키텍처가 필요하다. 로그인한 사용자의 메타데이터 정보에 근거해 사용자에게 고유한 애플리케이션처럼 구동할 수 있게 된다.

세일즈포스닷컴의 예에서 알 수 있듯 SaaS 서비스 제공업체들은 마이크로소프트와의 차별성 부각을 통해 SaaS의 강점을 어필한다. 미디어들은 SaaS 등의 개방형 기술과 마이크로소프트의 독점적, 폐쇄적 기술방식 간의 경쟁에 대해 주목하고 있다. 마이크로소프트는 SaaS에 대한 대응전략으로 ’S+S’라는 용어를 사용하고 있는데, S+S를 SaaS를 포괄하는 상위 개념, 혹은 2세대 SaaS로 설명하고 있다. S+S는 소프트웨어+서비스를 의미하는데, 핵심개념은 통합이다.

SaaS는 그 개념상 2000년 초에 국내에서 큰 관심을 모았지만 큰 반향을 얻지 못했던 ASP와 유사하다. SaaS는 ASP의 한 형태로, 넓은 의미의 ASP로 이해되기도 한다. ASP 사업자는 보통 3가지로 구분된다. 첫 번째는 ASP 어그리게이터로 데이터센터와 네트워크 등 인프라를 모두 보유하고 있으며, 필요한 솔루션들을 모아 그 인프라 위에 탑재해 서비스하는 사업모델이다. 국내 KT에서 운영하는 ’비즈메카’가 대표적이다.

두 번째는 순수 ASP 업체로 대개 데이터 센터는 임대하고, 경쟁력 있는 소프트웨어와 하드웨어를 구매한 뒤, 컨설팅을 얹어 고객사에 판매하는 사업모델을 따르고 있다. 소프트웨어와 하드웨어를 구매하기 때문에 초기 시설 투자비가 많이 든다는 단점이 있다.

세 번째가 SaaS를 표방하고 나선 업체들로 광의의 ASP 업체로 볼 수 있으며, 출발부터 서비스를 염두에 두고 제품을 설계하고 운영을 준비한다.
SaaS와 ASP를 비교할 때 흔히 호텔과 단독빌라촌의 비유를 든다. SaaS는 호텔로 고객은 자신이 원하는 등급, 원하는 시설의 호텔에 투숙하기만 하면 된다. 이에 비해 ASP는 수많은 단독 빌라촌을 관리해주는 것이다. 각 고객마다 별도의 집이 있다. 이 때문에 고객에 필요한 시설과 서비스가 별도로 제공돼야 한다. SaaS는 동일한 하드웨어 박스에 나눠서 입주하지만 ASP는 고객사마다 별도의 하드웨어에 서비스를 얹어야 한다는 차이점이 있다.

SaaS의 주요 적용 분야는 포털사이트 등에서 제공하는 웹메일, CRM(고객관계관리), 대표적인 데스크탑 애플리케이션인 오피스를 웹상에서 제공하는 웹오피스 등이 있으며, 이 밖에도 보안서비스, BI, BPM 등 비즈니스 애플리케이션 전반에 걸쳐 SaaS 적용 흐름이 나타나고 있다. 구글과 마이크로소프트, 오라클 등 주요 업체들은 이들 SaaS 서비스를 패키지화해서 기업 시장을 적극 공략하고 있다. 최근에는 기업 IT 환경에 SaaS 등을 접목하는 이러한 흐름을 최근 ‘엔터프라이즈2.0’이란 용어로 표현하고 있다.

SaaS는 소프트웨어 산업의 새로운 흐름을 대변한다. 단순한 사업모델의 변화로 이해하기 보다는 사업모델이 왜 변화하고 있는지, 변화할 수밖에 없는지에 대한 통찰이 더 중요하다. SaaS는 웹 기반으로 운영되며 웹2.0 시대에 웹은 플랫폼임을 주장하고 있다. 웹은 다른 측면에서는 유비쿼터스와 동의어이다. 사람과 객체가 모두 유무선 네트워크를 통해 연결되는 유비쿼터스 환경에서 이루어지는 서비스는 모두 웹 환경에서 구동될 것이다. SaaS는 이러한 거대한 흐름을 반영하는 것이다.