앞의 글에서 SaaS 어플리케이션이 가져야 하는 특징을 몇가지 언급했었습니다. Configuration, Multi-Tenant, Scalablity 3가지가 바로 그것이죠. 하지만, 어플리케이션 아키텍쳐를 위의 특징을 갖도록 바꾸면 바로 SaaS 서비스가 가능할까요?
일반적인 웹 사이트를 개발할 때의 라이프사이클을 생각해보겠습니다. 개발자가 웹사이트를 만들고 나면, 이 웹사이트를 운영해줄 누군가와 서버(H/W, 웹서버, DBMS)가 필요하게 됩니다. 대부분의 경우는 호스팅 업체를 통해 웹사이트를 운영하도록 합니다.
그럼 SaaS 어플리케이션의 경우는 어떨까요? 서비스 어플리케이션을 만들었다고 가정하겠습니다. 기존 같이 호스팅 업체에 맡기면 될까요? 위의 웹사이트의 경우는 나의 사이트를 맡긴 것이기 때문에 장애가 나면 내가 감당하면 됩니다. 그렇지만, 내가 서비스를 만들었고 고객의 데이타를 다루는 서비스를 운영하고자 하는데 장애가 나면 어떻게 해야할까요? 고객의 중요한 업무가 장애로 인해 중단된 상태인데, 서비스 제공자인 내가 할 수 있는 일은 아무것도 없습니다. 호스팅 업체가 장애를 해결해주기를 기다리는 것 이외에는. 하드웨어 장애의 경우는 호스팅 업체가 해결해줄 수 있지만 어플리케이션 장애의 경우는 내가 해결해야 합니다. 원격으로 접속해서 문제를 해결하기가 대단히 어려울 것입니다.
그렇다면, 호스팅 업체 대신에 내가 직접 어플리케이션 및 H/W를 운영하는 경우를 생각해보겠습니다. 아시다시피 서비스는 365일, 24시간, 7일 동안 즉 중단없이 운영이 되기 때문에 운영자를 최소한 4명은 두고 4조 3교대 형태를 유지해야 합니다. 1명씩이 근무를 하고 있는데 네트웍, H/W, S/W, 어플리케이션에 대한 모든 장애를 다 감지하고 해결할 수 있을까요? 2명씩 근무를 하는 체제로 바꾸어 8명을 두어야 한다고 가정해보겠습니다. 그래도 다양한 오류를 해결할 수는 없고 무엇보다 비용이 가장 큰 문제입니다. 8명을 유지하기 위해 1개월에 소요되는 기본 비용이 엄청나죠? 이 비용 이상을 서비스로 매출을 올린다는 것은 쉽지 않은 이야기입니다.
그래서 등장한 해법이 SaaS 호스팅 업체 입니다. 해외에서는 SaaS Hoster라는 용어를 사용합니다. SLA(Service Level Agreement)를 어플리케이션 서비스 업체와 체결하여 그 수준을 맞추며 호스팅 서비스를 제공하는 업체를 말하는 것이죠. 하지만, 국내의 경우는 SLA에 대한 개념이 아직 정착되어 있지 않아 SaaS Hoster는 없다고 보는 것이 맞을 것 같습니다. SaaS를 확산시키기 위해서는 SaaS Hoster를 양성하는 것도 꼭 필요하다는 것을 강조하고 싶습니다.
기억하세요. 어플리케이션 운영을 어떻게 진행하고, 비용 부담을 줄일 것인지가 꼭 고려되어야 합니다.
일반적인 웹 사이트를 개발할 때의 라이프사이클을 생각해보겠습니다. 개발자가 웹사이트를 만들고 나면, 이 웹사이트를 운영해줄 누군가와 서버(H/W, 웹서버, DBMS)가 필요하게 됩니다. 대부분의 경우는 호스팅 업체를 통해 웹사이트를 운영하도록 합니다.
그럼 SaaS 어플리케이션의 경우는 어떨까요? 서비스 어플리케이션을 만들었다고 가정하겠습니다. 기존 같이 호스팅 업체에 맡기면 될까요? 위의 웹사이트의 경우는 나의 사이트를 맡긴 것이기 때문에 장애가 나면 내가 감당하면 됩니다. 그렇지만, 내가 서비스를 만들었고 고객의 데이타를 다루는 서비스를 운영하고자 하는데 장애가 나면 어떻게 해야할까요? 고객의 중요한 업무가 장애로 인해 중단된 상태인데, 서비스 제공자인 내가 할 수 있는 일은 아무것도 없습니다. 호스팅 업체가 장애를 해결해주기를 기다리는 것 이외에는. 하드웨어 장애의 경우는 호스팅 업체가 해결해줄 수 있지만 어플리케이션 장애의 경우는 내가 해결해야 합니다. 원격으로 접속해서 문제를 해결하기가 대단히 어려울 것입니다.
그렇다면, 호스팅 업체 대신에 내가 직접 어플리케이션 및 H/W를 운영하는 경우를 생각해보겠습니다. 아시다시피 서비스는 365일, 24시간, 7일 동안 즉 중단없이 운영이 되기 때문에 운영자를 최소한 4명은 두고 4조 3교대 형태를 유지해야 합니다. 1명씩이 근무를 하고 있는데 네트웍, H/W, S/W, 어플리케이션에 대한 모든 장애를 다 감지하고 해결할 수 있을까요? 2명씩 근무를 하는 체제로 바꾸어 8명을 두어야 한다고 가정해보겠습니다. 그래도 다양한 오류를 해결할 수는 없고 무엇보다 비용이 가장 큰 문제입니다. 8명을 유지하기 위해 1개월에 소요되는 기본 비용이 엄청나죠? 이 비용 이상을 서비스로 매출을 올린다는 것은 쉽지 않은 이야기입니다.
그래서 등장한 해법이 SaaS 호스팅 업체 입니다. 해외에서는 SaaS Hoster라는 용어를 사용합니다. SLA(Service Level Agreement)를 어플리케이션 서비스 업체와 체결하여 그 수준을 맞추며 호스팅 서비스를 제공하는 업체를 말하는 것이죠. 하지만, 국내의 경우는 SLA에 대한 개념이 아직 정착되어 있지 않아 SaaS Hoster는 없다고 보는 것이 맞을 것 같습니다. SaaS를 확산시키기 위해서는 SaaS Hoster를 양성하는 것도 꼭 필요하다는 것을 강조하고 싶습니다.
기억하세요. 어플리케이션 운영을 어떻게 진행하고, 비용 부담을 줄일 것인지가 꼭 고려되어야 합니다.