Korea Evangelist

Developer & Platform Evangelism, Microsoft Korea

November, 2009

  • Korea Evangelist

    PDC09 세째날: 이번 행사를 요약하며 - Server & Client

    • 0 Comments

    {Ink blog plugin의 벌레 때문에, 글을 몇 번이나 고쳐 올리다 포기하고, 큰 맘먹고 Visio로 다어어그램을 그려 올리기로 했다. 누가 읽기나 할까 싶은 글이지만, 기왕 시작을 했으니 마무리는 지어야 하지 않을까 싶어서 고집스레 쓰고 있다.}

    Server 쪽은 아래 그림과 같이 달라졌다. (정확성을 따지 자면 한도 끝고 없어서, 대충 그렸다.)

     

      Server 
    • PDC08에서 처음 발표했던, “Geneva (Access Control)”와 “Doublin (Service Bus)” 프로젝트의 하나로 Server 쪽에 예정된 변화는, 그 이전부터 “Velocity”라는 이름으로 진행되어 왔던 Distrubuted Transaction Caching 프로젝트와 하나가 되어, Windows Server AppFabric이란 이름으로 발표되었다.
      • Windows Azure AppFabric과 이름을 동일한 것으로 가져가는 정책에서 미루어 짐작하시다 시피, Server와 Service 즉 Private Cloud와 Public Cloud 공히 양단에 동일한 Platform Cloud를 구축할 수 있도록 하여, 양단간의 apps 이동, 연동, 확장이 자유롭게 하겠다는 심산이다. (잘될까?)
      • “Velocity”는 PHP/Open Source 공동체에서 이미 널리 활용되고 있는 memcached 같이, im-memory object cache 기술의 한가지 인데, 자동으로 서버를 복제 분산하고, 중복되는 Data Service Request를 검출하여 전송 효율을 끌어올리는 기술이라는 점이 두드러진다. 아직도 CTP 단계.
    • Infra Private Cloud 기술로 올해 4월 Dynamic Data Center Toolkit for Hoster 가 발표되었다. 내년 초에 Enterprise 용이 나온다. Hoster 용에, 개별적인 Site management UI와 관리 기술을 조금 더 탑재한 수준이다.

    Client 쪽은 아래와 같이 달라졌다.

    Client

     

    • Silverlight: 2 –> 3 –> 4, 기업형 RIA 플랫폼으로써 뒷단인 서버 측과 Data Binding / 앞단인 클라이언트 Native Resource 연동을 강화하여 쓰임새를 넗히는 쪽으로 발전. Data Binding 기술을 WCF RIA Service로 명칭 변경하여 혼란을 줄임. 구글 Chrome 브라우저 지원 (Safari, Air 등과 동일한 Webkit 엔진을 사용하는 바, 큰 변화는 아님)
    • Cloud Client 기술로 기능이 중복되는 Sync Fw, Live Fw 두 가지가 서로 다른 목적으로 발표되었으나, Live Fw의 대한 로드맵은 모호 (사실, Platform Cloud의 한 축이었던 Live Services 전체의 로드맵이 오리 무중)
    • Firefox, Safari, Chrome 브라우저와 WebKit 엔진에 대한 대응으로 ACID3 준수, Javascript 엔진의 성능 개선, HTML Rendering 엔진의 성능과 품질 강화를 목표로한 IE9 발표.
    • “Geneva” 프로젝트의 한 가지로 발표되었던, Windows CardSpace “Geneva”는 Windows Indentity Foundation으로 공식 명칭으로 함

    이상으로 PDC 보고 완료. (내용의 정확성은 각자 알아서 판단하실 것.)

  • Korea Evangelist

    PDC09 세째날: 이번 행사를 요약하며- Service

    • 2 Comments

    오늘은 세째날 곧 마지막 날이다. 부쓰를 좀 둘러 볼까 하다가 그냥 라운지에 앉아 글을 쓰기로 했다. 사실 돌아가면 또 먹고 살기 위해 쳐내야 하는 웬갖 일에 쫒겨, 이런 글을 쓰고 있을 여유는 없다. 아니 있다고 하더라도, 거기에 생각이 담겨 있을리 없다.

    이번 PDC는 무척 조용한 분위기라는 얘기를 한 바 있다. 들썩거리는 분위기는 전혀 없다. 조용하다 못해 평화롭다. 신종 플루와 경기 침체가 적쟎은 사회 분위기에 적쟎은 영향을 미치고 있다.

    뭐, 어쨌거나 할 일은 해야겠지. 지금부터 PDC에서 나온 얘기들을 크게 간추려 본다. 물론 몰라도 사는데 지장은 없다. 이 기술들이 시장에서 반드시 성공한다는 보장도 없다. 그냥 그렇다는 얘기다.

    Service 쪽은 지난 1년간 아래와 같은 변화가 있었다.

     

    Service

    • Windows Azure는 그대로 Windows Azure
    • Windows Azure + Live/.NET/SQL Services를 통칭하던 Azure Services Platform은 Windows Azure Platform으로 명칭 변경
    • SQL Services는 REST Access에 추가로 T-SQL Acess를 보태더니, 얼마전 부터 SQL Azure로 명칭 변경하며 기능성 강화
    • Live Services는 오리 무중? Consumer Web Platform을 위한 PaaS 지원은 Windows Live만 존재
    • .NET Services는 "Geneva (Access Control)" + "Doublin(Service Bus)" 프로젝트의 성과를 반영하며, Windows Server 쪽의 Private Cloud 지원과 Line up하며, Windows Azure AppFabric으로 이름하에 포괄
    • Microsoft Pinpoint라는 이름으로, Apps / Data / Services를 직거래할 수 있는 Online B2B Marketplace 발표 (한 마디로 마이크로소프트 생태계를 온라인 시장으로 만든 서비스)
    • Microsoft Pinpoint의 프로젝트의 일부로 Data-as-a-service 형태의 Data Service 프로젝트 개시 - 코드 네임 "Dallas"

    • Korea Evangelist

      PDC 2nd day Keynote

      • 0 Comments

      { 오늘의 대박은 솔직히, Windows 7이 설치된 넷북을 참가자 전원에게 한 대씩 준다는 것. 어제는 Azure 세션 연달아 두 개 들으면 마우스 아니면 휴대용 카메라를 준다고 하더니만. 알다시피 내게는 모두 해당 사항 무! }

      이번 PDC부터는 아침을 주지 않아서, 숙소에서 다들 컵라면을 챙겨 먹고 숙소를 나섰다. 솔직히 행사장에서 주는 아침이 그다지 맛깔스러울 수는 없다. 각자 알아서 저 먹고 싶은 것을 먹는 것이 낫지. 하지만, 웬지 섭섭한 얄팍하고 모순된 마음.

      어쨌거나 키노트 행사장에 조금 늦게 도착하니, 익숙한 얼굴이 Windows 7에 대해서 열심히 중얼 중얼. 많이 본 사람인데 이름은 솔직히 잘 모르겠다.

      어제 발표에서, Windows Server Windows Server AppFabric은 Private Cloud Computing 분야에서 Microsoft의 전략에 큰 의미가 있다. 작년에 Client, Server, Service 세 영역에 Cloud Computing 기술을 기반으로 하는 S+S 전략의 실체를 드러내며 ‘Doublin(Service Bus Integration)’과 ‘Geneva(Access Control Integration)’란 코드명의 프로젝트를 언급하였다는 점을 기억하실런지 모르겟다. Doublin 프로젝트는 사실 Enterprise Sevice Bus와 Internet Service Bus를 그리고 Client의 개방형 연결성(Open Standard Connectivity on the top of Web Services)을 제공한다는 것 외에도, 사실 여러대의 Windows Server가 논리적으로 하나의 Enterprise Service Bus로 묶여 동작할 수 있는 것이 가능해야 한다는 것을 가정한다. 사실 이렇게 되면, Windows Azure 위에 Web App을 올리는 것이나, 여러 대의 Windows Server 위에 올리는 일이나 모든 것이 동일해 지도록, 즉 public이냐 private이냐 이외에는 전혀 기술적으로 차이가 없게 된다는 사실을 말한다.

      그런 관점에서 오늘의 키노트는 또다른 의미가 있다.

      어제가 Server, Service가 Cloud Computing 즉, Scalability와 Elasticity를 앞세운 Microsoft S+S 비전의 실체를 명백히 제시하였다면, 오늘은 나머지 빈 공간, Client 부분을 채우는 날이라 하겠다.

      • Windows 7 얘기는 평이하며 이미 많이 듣던 얘기. 신기술을 담뿍 담은 제품이라, 뭐 더 새롭게 추가된 것을 말하기도 어렵다. 다만, 이 제품의 개발되기까지 실제 쓰는 사람들의 마음에 귀를 기울이기 위해 최선을 다했다는 사실을 재밌고 시각적으로 드러내기 위해 노력한 모습이 엿보인다.
        • 여러 주요 컴퓨터 회사들이 출시한 넷북들을 줄줄이 골고루 소개하며, Windows 7의 에너지 효율성과 성능을 간접 증명하려 애쓰고 있다.
        • 마지막으로 Acer 넷북으로 Windows 7이 제공하는 여러 기능을 모두 활용한 제품이라고 소개한다. 특정 회사 제품을 지나치게 오래 애기한다 싶더니, 참가자 전원에게 이걸 한대 씩 준댄다. 사람들 물건 준다니 난리났다.
      • Internet Explorer 9의 발표
        • Javascript 엔진의 괄목한 성능향상
          • 지금 화면에 보여주는 데이터가 사실이라면 정말 애썼다. 지금까지, 7, 8 버전은 Safari, Chrome 등에 탑재된 javascript 엔진과 견주어 성능이 너무 떨어졌다. 8에 와서 두어배 이상의 성능이 향상되었지만 그래도 떨어지는 것은 사실이었다. 9은 근소한 차이를 보인다. 얼마나 많은 엔지니어들이 고생을 하였을까?
          • ACID3 – 아직 완전하지는 않지만, 표준을 따라잡으려는 노력이 눈물겹다. 조금 늦은 감이 없지 않지만.
          • GDI가 아닌 D2D를 사용하여 렌더링 엔진의 교체 – 개인적으로 나는 이부분이 가장 반갑다. 웹페이지 렌더링만 충분히 좋다면 이미지를 덕지 덕지 바르지 않고, 표준에 충실한 HTML/CSS 기술만으로도 얼마든지 잘난 홈페이지 만들 수 있다.
      • Silverlight 4
        • 브라우저 밖에서 실행되는 것은 다 아는 사실이고, 브라우저 sandbox 밖에 있는 것들을 활용할 수 있다.
        • 이제 Silverlight 4는 더 좋아진 Active-X Platform이라고 해도 과언이 아니다. 오해는 말자. 전처럼 Windows에서만 돌아가지는 않으니까. Offline DRM이나 Native Resource를 자유롭게 활용하지 못하는 RIA 플랫폼은 ��잡도 상상을 초월할만큼 복잡한 엔터프라이즈 클라이언트 환경에서는 제약이 너무 많아서, 그림의 떡인 경우가 적지 않았다.
        • .NET4와 바이너리 호환성
          • 이전 버전에서도 .NET/WPF와 Silverlight 사이의 소스 코드 호환성은 어느 정보 보장되었다. 사실, 작은 Mp3로부터 전화기, PC, 대형 모니터에 이르기 까지 수많은 Client 환경에서 쓰는 맛이 거의 동일하면서도 성능의 문제를 느끼지 않도록 하는 Client 플랫폼의 Scalabilty야 말로 쓰는 사람에게 가장 가슴에 와닿은 시스템 개발의 성패를 가늠하는 요인이다. 그렇지만, 다양한 클라이언트 컴퓨팅 환경에 맞도록 일일이 따로 엔지니어링을 하는 일은 사실 고통 이전의 엄청난 비용의 문제다. 이젠 적어도 모든 다양한 클라이언트 컴퓨팅 환경에서 이중 삼중으로 중복 개발이 가져다 주는 고통을 크게 줄일 수 있는 바탕은 마련되었다. 물론 그 공통 분모를 이끌어내는 설계 기술의 숙련도는 플랫폼이 해결할 수 있는 부분이 아니다. 기술은 마술이 아니다.
        • 기업형 RIA로서 제격을 갖추기 위해, Data Services (Full Data Binding과 함께) 기술을 강화하는 것
          • 사실, .NET 4와 바이너리 호환성을 제공하는 것과 더불어 일반 웹페이지가 아닌 기업 내부의 대형 시스템 앞단에서 Web-based / Server-based 시스템의 앞단에서 활용도를 드 높이려면 이 정도 지원은 진작에 있어야 했다. 지금도 잘난 기술자가 있으면 얼마든지 품질 좋은 화면을 구성할 수 있지만, 앞으로도 완성도가 얼마나 높아질런지는 지켜볼 일이다.

      지금부터는 겉으로 번쩍 번쩍 뽐내는 것 말고, 진짜로 숨겨진 보석들을 찾으러 다닐 시간이다. 물론 글로 다 써올린다는 보장은 없다.

      2009년 11월 18일 PDC가 열리는 LACC, Compass Cafe에서

    • Korea Evangelist

      Silverlight 4 큰 변화로 다시 다가 오다.

      • 0 Comments

      이 소식을 전하면서 제가 제일 많이 들을 이야기가 바로 ‘Silverlight3가 나온지 얼마 되지도 않았는데….’라는 이야기 일겁니다. 하지만 Silverlight4 beta 버전이 오늘 PDC09 키노트에서 발표되었고 그것도 메이저 버전업인 4.0 버전 소식으로 나왔습니다.

      Silverlight 4에서는 엄청난 변화가 있습니다. 기본 코어가 변화했다기 보다는 새로운 기능들이 많이 추가 되었습니다. 그 중에서도 제일 먼저 이야기 하지만 마이크와 웹 캠의 지원입니다. 마이크와 웹 캠의 경우 국내 교육 사이트나 게임에서 많이 활용 될 것으로 보입니다. 키노트에서는 스캇이 웹 캠을 이용해서 비디오 캡처를 하거니 사진 캡쳐를 해서 바로 Twitter와 연동하는 사례를 보여주었습니다.

      두 번째로 강화된 조작성을 말씀 드릴 수 있습니다. 마우스 오른쪽 버튼을 사용하거나 혹은 휄 버튼을 사용할 수 있게 되었고 프린터를 지원하는 등등은 Silverlight로 된 프로그램이 로컬과 거의 동일한 환경으로 제공할 수 있게 되었다는 증거 입니다. 또 하나 Rich Text 박스을 제공하고 클립보드를 사용하게 된 점은 정말 놀라운 변화 포인트 중에 하나 입니다. 이날 데모에서는 Rich Text안에 사진과 텍스트를 복사해서 붙여 넣고 바로 프린트 하는 데모를 보여주었습니다.

      웹 컨트롤을 Silverlight 안에서 사용할 수 있게 되었습니다. 웹 상의 다양한 컨텐츠를 Silverlight안에서 사용할 수 있게 된 점은 정말 편리하고 강력하게 바뀐 변화 중의 하나 입니다.

      Out of browser 모드에서 사용자의 권한을 상승 시킬 수 있는데 사용자의 권한을 상승 시킬 경우 Windows API를 사용해서 개발 할 수 있는 등 Windows Application과 다를 바 없는 기능을 사용할 수 있게 되었습니다. 더더욱 놀라운 점은 .NET 4.0에서 제공하는 어셈블리와 호환할 수 있는 점을 말할 수 있습니다.

      급하게 정리한게 이 정도 입니다.
      시간을 가지고 더 정리해 봐야겠네요..

      LA현지에서 김영욱 이었습니다.

    • Korea Evangelist

      PDC 에서 - 무결점 소프트웨어를 향한 도약: A leap toward zero-defect sw development

      • 0 Comments

      작년 PDC를 다녀와서 Code Contracts와 PEX를 소개한 바 있다. 이번에도 모두가 함께 이 개발자의 행복을 위한 도구 기술의 실제를 살펴보기 위해, 오늘의 마지막 세션 Code Contracts & PEX 세션을 듣기로 했다.

      작년에 비해 눈에 뛰게 좋아진 점은 기술의 완성도는 물론이고 개발 도구와 조화롭게 연결되어 무척 쉽게 쓸 수 있도록 plugin 형태로 제법 잘 정리되어 있다는 점이 겠다.

      일단 Visual Studio에 Code Contracts 기술을 편리하게 쓸 수 있도록 돕는 Plugin을 설치한 다음, 간단한 WebService 코드를 작성한다. C#이나 Java와 같이 Automatic Heap management를 하는 언어에서 흔히 범하는 그러나 일일이 찾아내기 짜증날 정도로 자주 만나는 Null Object Reference를 예로 든다. (도데체, C 언어처럼 명시적인 Pointer가 없다는 것이 이런 언어의 장점이기는 한 것인지…)

      코드를 실행하기도 전에 Code Contracts 설정판에서 간단히 static checking 옵션을 선택하고 한 번 검사를 돌려주는 것만으로도 가능한 Null Reference case를 잡아낸다. Olleh!

      한술 더떠서, 수학의 귀재가 아니더라도 이러한 정적 분석(Static Analysis) 기술의 발전으로 require, ensure, invariant 조건들을 자동으로 유추해 내는 정도로 까지 기술이 성장한 모습을 보여준다.

      사실 이러한 기술은 관련 연구 분야에서는 케케묵다 싶을 정도로 오랜 역사를 가진 연구의 결과이고 그에 비하자면 여전히 최첨단이라 보기는 어렵다고 하지만, 실용적인 관점에서 현 산업에서 활용되고 있는 기법과 수준을 고려하면, 무척 고무적인 모습이다.

      이제는 소프트웨어 코드를 백줄이상이라도 짜야하는 사람이라면, 이러한 기법과 도구를 마음껏 그리고 부담없이 부려 써야 할 때가 되었다. 소프트웨어 품질의 문제는 사실 벌써 여러 산업에서 실제 생산, 판매, 활용되는 제품과 사업의 성패를 가늠하는 가장 중요한 잣대가 되었다.

      PEX는 이러한 기술 적용을 좀 더 현실성있게 적용할 수 있도록 돕는 자동화된 Unit Testing 도구다.

      http://msdn.microsoft.com/devlabs/

      .NET 4.0에 들어있는 Code Contracts Library 기술로 Runtime Checkers, Static Checkers, Documentation 도구를 활요하지 않는 사람은 사실 바보다. 단언하건데 말이지.

      거기다 PEX로 Unit testing의 인생을 더욱 편하게 만들 가치를 느끼지 못하는 사람은 조금 덜한 바보다. 확신하건데 말이지.

    Page 2 of 4 (17 items) 1234