아키텍트2008. 5. 20. 10:50

가장 많이 받는 질문이 바로 "SaaS와 ASP의 차이점이 뭐죠"라는 것입니다. 이와 비슷하게 가장 많이 받았던 질문이 "혁신(Innovation)이 뭐죠" 였던 것 같습니다.
"왜 이런 질문이 나오는 것일까?" 곰곰히 생각을 해봤는데요 정의에 대해, 즉 개념을 명확히 하고 넘어가지 않았기 때문인 것 같습니다.

SaaS의 정의는 "소프트웨어가 호스팅 환경으로 배포되어, 인터넷을 통해 서비스 되는 것" 입니다.
IDC가 이렇게 정의하고 있고, 마이크로소프트도 역시 동일한 정의를 사용하고 있습니다.
이 정의를 기준으로 하면 "ASP도 SaaS가 맞군" 이라고 말하실 것입니다. 맞습니다. ASP도 SaaS가 맞습니다. 다만, 성숙도(Maturity)가 다르다고 표현하는게 맞을 것 같습니다.
지난 2007년 7월 4일, IT렌털산업협회가 주관한 조찬 세미나에서 "2008년 SaaS 산업 전망과 이슈"라는 내용으로 주제발표를 했습니다.

1단계, Application Hosting, 즉 ASP 모델입니다. 하나의 고객을 위해 1개의 Instance를 띄우게 되고, 고객에게 맞춰서 커스토마이징을 하게 됩니다. 커스토마이징에 많은 비용이 소요되기고, Instance를 개별로 띄우기에 규모의 경제를 실현할 수 없게 되는 단점이 있습니다.

2단계, 본격적인 SaaS Architecture입니다.고객 당 Instance를 하나씩 띄우기는 하지만, 커스토마이징이 아닌 메타데이터를 활용한 Configuration을 통해 고객 설정을 하기 시작합니다. 초기 셋업을 서비스제공자가 아닌 고객이 직접하고, 커스토마이징이 없기에 비용을 절감할 수 있지만 아직 규모의 경제는 실현하지 못합니다.

3단계, Multi Tenant를 실현하고, Congiguration까지 가능한 진화 모델입니다. 하나의 Instance로 다수의 고객을 서비스하기에 규모의 경제가 실현되며 Configuration으로 고객 설정을 하기에 비용절감, 규모의 경제가 실현됩니다.

4단계, Multi Tenant, Configuration, Scalability가 구현된 것입니다. 즉, 성숙된 SaaS 어플리케이션은 이 3가지의 특성을 보여주게 되는 것입니다.

ASP와 SaaS를 구분짓는 것은 어떤 개념상의 차이가 아니고, 비즈니스 상에 어떤 효과를 주는지로 구분하는 것이 맞다는 것입니다.

자동차를 예를들어 설명하겠습니다. 현재 자동차는 휘발유 또는 디젤을 연료로 사용합니다.
여기에 연비가 뛰어나고, 화석 연료의 사용을 줄일 수 있는 전기와 휘발유, 디젤을 병행 사용하는 하이브리드카를 만들었다고 가정해보죠.

하이브리드카는 광의의 개념으로 보면 똑같이 자동차이고, 협의의 개념으로 보면 연료 비용을 절감하고, 화석 연료가 고갈되는 시기를 연장시켜주는 새로운 개념의 차라고 이야기할 수 있을 것입니다.

ASP와 SaaS의 차이도 이와 비슷합니다. 광의의 개념으로 보면 ASP와 SaaS는 조직 내부에서 직접 설치하여 운영하는 방식(on-premise)와 달리 서비스제공자에 의해 설치되고 서비스로 제공되는방식(hosted)임에는 차이가 없지만, 협의의 개념으로 보면 서비스를 이루는 어플리케이션의 아키텍쳐가 개선되어, 규모의 경제 및 ROI를 향상시켜주는 진화된 모델이라고 볼 수 있는 것입니다.

즉 ASP는 어플리케이션의 구조가 고객마다 커스토마이징을 해야하는 구조였기 때문에 1 to many를 구현하지 못하고, 1 to few 구조였기 때문에 규모의 경제를 실현하지 못하는 단점을 가지고 있었다는 것이죠. 어플리케이션의 아키텍쳐가 Configuration, Multi-tenant, Scalability 요소를 갖는다면 진정한 의미의 SaaS라고 부를 수 있이고, 단계적인 개선이 이루어질 때마다 1단계, 2단계, 3단계 SaaS 아키텍쳐라고 부를 수 있을 것입니다.

Posted by 조이트리