아키텍트2010. 1. 7. 10:50
클라우드 컴퓨팅을 서버에 국한해서 이해하는 분들이 계십니다.
인프라 클라우드, 즉 애플리케이션 (이메일, CRM, HR 등)은 어딘가 하드웨어 위에서 구동 되기 마련이죠.
코드와 데이터가 합쳐져서 애플리케이션이 되는데 이 코드가 구동되는 어딘가가 인프라 인 것이고 애플리케이션은 3 스크린 (PC, 모바일, TV, 프린터, ...) 이라고 말하지만 훨씬 더 다양한 디바이스가 대상이 될 수 있는거죠. 

아래는 파이낸셜 뉴스의 기사 일부를 가져와 봤습니다. 
삼성의 클라우드 프린팅은 마이크로소프트의 Windows Azure Platform을 이용하여 POC(Proof of Concept)이 이루어졌고, 향후 비즈니스를 위한 부분이 검토되고 있습니다. 마이크로소프트의 애저는 북미, 유럽, 아시아까지 Coverage가 가능하기 때문에 별도의 인프라 및 플랫폼을 구축할 필요 없이 최종 애플리케이션 (프린터) 관련 부분의 서비스만 개발하면 되기 때문에 여러가지 장점이 있습니다. 앞의 제 글 Value proposition 기억나시죠?
Market (북미, 유럽, 아시아 시장의 기존, 신규 고객에게 쉽게 서비스 제공)
Income (Anytime, Anywhere 구현으로 프린터 이용의 간편함, 결국 더 많은 프린터 판매가 가능하겠죠?)
Time (직접 북미, 유럽, 아시아에 네트웍, 서버, 스토리지 등의 인프라 구축, 그리고 애플리케이션 개발해서 deploy하는 시간에 비해 훨씬 단축된 구축 시간)
Institutional (해당 서비스를 위한 조직 내의 인력 투입 등을 최소화 할 수 있죠, 비즈니스에 대한 부분만 집중하면 되기 때문에)
Cost (앞의 여러가지 이유로 비용을 획기적으로 줄일 수 있습니다)
Operation (운영 인력 등이 필요없고, 서비스 수준 협약으로 원하는 수준의 안정성 확보가 가능합니다)
Risk (만약 비즈니스가 잘 안되더라도, 실제 투자비가 거의 없기 때문에 위험을 크게 줄일 수 있죠)
그냥 생각나는대로 적어봐도 이 정도의 효과가 있는데, 실제로 분석해보면 수치적으로 그 가치를 금방 느낄 수 있겠죠

그런데 누가 안하겠어요? 아직 그 가치를 잘 이해하지 못하기 때문이겠죠? ^^

http://www.fnnews.com/view?ra=Sent0701m_View&corp=fnnews&arcid=100105211953&cDateYear=2010&cDateMonth=01&cDateDay=06

프린터 업계가 ‘클라우드 프린팅’ 시장으로 눈을 돌리고 있다.

전 세계 클라우드 컴퓨팅 시장이 오는 2014년 약 400조원 규모로 성장할 것으로 추산되면서 덩달아 프린팅 시장도 커질 것으로 예상되기 때문이다. 클라우드 프린팅은 자주 쓰는 문서를 인터넷상 가상의 서버에 저장해 놓고 공항이나 커피숍 등 공공장소에 설치된 프린터를 통해 저장된 내용을 내려받아 출력하는 서비스를 말한다.

삼성전자는 7일부터 미국 라이스베이거스에서 열리는 ‘소비자가전쇼(CES) 2010’에서 클라우드 프린팅 기술을 선보이고 앞으로 이 기술을 활용한 다양한 프린팅 서비스를 선보일 계획이다. 삼성전자 관계자는 “클라우드 컴퓨팅 서비스공간에서 별도의 프린터 드라이버를 설치하지 않고도 프린터할 수 있는 암호화된 솔루션 등을 개발하고 있다”며 “독자 서비스나 제휴 등에 대해서는 아직 결정된 것이 없다”고 전했다.

업계에서는 삼성이 마이크로소프트의 클라우드 컴퓨팅 서비스인 ‘윈도 애저’를 활용한 클라우드 프린팅 서비스를 선보일 것으로 알려졌다.
Posted by 조이트리
마케팅2009. 12. 30. 15:44

Value라는 말을 참 많이 듣게 됩니다. 너의 Value, 너네 Product의 Value가 뭐야?

그렇다면 Value의 정의가 무엇일까요?
Give (주는 것) 보다 Take (받는 것)이 더 크면 Value가 있는 것이죠. 너무 추상적인가요?
다시 표현하면 Cost (비용) 보다 Profit (수익)이 많으면 Value가 있는 것이죠.
또 다른 표현으로 Price (가격) 보다 Quality (품질) or Product (제품)이 만족스럽다면 Value가 있는 것이라고 생각합니다.

그렇다면 만족이란 무엇일까요?
Satisfaction (만족) = f( Perceived Performance: 인지하는 성능 – Buyer’s Expectation: 구매자의 기대치), 즉 성능이 기대치를 넘어서면 만족을 하게 된다는 것이죠. 너무 당연한 말이라고요? 그렇다면 어떤 제안을 할 때 실제로 내가 이야기 하는 것이 고객이 지불하는 돈보다 더 많은 것을 주고 있다고 자신하시나요?

대부분의 영업사원은 내가 팔고자 하는 것에 관심을 둡니다. 구매자는 물건 자체를 구매 당하는 것을 좋아하지 않고 구매하는 것을 좋아하죠. 여러분은 어떠세요? 누가 뭐 사라고 하면 일단 관심 끄지 않나요? 하지만, 내가 가치가 있다고 느끼면 좀 비싸더라도 지름신이 강림하는 경우를 종종 경험하셨을 것 같습니다.

중요한 차이가 있습니다. 구매 당하는 느낌, 강매 당하는 듯한 느낌이 들지 않도록 하는 것. 영업이 하는 일은 고객이 물건을 구매하는 것을 돕는 것이죠, 즉 사도록 하는 느낌이 들도록, 잘 선택하도록 하는 것이죠. 바로 가치 제안이 필요한 이유 입니다. 자, 그럼 가치 제안에 포함될 내용이 어떤 것들이 있을까요? 가치제안은 Target Audience (타겟 고객)이 반드시 정해져야 합니다.

그림1. 가치 제안 (시소)

여기서 고객이 받는 것 (Take)와 주는 것 (Give)가 어디가 더 크냐에 따라서 Value를 느낄 수도 느끼지 못할 수도 있는 것이죠.

또 이렇게 생각해 볼 수도 있을 것 같아요. Value를 category별로 나누어서 분석해 보는 거죠.
클라우드 컴퓨팅에 대해 제가 한 번 적어볼까요?
1. Market : Disruptive technology (파괴적인 기술, 기존 시스템 구매, 운영의 패러다임이 바뀜)
                 - Simplicity & ease of use (간단함과 사용이 쉬움)
                Improve PR, awareness & image (홍보에 큰 도움, 회사 인지도 및 이미지 상승)
2. Income : Increase/sustain/protect revenue (매출의 향상, 지속적인 유지, 손실 가능성에 대한 보호)
3. Time : Reduce time to market (비즈니스 기회에 빠르게 대응)
              - Increase capacity, add capability (성능 향상 및 요구에 빠르게 대응)
              - Scalability & Elasticity (on-demand) (확장 및 수요의 감소에 신속히 대응, 온디맨드)
4. Institutional: Green IT, low carbon & electricity (그린 IT, 저탄소 및 저전력)
5. Cost : Reduce / manage / defer cost (비용의 절감, 관리)
             Change cost type: Capex → Opex (투자에서 비용으로)
             Buy instead of building, subscription instead of license (구축 대신 서비스로,라이선스가 월단위 비용으로)
6. Operational Efficiency : Operational efficiency ↑ (운영 효율성의 증대, 신규 IT 인력 교육 수요 감소)
             Reduce training for new IT personnel
7. Risk : In case of losing right timing, lose competitiveness (시기를 놓치면 경쟁력 약화)

MITICOR 라고 약자로 이해하면 쉽습니다. (이 category는 lustratus 사의 웹사이트에서 참고했고, Value proposition 내용은 직접 작성했습니다)

이 7가지 항목을 위의 시소에 적용해보면 어떻게 될까요? Market은 공통 요소, 받는 것은 (Income, Time, Operational Efficiency), 주는 것은 (Cost, Risk, Institutiinal)로 분류해볼 수 있겠죠.

이렇게 정리해보면 내가 전달하고자 하는 Value Proposition이 어떤 것인지 좀 더 구체적으로 알 수 있지 않을까요?

Posted by 조이트리
아키텍트2009. 12. 28. 19:24

Information as a Service, Data as a Service라고도 부를 수 있을 것 같습니다. 웹 페이지, IT 시스템 등에서 가장 핵심이 되는 것이 무엇일까요? 아주 화려한 UI, UX, 프로그램 코드? 물론 다 중요하지만 핵심은 데이터 입니다. 알맹이가 없는 밤이 버려지는 것처럼 데이터가 없는 UI는 공허한 하나의 껍데기가 될 수 밖에 없는 것이죠.

데이터의 범위, 분류를 해보는 것은 너무도 방대한 일이기에 굳이 그렇게 하지 않겠습니다. 간단히, 신문사의 기사, 방송국의 뉴스, 영화, 또는 통계청의 각종 통계자료, 국세청의 데이터, 국방부에서 공개하는 데이터, 미국 NASA의 우주 사진 등 방대한 자료를 개별 회사, 또는 정부기관에서 가지고 있습니다. 그런데 문제는 각 조직이 보유하고 이는 데이터의 포맷이 다른 것이 현실입니다. 국방부에서 공개하는 데이터를 가지고 제가 어떤 조작을 해서 의미 있는 정보를 만들어보고자 할 때 어떤 특정한 포맷 없이 구성되어 있을 수 있고, XML로 구성되어 있거나 ATOM으로 구성되어 있을 수 있을 것 입니다. 즉, 각 조직이 어떤 파일 포맷을 갖고 있느냐에 따라 굉장히 성가시고 다루기 어려운 것이 사실 입니다.

또 다른 골치거리는 각 기관별로 찾아 다니면서 어떤 자료가 공개되어 있는지 찾는 것도 쉬운 일은 아니죠.
이럴 때 정부기관, 기업들의 데이터 중 공개 가능하거나 판매하고자 하는 정보가 마켓플레이스에 모두 모여 있다면 데이터를 서비스로 구매해서, 가공하여 또 그 데이터를 판매하는 일이 가능할 것 입니다. 이것을 Data as a Service라고 부르는데, 마이크로소프트의 클라우드 플랫폼, Windows Azure Platform과 SQL Azure를 이용하여 Code name Dallas가 발표되었습니다. 앞에서 설명한 것처럼 데이터, 이미지, 실시간 웹 서비스도 포함되어 있습니다. 한 장소에서 통합된 프로비저닝과 빌링 프레임웍이 포함되어 있다는 것도 주요한 특징입니다. Dallas API를 이용하여 개발자나 정보근로자가 어떤 플랫폼, 즉 웹, 모바일 등에 관계 없이 프리미엄 콘텐츠를 소비할 수 있습니다.

시나리오

1. 소비자나 비즈니스에 활용 가능한 차세대 킬러 애플리케이션을 만드는데 필요한 컨텐츠 확보 가능
2. 현재 애플리케이션이나 리포트의 품질을 향상시킬 수 있는 가치 있는 데이터를 찾아 구매 가능
3. 이종의 데이터 집합을 결합하여 비즈니스 성능과 프로세스를 향상 시킬 수 있는 통찰력 획득
4. Blob, 구조, 비구조적 데이터와 실시간 웹서비스를 API를 이용하여 가시적으로 탐색
5. 리포팅과 분석을 위해 마이크로소프트 오피스, SQL 서버 내부에 있는 제 3의 데이터를 쉽게 사용 가능
예를 들면, UN의 Energy Statistics 데이터베이스를 확인해보도록 하겠습니다. 215개 국가별, 지역별 소비량에 대해 확인할 수 있는 건데, 이 데이터가 지금 Dallas에 무료로 올라와 있습니다.

http://pinpoint.microsoft.com/en-US/PartnerDetails.aspx?PartnerId=12884901889&LocId=1249835483137
구독을 하면 아래와 같이 Dallas 창을 통해 원하는 데이터를 조회하거나 다운 받을 수 있습니다. 현재는 대부분 Free로 제공하고 있죠. UN의 WHO Data를 원하는 값, 예를 들면 대한민국의 2006년 기준 예상수명 값을 조회한 데이터 입니다. 82살이라고 나오네요. 이런 값을 전체적으로 가져와서 애플리케이션의 데이터로 활용하면 재미있는 Data 서비스를 만들 수 있지 않을까요? 향후에 상용화도 가능하겠죠. 이건 너무 무궁무진해서 생각하는 만큼 비즈니스가 될 것 같은데, 어떻게 생각하세요? 의료, 법률, 통계청 각종 통계 데이터, 기상청 날씨 데이터 등등 제가 그냥 생각하는 것도 만만치 않게 많네요. 이후에 재미있는 사례가 올라오면 좀 더 공유해보도록 하겠습니다.

Posted by 조이트리
아키텍트2009. 12. 24. 14:36

자유 시장에서의 경쟁은 아름답습니다. 아주 힘들고 고통스러울 때도 많지만, 그 경쟁 자체가 즐거움을 주기도하고 무엇보다 소비자의 선택권 이라는 소중한 기쁨이 되기 때문입니다.

가상화 경주에서 주목 받는 두 마리의 말, VMware의 vSphere 4, Microsoft의 Hyper-V R2가 있습니다.
2009년 가장 주목 받는 이야기 거리로 많이 언급된 내용 입니다. vSphere4 는 2009년 4월 출시, Hyper-V R2는 2009년 7월에 출시되었습니다. Hyper-V에서 고객 들이 가장 아쉬워 한 기능이 바로 Live Migration의 부재였습니다. A 호스트 서버에서 구동되던 가상머신을 B 호스트 서버로 이관할 때 맺어져 있던 세션이 끊기지 않고 이동하는, 즉 하드웨어 간의 이동을 자유롭게 할 수 있는 기능인데 이것이 Hyper-V R2에 추가되면서 VMWare와 기능이 거의 동등하게 된 것이죠. 물론 CSV(Clustered Shared Volume), 즉 각 호스트 간에 스토리지를 공유할 수 있게 되었기 때문에 Live Migration도 가능하게 된 것이고, 이 기능도 아주 중요한 내용이라고 할 수 있죠. 가격은 1/6 정도로 Hyper-V R2가 저렴하다고 하는군요. 제가 가격은 정확히 모르지만, 일반적으로 그렇게 이야기를 하더군요. 잘못됐다면 수정해주세요.

몇 가지 재미있는 내용이 있어서 공유해보려고 합니다.
위 2가지 기술 이외에 Citrix의 Xen 5.5도 있죠. Xen을 포함해서 3각 편대라고 이야기를 하기도 합니다.

오라클을 빼면 재미가 없어지겠죠? 오라클이 가상화에서는 소외되어 있었는데요 지난 5월에 Virtual Iron이라는 업체를 인수했습니다. 그리고 Sun을 인수했고요, 내년 1월에 통합에 대한 승인이 떨어질 거라는 소문이 돌더군요. Sun의 가상화를 이용해서 어떤 반격을 할 지 지켜보고 나중에 다시 올려보도록 하겠습니다.

여기에 재미있는 일이 또 벌어지고 있죠. 네트웍의 강자 Cisco가 Unified Computing System(UCS)로 등장을 했습니다. Cisco에서 서버도 만들고, 즉 서버, 네트웍 장비, 관리 소프트웨어를 조합해서 Cisco의 하드웨어로 모든 IT 업무를 가능하도록 하겠다는 거죠. 이 제품은 지난 7월에 출시됐습니다. 거기다가 Cisco, VMware, EMC가 하나의 Joint Venture 회사를 만들었다고 합니다. 2010년에 많은 이야기가 나올 것 같은데 이것도 재미있는 관전 포인트가 될 것 같네요.

이런 혼전 상황에서 마이크로소프트의 가상화 Hyper-V R2가 시장의 주목을 받고 있습니다. 시장 조사에 의하면 VMware vSphere 4, Microsoft의 Hyper-V R2 중에서 선택하겠다는 고객들이 가장 많은 것으로 나타났습니다. (Virtualization Decisions 2009 Purchasing Intentions Survey)
TheInforPro가 이번 달에 조사한 결과를 보면 현재 VMware를 사용하고 있는 회사 중에서 2010년에는 다른 가상화 제품을 도입하겠다는 비율도 27%에 달하는 것으로 나타났습니다.

Private Cloud 구축을 위한 핵심이 가상화 솔루션이고, 2010년에 많은 회사들이 자체적인 서버 클라우드 환경을 구축할 것으로 예상됩니다.

올해 제가 진행했던 클라우드 컴퓨팅 시스템 구축은 LG CNS, LG Dacom, 스마일서브, 그리고 주요 호스팅 업체들이 몇 곳 더 있는데요, 완료되면 실제 회사명을 공개하도록 하겠습니다. 내년에는 50개 정도의 업체를 대상으로 클라우드 컴퓨팅 시스템을 구축하려고 하는데요, 그 수가 매년 70~100개 씩 늘어나면 정말 시장이 클라우드 인프라로 바뀌지 않을까요?

Posted by 조이트리
호스팅2009. 12. 18. 16:51

안녕하세요, 오늘은 좋은 정보를 하나 제공해 드리려고 합니다.
최신 기술을 습득할 수 있는 방법은 오프라인 교육에 참가하거나 온라인 교육을 받으실 겁니다.

그런데, 엔지니어가 오프라인 교육에 참가하기 위해 1일 ~ 3일 동안 자리를 비우는 것은 쉬운 일이 아닙니다.
따라서 온라인 교육이 좋은 대안이 되는데, 원하는 교육을 찾는 것도 쉬운 일은 아니죠.

아래 Microsoft Partner Network에 무료 회원으로 가입하시면 웹 관련 전문 교육 과정을 수강하실 수 있습니다. 또한, 일부 오프라인 강의도 있습니다. 일정이 허락한다면 오프라인, 안되시면 온라인 강의를 들으시면 되는 거죠.

 

 

Posted by 조이트리
아키텍트2009. 12. 10. 17:02

마이크로소프트의 “Windows Server & 솔루션 그룹”과 “Windows Azure 그룹”이 하나로 합해져 “Server & Cloud Division”이 만들어졌습니다.

이 말은 마이크로소프트의 클라우드, 즉 Windows Azure Platform을 만들면서 습득한 다양한 기술을 Windows Server에 적용하여 고객들이 Windows Server를 이용하여 직접 Windows Azure Platform과 같은 클라우드 플랫폼을 구축할 수 있도록 하겠다는 의지라고 해석할 수 있습니다. 실제로 Windows Server AppFabric이 바로 클라우드에서 취득한 기술이 On-Premise 서버로 제공되는 첫 번째 사례 입니다.

마이크로소프트의 소프트웨어 플러스 서비스 전략, 기억 나시나요? 고객은 On-Premise로 운영하고 싶을 때가 있고, 클라우드 방식으로 이용하고 싶을 때가 있는데, 클라우드에서 On-Premise로 넘어오거나, On-Premise에서 클라우드로 이관하는 것이 자유로운 Hybrid 세상, 그 비전이 구체화되고 있습니다.

Posted by 조이트리
아키텍트2009. 12. 10. 15:50

많은 분들이 “마이크로소프트의 클라우드 컴퓨팅 전략, Windows Azure Platform이 뭘까?” 라고 궁금해 하십니다.

이런 질문에 적절한 답을 드리기 위해 마이크로소프트 개발자 및 플랫폼 사업총괄 Senior 그룹에서 아키텍처 저널사이트를 운영하고 있습니다. (본 저널은 위키로 만들어져 내용이 지속적으로 갱신 및 추가되고 있습니다.)

■ 아키텍처 저널 : http://www.architecturejournal.org/wiki/Main_Page

■ Windows Azure Platform : http://www.architecturejournal.org/wiki/Windows_Azure_Platform

■ 클라우드 컴퓨팅 (일반)

   1. 아키텍처: http://www.architecturejournal.org/wiki/Cloud_Computing:Architecture
   2. 비교 분석: http://www.architecturejournal.org/wiki/Cloud_Computing:Comparative_Analysis
   3. 산업 활용 시나리오: http://www.architecturejournal.org/wiki/Cloud_Computing:Industrial_Scenarios
   4. 사업 전략: http://www.architecturejournal.org/wiki/Cloud_Computing:Business_Strategy
   5. 종합: http://www.architecturejournal.org/wiki/Cloud_Computing

많은 활용 부탁 드립니다.

Posted by 조이트리
아키텍트2009. 12. 8. 11:33

서비스를 개발하기 위해 WCF, WF를 사용해보신 경험이 있을 겁니다. 실제 환경에서 WCF와 WF를 사용할 때의 과제 중 하나는 서버 환경에서 서비스와 워크플로를 호스트하는 위치를 결정하는 것이죠. WCF를 위해 Windows Server 2008의 IIS와 WAS(Windows Process Activation Service)를 선택하는 경우가 일반적 입니다.

현재 IIS와 WAS를 조합하면 들어오는 메시지에 응답하여 프로세스 활성화, 프로세스 모니터링 및 상태관리, 프로세스 재활용, CLR AppDomain 통합, 기본 제공 보안, 그리고 IIS 관리자와 Windows Powershell cmdlet을 통해 사용할 수 있는 몇 가지 기본적인 관리 기능을 포함하여 다양한 핵심 기능이 제공됩니다.

IIS와 WAS의 조합으로 WCF 응용 프로그램 호스팅을 위한 기반이 마련되었지만 서비스 관리 영역에서는 부족한 점이 있습니다. IIS/WAS 조합은 서비스 추적, 모니터링, 실행중인 서비스 인스턴스 진단과 같은 WCF 전용 서비스 관리 기능을 전혀 제공하지 않습니다. 호스팅되는 서비스의 상태를 쿼리할 수 없기 때문입니다. 또한, 여러 서버팜에서 장기간 실행되는 워크플로를 지원하려면 기본적으로 상태 저장 모델이 요구되기 때문에 서버환경에서 WF 응용 프로그램을 호스팅하기는 까다롭습니다. .NET Framework 3.0에서는 WF 서버 호스트를 제공하지 않았기 때문에 개발자가 직접 작성해야 했죠. 그러나 .NET Framework 3.5부터는 WorkflowServiceHost 클래스가 도입되면서 기본적으로 WF 워크플로를 WCF 서비스로 호스트할 수 있게 되었고, IIS/WAS 내에서 WF 워크플로를 호스트 하는 것 또한 가능해졌습니다.

WorkflowServiceHost가 도움은 되긴 하지만, 전체 여러 웹 서버 팜에서 상태 저장 워크플로를 관리하기 위한 도구 자원이나 런타임에 실행 중인 워크플로 인스턴스를 모니터링 및 관리하기 위한 도구가 없었습니다. 대부분의 개발자는 BizTalk Server와 서비스 및 워크플로 관리 기능 면에서 비슷하면서도 간소화 된 환경을 원합니다. 즉, WCF와 WF 응용 프로그램을 위해 특별히 디자인된 단순한 모델이 적절하고 필요한 것입니다.

마이크로소프트는 WCF 및 WF 응용 프로그램을 위한 유용한 호스팅 및 관리 기능을 제공하는 코드명 “Dublin” 이라는  Windows Server 확장 집합을 준비하고 있습니다. “Dublin”은 기본적으로 IIS/WAS에 기반을 두는 서비스 관리 확장의 집합으로 Windows Server의 일부로 제공됩니다. “Dublin” 확장을 사용하면 서비스와 워크플로는 여전히 IIS/WAS에서 호스팅 되지만 현재 IIS/WAS에 없는 추가적인 WCF와 WF 전용 관리 기능과 도구를 응용 프로그램에서 사용할 수 있습니다. 향후 버전의 Windows Server에는 다양한 “Dublin” 확장이 Windows Server 응용 프로그램 서버 역할의 일부로 제공될 계획입니다. 일부에서 Windows Application Server라고 부르는 사람들도 있습니다.

“Dublin” 확장에서는 안정적이고 견고한 서비스와 장기 실행 워크플로를 위한 관리지원이 포함되어 있습니다. “Dublin”을 사용하면 응용 프로그램을 팜의 여러 개별적인 서버에 배포할 수 있으며 세부적인 서비스 관리 작업에 필요한 도구도 제공됩니다. 그림1의 아키텍처를 살펴보도록 하겠습니다. 

그림1. “Dublin” 아키텍처

“Dublin”에서는 서비스 지속성과 모니터링을 위한 기반이 되는 몇 가지 런타임 데이터베이스를 제공합니다. .NET Framework에서 제공하는 런타임 구성 요소와 서비스 계층이 있으며 이 계층은 이러한 데이터베이스에 기반을 둡니다. “Dublin”에서는 이러한 런타임을 더욱 확장하여 통합된 호스팅, 지속성, 모니터링 및 메시징 기능을 제공합니다. 이 계층과 기본 런타임 데이터베이스를 합친 것을 “Dublin” 이라고 합니다.

아키텍처의 최상위 두 개 계층은 “Dublin”을 사용할 수 있도록 만들어 주는 것입니다. Windows Powershell cmdlet을 통해 다양한 기능을 스크립팅 할 수 있도록 해주는 관리 API 계층이 있습니다. 그 위에 IIS 관리자 환경이 있고, 실질적으로 Windows Powershell cmdlet 에 기반을 두고 있기에 대부분의 IIS 관리자가 편안하게 느낄 수 있습니다. IIS 관리자에서 할 수 있는 모든 일은 cmdlet으로도 할 수 있습니다. 앞에서 언급한 호스팅 및 관리 작업을 수행하기 위해 다양한 UI 확장을 IIS 관리자에 추가했습니다. 그 중에서도 응용 프로그램 배포 및 구성, 응용 프로그램 관리, 그리고 응용 프로그램 모니터링을 위한 확장이 있습니다. 이러한 확장은 실행, 일시 중단, 지속된 워크플로 인스턴스 등의 항목을 보여주는 시스템 런타임 대시보드도 제공합니다.

참고문헌: MSDN, .NET Framework 4.0과 "Dublin"의 WCF 및 WF 서비스

Posted by 조이트리
아키텍트2009. 12. 8. 10:48

Velocity 시나리오 (2)

두번째 시나리오: Velocity Session State Provider (세션 상태 제공자)
지마켓이나 옥션에서 구매할 물건을 선택한 후 장바구니에 담기 해보신 적 있으시죠? 클라이언트와 서버 사이에 세션이라는 것이 맺어져서 서로 통신을 하게 되는데, 여러대의 서버를 사용하고 있다면 어떤 물건을 선택했는지에 대한 정보가 저장되어 있어야 장바구니에서 사라지지 않게 되겠죠. 실제 상품이 결제까지 끝난 후 세션 상태를 지워주는 역할을 하게 됩니다.

세션의 상태 정보를 저장하는데 데이터베이스에서 제공하는 SQL Server Session Provider를 사용하곤 했을 겁니다. 
오늘 글에서는 Velocity Session State Provider와 SQL Server Session Provider를 사용하는 방식에 대해 비교 분석을 해보겠습니다.

그림1. 전자 상거래 애플리케이션 아키텍처


성능 테스트를 하기 위해 6대의 웹서버를 사용했습니다.

성능 테스트
. Database와 Velocity 버전의 Throughput 테스트
. Database와 Velocity 버전의 Scalability (확장성) 테스트
. Velocity 버전에는 고가용성 오버헤드, Failover에 대한 테스트를 병행했음

1) 확장성

그림2. 300KB 오브젝트로 측정한 Throughput

확장성을 측정하기 위해 6대의 서버가 사용되었는데, Latency는 0에서 조금씩 증가하는 형태로 진행됐음.

그림3. 확장성 그래프

재미있는 결과 값을 확인할 수 있습니다. 3개의 노드까지는 데이터베이스와 유사한 결과값을 보이다가 노드수가 증가하면 데이터베이스의 경우 throughput이 줄어드는 현상이 나타납니다. 왜 이럴까요? 웹서버가 수가 늘어나면 데이터베이스에 과부하가 발생할 수 있습니다. 웹서버에서의 요청이 처리되기 전에 또 다른 요청이 데이터베이스로 유입되면서 전체적인 성능이 저하되는 현상이라고 할 수 있습니다. 즉, 병목현상이 벌어지는 거죠. 다시 말하면 웹서버의 수가 많더라도 충분히 활용되지 못하는 것입니다.

2) 고가용성

고가용성을 on, off하는 것은 큰 차이가 나타나지 않는 것으로 나타났습니다.

그림4. HA(고가용성) on, off에 따른 Throughput과 Latency

3) Failover

. 6대의 웹서버 운영
. 한대의 Velocity 호스트 turn-off
. 애플리케이션이 정상 상태로 돌아올 때까지 대기
. 두번째 Velocity 호스트 turn-off
. 애플리케이션이 정상 상태로 돌아올 때까지 대기

캐시의 장애는 3가지로 구분됨: 프로세스 kill, 서비스 stop, Velocity 관리도구를 이용하여 캐시 호스트 stop
1. At ~4:30 첫번째 호스트 turn off
2. At ~9:30 두번째 호스트 turn off

그림5. 프로세스를 kill 했을 때의 Throughput, Latency

오늘의 테스트를 통해 다음과 같은 결론에 도달할 수 있습니다.

. Velocity는 순차적인 확장성을 제공합니다.
. Velocity는 저렴한 서버에서도 잘 구동되고, 세션 상태에 대해 확장성과 고가용성을 제공합니다.
. 데이터베이스는 웹서버의 수가 증가하면, 병목현상으로 인해 성능이 저하되는 현상이 발생할 수 있습니다.
   - Velocity를 통해 CPU, 디스크, 네트웍 관련 병목 현상을 제거할 수 있습니다.
   - 다시 말하면, Velocity는 데이터베이스의 부하를 두드러지게 줄여줍니다.

이 글은 Grid Network의 Velocity Benchmark White Paper를 기준으로 작성했습니다.

Posted by 조이트리
아키텍트2009. 12. 7. 18:48

Windows Server AppFabric은 확장성, 가용성 및 고성능 애플리케이션을 개발하는데 필요한 분산 메모리 캐싱 플랫폼을 제공합니다. 오늘은 Velocity에 대해서 정리해보려고 합니다.

캐시를 통하면 애플리케이션이 불필요하게 데이터 소스 (Database 등)에 연결하여 데이터를 가져올 필요가 없기 때문에 급격하게 성능이 향상 됩니다. 분산 캐싱은 캐시 클러스터를 통해 수요가 증가하더라도 복잡한 로브밸런싱을 구성하지 않고도 안정적인 성능을 제공 받게 됩니다. 확장성은 서버를 추가하기만 하면 얻을 수 있게 되는 간단한 개념으로 바뀝니다. 고가용성은 해당 데이터를 Velocity가 복사할 수 있도록 설정하면, 해당 클러스터로 연결된 모든 서버간에 고가용성을 얻게 되는 거죠. Velocity는 원격 네트웍에 있는 서버 간에도 설정될 수 있습니다.

이전 글에서, 현재까지 구성되는 클라우드 컴퓨팅은 인프라 클라우드, 즉 서버 운영에 대한 부분에 집중되어 있다고 말씀 드렸습니다. 하지만, 애플리케이션에 대한 확장성, 분산 캐싱, Fail-over 등이 이루어져야 진정한 의미의 클라우드 컴퓨팅 플랫폼이라고 할 수 있습니다. 인프라 Fabric, 즉 인프라 클라우드는 마이크로소프트의 Dynamic Data Center toolkit으로 구성하고, 애플리케이션 Fabric은 Windows Server AppFabric으로 구성하면 진정한 의미의 분산 클라우드 운영체제를 구성할 수 있게 될 것 같습니다. 자, 그럼 AppFabric의 Velocity에 대해 좀 더 자세히 알아보도록 하겠습니다. Velocity는 현재는 CTP(Community Technology Preview) 버전이고, CTP4가 최신 입니다.

Velocity를 어떻게 활용할 것인지에 대한 일반적인 시나리오를 몇 개 설정해봤습니다.
(Grid Dynamics가 벤치마크를 실시했습니다.)

1. 블로그 엔진 애플리케이션, 분산 캐싱
2. 전자상거래 웹사이트, 세션 상태 제공자 (Session State Provider)

Velocity 시나리오 (1)

블로그 엔진은 데이터를 많이 사용하는 웹 애플리케이션의 좋은 예제라고 할 수 있습니다. 친구 리스트 및 feeds, 게시글에 대한 아이템을 가져오기 위해 복잡한 데이터베이스 쿼리를 사용하게 됩니다. 또한, 같은 정보가 사이트 내의 여러 페이지에 보여지는 경우가 많죠. 결국 같은 정보를 여러 번 반복해서 가져오게 되는 거죠. 분산 캐싱을 이용하면 성능 향상을 볼 수 있는 이유 입니다.

 
그림1. 블로그 엔진 애플리케이션 아키텍처

두 개의 버전으로 테스트가 이루어졌습니다. 첫 번째, 데이터베이스만 사용. 두 번째, 데이터베이스에서 조회된 내용을 캐시에 저장함.

1) Throughput


그림2. Throughtput (Without Velocity, With Velocity)

그림3. Latency (Without Velocity, With Velocity)

2) 확장성

그림4. Scalability (Without Velocity, With Velocity)

작은 데이터 셋 때 이 정도의 결과값이었고, 큰 데이터 셋을 대상으로 했을 때 더 좋은 결과가 나왔습니다.

3. 고가용성

그림5. HA(High Availability)를 켰을 때와 껐을 때의 결과 값

큰 차이가 나지 않는다. 다만, HA를 켜지 않은 상황에서 2배 정도의 메모리를 더 사용하는 것으로 나타남

4) Failover


 
 그림6. 애플리케이션의 throughput - Failover 테스트                   

At 05:00에 Node1 제거
At 10:00에 Node2 제거
At 20:00에 Node1 삽입
At 30:00에 Node2 삽입

오늘은 여기까지 정리하겠습니다. 내일은 2번째, Session State Provider에 대해 적어보겠습니다.

이 글은 Grid Network의 Velocity Benchmark White Paper를 기준으로 작성했습니다.

Posted by 조이트리