아키텍트2008. 7. 15. 14:38
SaaS하면 몇 가지 특징이 떠오르죠. 첫째, Configuration, 둘째, Multi-Tenancy 입니다.
그런데, Multi-Tenancy는 SaaS 어플리케이션이 반드시 가져야 하는 특징일까요?

서비스 제공자 입장에서는 멀티태넌시가 중요한 요소이지만, 고객 입장에서는 전혀 중요하지 않죠. 우리가 전기를 사용할 때 이 전기를 어떤 회사의 장비로 만들었는가에 관심이 없는 것과 마찬가지죠. 220V 전기를 공급 받기만 하면 되는 것이죠. 그렇지 않나요?

제가 아주 나이스한 레스토랑에 갔어요. 아주 맛있는 음식을 주문해서 테이블에 서빙이 됐죠. 요리사 몇 명이 만들었고, 몇 년된 후라이팬을 썼든, 잘 갈아진 칼을 썼든 말든 전혀 상관 없죠. 나는 요리사가 아주 정성을 다해 만들었다고 생각하고 음식을 즐기면 그만인거죠.
즉, 서비스를 사용하는 사람의 관점에서는 서비스의 질 (맛이 좋은지 없는지), 서비스를 내가 원하는대로 조절할 수 있는지 (간을 좀 싱겁게 하든지, Well-done으로 익히든지), SLA (음식이 몇 분 정도 기다린 후 나왔는지), API (내가 직접 가지고간 와인으로 즐길 수 있는지 )등이 중요한 것이라는 거죠.

물론 서비스 제공자 입장에서는 멀티태넌시를 배우고, 마스터하고 적용하는 것이 아주 중요한 항목임에 틀림 없지만 마케팅 브로셔에 멀티태넌시를 보장한다는 등의 메시지는 고객 입장에서는 전혀 관심 없는 내용이라는 것입니다. 즉 SaaS 구매자 입장에서는 서비스의 질, SLA, 통합 옵션 (API)와 비용이 가장 중요한 항목이라는 것이죠.

멀티태넌시가 궁극적으로 달성하고자 하는 목적은 규모의 경제 입니다. 멀티태넌시와 고립(Isolation)은 고객의 요구에 따라 다르게 적용 가능한 내용입니다. 가상화 역시 어플리케이션의 아키텍처를 변경하지 않고 규모의 경제효과를 얻을 수 있는 새로운 방법 입니다. 상황에 맞는 최적의 방법을 선택해야 겠지요.



감사합니다.
Posted by 조이트리
아키텍트2008. 6. 23. 10:26
가상화에 대한 관심 많으시죠? 그렇지만 가상화를 하고 싶지만 한가지 고민이 항상 발목을 잡고는 합니다.
뭘까요? "이 워크로드(웹, CRM, ERP 등)를, 또는 서버를 가상화 해야 하나 말아야 하나?" 모든 업무를 다 가상화하는 거이 좋다? 이렇게 말할 수 있는 사람은 없겠죠?

이때 생각할 수 있는 방법이 몇 가지 있습니다.
1. 분석 및 가이드를 제공할 컨설턴트를 고용
2. 특정 소프트웨어를 구입해서 직접 분석 (싸지 않습니다. -_-)
3. 직접 툴을 만들어서 사용

3가지 옵션 모두 쉽지 않죠. 비용이 발생하기도 하고, 시간도 많이 걸리죠.

이럴 때 가상화, 특히 서버 통합을 쉽게 할 수 있도록 마이크로소프트의 Solution Acceleration팀이 Microsoft Assessment Planning(MAP) 툴을 만들어서 무료로 제공하고 있습니다. 이 툴을 이용하면 여러분의 서버가 Hyper-V 기술을 이용하여 가상화되고 통합될 준비가 되었는지 여부를 쉽게 알수있습니다.
사용자 삽입 이미지
Posted by 조이트리
아키텍트2008. 5. 29. 19:11
마이크로소프트의 System Center, 아시죠? ITSM(IT Service Management)에 있어 필요한 기능들이 대부분 구현되어 있고, 지속적으로 진화하고 있습니다. 얼마전 Cross Platform Extension 발표를 통해 이기종, 즉 Unix, Linux, MySQL, Oracle등에 대한 관리도 가능해져서 진정한 Enterprise 솔루션으로의 모습을 갖췄습니다.

사용자 삽입 이미지

감사합니다.
Posted by 조이트리
아키텍트2008. 5. 29. 18:57
 
사용자 삽입 이미지

그림 1. Mapping of technology into Core Infrastructure Model


마이크로소프트의 Core IO(Infrastructure Optimization) 모델에 대해 들어보셨나요? 프로세스와 기술을 종합해서 한 조직의 성숙도를 판단하는 방식을 의미합니다. (IO 모델)

IO 모델은 IT 산업의 애널리스트들, MIT의 정보시스템 연구센터, 마이크로소프트의 엔터프라이즈 고객과의 경험을 토대로 만들어졌습니다. IO 모델의 목적은 한 조직의 기술력, 비즈니스 가치를 평가할 수 있는 유연하고 쉬운 성숙도 프레임웍을 제공하는 것입니다. IO 모델은 3가지로 구성되어 있습니다. Core IO, Application Platform Optimization, Business Productivity IO 입니다. Core IO에 의하면, 한 조직이 지속적인 서버 통합을 통해 가상화 기술을 사용한 경우 Rationalized 단계에 도달했다고 평가합니다.

다음 글에서는 가상화를 위한 인프라스트럭처를 설계하고 디자인 하는 방법에 대해 적어보겠습니다.
Posted by 조이트리
아키텍트2008. 5. 28. 17:50

3가지가 필요하다고 생각합니다. 기술과 사람, 프로세스 입니다. 아무리 뛰어난 기술이 있더라도 잘 설계하고 운영할 사람이 없거나 프로세스가 갖추어져 있지 않으면 성공적인 IT 시스템이라고 하기 어렵죠.

그중 프로세스를 제공하는 것, 이것이 바로 MOF(Microsoft Operation Framework)의 존재 이유 랍니다.
MOF 4.0은 정말 쉽게 만들어져 있어요. 누구라도 20분만 읽으면 바로 구현 가능하도록 하는 것이 바로 그 목적 이었답니다. 다른 무엇보다 커뮤니티를 통해 궁금한 내용은 도움을 받을 수 있도록 되어 있는 것이 이전과는 다른 큰 차이입니다. 성공적인 IT, 경험해 보세요.

Posted by 조이트리
아키텍트2008. 5. 20. 11:02

SaaS에 대한 관심은 나날이 증대되고 있는 것 같습니다.SaaS를 설명하면서 언급하고 싶은 내용이 있습니다. 바로 장애입니다. 인프라 운영 시 장애는 일어납니다. 스위치 장비, 웹서버, 어플리케이션 서버, DB서버, 스토리지를 모두 이중화 하여 장애에 대비한다고 해도, Zero Down 타임을 보장 받을 수 없습니다. 최소화 할 수는 있겠지만, 어떠한 이중화도 100% 운영 시간을 보장할 수는 없습니다. 그렇다면, 발생 가능한 분쟁을 시스템을 운영하는 회사와 고객은 어떻게 해결할 수 있을까요? SLA(Service Level Agreement)가 바로 그것입니다.
모든 IDC에서는 SLA를 통해 고객과 벌어질 수 있는 불편한 상황을 피할 수 있습니다. 대표적인 지표는 서비스 가동율이 있지만, 상세한 항목으로 정의할 수 있습니다. 고객이 지불하는 금액에 따라 인프라 이중화 구성 및 데이터 복구 수준이 정해질 것이므로 정확한 값을 언급하는 것은 의미가 없을 것입니다.

제가 SaaS를 이야기하면서 SLA를 이야기하는 것도 바로 이런 이유 입니다. SaaS를 통해 서비스를 제공받는 고객 역시 SaaS 서비스를 제공하는 업체와 SLA에 대한 부분을 반드시 협의하여 지속적으로 관리 해야 합니다. 예를들어, CRM 서비스의 경우라면 5분, 10분, 30분, 60분 등 고객에 따라 참을 수 있는 다운타임이 있을 것이고, 이 부분에 대한 협의를 진행하며 서비스 비용을 결정해야 한다는 것입니다. (SLA는 업체마다 다르므로, 제가 제시한 값은 샘플값임을 고려하십시요)

블로그를 읽다 보면 Salesforce.com에 대한 이야기가 많이 스크랩되고, 쓰여지는 것을 볼 수 있습니다. Salesforce.com은 SaaS CRM으로 인기를 끌고 있고, 많은 관심을 받고 있는 업체입니다.

지난 주(2007년 3월 둘째 주)에 Salesforce.com 인프라에 장애가 발생하여 5-6시간 동안 서비스가 중단 되었습니다. 2005년 12월 큰 장애 이후, 대규모 장애는 이번이 2번 째 입니다. Salesforce.com의 CRM 서비스를 사용하던 고객들도 영향을 받았지만, 그 보다 더 심각한 영향은 AppExchange Platform을 통해 고객을 획득하던 ISV(Independent Service Vendor)들이 받았습니다. 장애에 대해 ISV 업체들이 할 수 있는 것이 아무것도 없었고 Salesforce.com이 장애를 처리하길 기다리는 수밖에 없었죠. 업체의 말을 빌리면, "우리는 바보처럼 기다릴 수박에 없었어요." 였습니다. 장애는 5-6시간 이었으나 실제로 ISV는 이틀 동안 이나 상품을 팔지 못했다고 합니다. ISV 들은 Salesforce.com이 이런 일이 벌어지는 동안 제대로 설명해 주지 않았다고 불평했습니다.

서비스 운영 관점에서 장애는 발생할 수 있지만, 어떻게 처리하느냐가 중요한 능력 중의 하나입니다. 이런 관점에서 이번 Salesforce.com의 대응 자세는 문제가 있었고, SLA에 대한 중요성이 부각되는 측면이라고 하겠습니다. SLA에 언급되어 있지 않다면 어떤 불평도, 보상도 받기 어려울것이기 때문입니다.

Service Level Agreement (SLA)
A formal written agreement made between two parties: the service provider and the service recipient. The SLA itself defines the basis of understanding between the two parties for delivery of the service itself. The document can be quite complex, and sometimes underpins a formal contract. Generally, an SLA should contain clauses that define a specified level of service, support options, incentive awards for service levels exceeded and/or penalty provisions for services not provided.

Posted by 조이트리
아키텍트2008. 5. 20. 10:57
앞의 글에서 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를 양성하는 것도 꼭 필요하다는 것을 강조하고 싶습니다.

기억하세요. 어플리케이션 운영을 어떻게 진행하고, 비용 부담을 줄일 것인지가 꼭 고려되어야 합니다.
Posted by 조이트리
아키텍트2008. 5. 20. 10:56
에스크로 제도를 아시죠? 백과사전의 정의에 따르면 에스크로란 미국 법률용어로 특정물을 제3자에게 기탁하고 일정한 조건이 충족된 경우에 상대방에게 교부할 것을 약속하는 조건부 양도증서()를 말합니다.

SaaS 서비스를 도입하기를 꺼리는 사용자 입장에서 제일 걱정되는 부분이 바로 데이터를 서비스 제공자에게 맡겨야 한다는 것입니다. 예를들면, 아래와 같은 경우가 있을 수 있습니다.

1. 서비스 제공자가 파산하여, 서버 및 스토리지를 채권자에게 압류당한 경우
2. 서비스 제공자와의 분쟁으로 인해 데이터에 대한 접근을 차단 당하는 경우
3. Consumer가 다른 서비스 제공자로 데이터를 이관을 하기를 원할 경우
4. 서비스 제공자의 장애가 장기간 길어지는 경우
5. 해커가 침입하여 데이터를 악용하여 Consumer에게 책임이 전가되는 경우

이런 경우에 대한 두려움이 해결되지 않으면 믿고 맡기기 정말 어려울 것입니다.
이를 해결하기위해 에스크로 제도가 필요할 것입니다.

SaaS 에스크로 서비스는 아래와 같은 서비스를 제공하면 됩니다.
1. SaaS 데이터의 핫백업을 제공
2. 소스코드를 포함하여 SaaS 어플리케이션의 복사본 제공
3. 유사시 에스크로 제공자에게 서비스가 이관시 정상적으로 작동하는 것을 보장하는 검증 테스트

이런 서비스를 제공할 수 있다면 믿고 맡길 수 있을 것입니다.
현재 미국의 www.ironmountain.com 라는 회사가 SaaS 에스크로 서비스를 제공하고 있습니다.
Posted by 조이트리
아키텍트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 조이트리
아키텍트2008. 5. 7. 13:53

마이크로소프트의 ITSM, MOF 4.0이 공개되었습니다. IT Service Management를 단순화 하는 것, 모든 IT Pro, CIO, IT 임원들의 관심사항 입니다.


MOF-all.gif
IT Pro들은 어떤 결정을 내릴 것이지에 대해 계속 선택을 해야 하는데, 현명한 선택을 할 수 있도록 돕습니다. IT 서비스의 라이프사이클을 통틀어 계획, 배포, 운영, 관리할 수 있도록 합니다.
MOF 4.0 버전에서는 참조하기 쉬운 형태로 결과에 중점을 두고 설계되어 있습니다. 모든 그룹, 팀, 회사별로 독특하기 때문에 MOF 4.0에서의  Service Management Function(SMF)은 조직 내부의 의사결정 프로세스에서 질문을 통해 도출됩니다. 특정 문제를 해결하기 위해 전체 프레임웍을 사용하든지, 아니면 특정 컴포넌트만 사용하는 것도 가능합니다. 실제적으로 사용될 수 있도록 프로세스에 중점을 두었습니다. 거버넌스, 리스크, 컴플라이언스, 매니지먼트 리뷰, Microsoft Solutions Framwork(MSF)로부터의 베스트 프랙티스 등.

Industry와의 조율을 위해 MOF 4.0은 ITIL, CoBIT, ISO 20000 등의 프레임웍에서 제공하는 베스트프랙티스를 지원합니다. 새로운 MOF 4.0은 IT 라이프사이클에 거쳐 간결하고, 실용적인 가이드를 제공합니다. 또한, 아주 중요한 요소는 온라인 커뮤니티 입니다. IT Pro가 자신의 노하우를 통해 기여할 수 있고, 관련된 내용을 조언하는 등, 안정적이고 비용 효율적인 IT 서비스를 유지할 수 있고, 유사한 업무를 수행하는 사람들과의 서로 함께 협업할 수 있는 플랫폼으로 활용 가능합니다.

MOF 4.0을 다운 받으신 후, MOF 커뮤니티에 가입하시면 됩니다.
블로깅, 포럼 등을 통해 다양한 피드백을 받으실 수 있습니다.

감사합니다.
Posted by 조이트리