철수네 소프트웨어 세상 [본점]

소프트웨어와 관련이 있다면 뭐든지 – I no longer work for Microsoft.

Archive for 10월 2008

Silverlight 2 출시 소식(+c)

with one comment

2007년 9월 5일 Silverlight 1.0 출시.

2008년 10월 14일 Silverlight 2 출시.

약 1년(+1달 1주)만에 두번째 버젼이 출시됩니다. 흔히들 마이크로소프트 제품들은 3.0은 되어야 쓸만해진다고 많이들 이야기하곤 합니다만(굉장히 자주 인용되기도 하구요), 마이크로소프트 내의 엔지니어링 방식은 이전과는 상당히 많이 바뀌어 그 이야기는 더이상 의미가 없지 않을까 생각됩니다. Silverlight도 두번째 버젼이지만, 애초에 목표했던 것보다 더 많은 것을 구현하였고, 1.1로 출시하려던 버젼도 2.0으로 바꾸게 되는 변화를 겪었습니다. 아마도 그런 이유로 Silverlight 2.0이 아니라 Silverlight 2(투)라는 버젼이 아닌 이름으로 새로 브랜딩을 한 것일테구요.

요새는 Adobe의 Flash와 비교되곤 하지만, 작년에는 Flash를 경쟁대상으로 하기 보다는 더 넓은 의미의 웹의 확장을 기조로 출발하였습니다. 하지만, Adobe도 Silverlight의 출현에 응대를 할 수 밖에 없었고, 현재 그 1년간 Adobe도 많은 전략의 변화를 보여주어 그로 인한 변화로 생각하는 방향성 자체를 어느정도 나란히 – 물론 마련된 제품 스택은 사뭇 다르지만 – 하게 되었습니다. Flash 10으로의 업그레이드 뿐만 아니라 마이크로소프트의 전문 분야(?)인 개발자 생태계의 생성에 무단한 노력을 했고, 강했던 디자이너 커뮤니티의 이전을 위한 툴 개발에도 많은 투자를 했죠.

Silverlight 2는 이런 경쟁의 첫 시발점으로써의 의미를 가지는 버젼으로 사용자는 더 생산적인 그리고 풍부한 웹을 만들기 위한 건강한 결과물로의 진화를 접할 수 있는 단초를 마련하게 된 것입니다. 아직 Silverlight에만 있는 DeepZoom과 같은 기술도 있지만, 벌써 Silverlight의 다음 버젼에 H.264/AAC 지원에 대한 이야기가 소개되었고, Flash와 이런 저런 기능들을 주고 받고 있습니다. 물론 Silverlight가 Mac 버젼이 동시에 공개되고 Linux용도 Novell에서 별도의 스케줄로 개발되고 있죠. 게다가 Adobe의 툴인 Flex Builder가 기반으로 하는 개발 플랫폼인 Eclipse와의 통합을 위해 이를 개발하는 Soyatec에 투자를 하였고, 그 결과물인 eclipse4SL은 오픈 소스로 내년 봄 출시를 목표로 진행됩니다.

Silverlight의 점유율 또한 Flash가 그동안 이뤄왔던 것에 비해 상당히 빠른 속도로 증가하고 있습니다.

Silverlight adoption continues to grow rapidly, with penetration in some countries approaching 50 percent and a growing ecosystem that includes more than 150 partners and tens of thousands of applications. … and Silverlight market penetration in the U.S. by more than 30 percent. [via presspass]

미국에서는 이미 30%를 넘어섰고, 국내에서도 예상보다 높은 점유율을 보인다고 합니다. 점유율의 숫자 자체로는 여러 논란의 여지가 있겠지만, 근본적으로 빠른 성장세와 적응력을 보여준다는 사실 하나만으로 의미가 있다고 할 수 있겠습니다. Silverlight 개발자분들이 Flash 개발자만큼 대우받는 멀지 않은 미래를 조심스럽게 점칠 수도 있지 않을까요^^

이미 많은 분들이 익히 아시겠지만, 이번 Silverlight 2의 가장 큰 변화는 .NET Framework을 시스템과는 별도로 따로 가지고 있다는 것입니다. 독립된 실행환경이면서도 비슷한 프로그래밍 모델을 가지고 있어서 기존의 개발자들이 쉽게 적응할 수 있도록 하고 있고, 서버 코드 개발자들도 동일한 프로그래밍 모델을 사용할 수 있습니다. 요즘 모든 브라우저들이 JavaScript의 퍼포먼스 향상에 박차를 가하고 있는 와중에도 Silverlight 2는 이를 통해 속도라는 장점을 제공합니다. 물론 기존 웹 개발자분들은 JavaScript를 사용하여 개발할 수도 있고, XAML이라는 마크업 언어를 사용한 디자이너 툴도 제공되고 있습니다.

아래의 MSDN 문서의 이미지로 한눈에 전체적으로 제공하는 기능들을 볼 수 있습니다.

SilverLight Architecture

이외에도 이전보다 세련된 테마(스킨)로 바뀐 다양한 컨트롤들의 추가와 함께 Visual Studio 2008 SP1에 설치할 수 있는 Silverlight 2 개발툴(Silverlight Tools)와 Silverlight 2를 지원하는 Blend 2.0의 SP1(서비스 팩 1)가 공개됩니다. 또한 Silverlight 자체에 포함되는 기본적인 컨트롤 이외에 부가적으로 제공되는 여러 컨트롤들이 포함된 Silverlight Control Pack이 오픈 소스로 공개될 예정입니다. 또한가지, 이전에는 지원하지 않았던 마이크로소프트의 무료 웹 개발툴인 Visual Web Developer에서도 Silverlight Tools가 설치가 가능하게 되어 취미 개발자분들께도 좋은 소식이 될 것 같습니다.

벌써 얼마전에 개발자용 RC(출시 후보) 버젼이 공개되어 접해보신 분들도 많으시겠지만(그 이후로 보고된 여러가지 버그들이 수정되었죠), 혹 베타 2를 사용하신 분들은 달라진 내용들을 Silverlight SDK 블로그에서 보실 수 있습니다. Silverlight 2 베타 2를 사용하던 사이트들은 업그레이드되지 않을 경우 동작하지 않게 되니 object tag를 수정하고 호환성 테스트를 하실 것을 권합니다.

저희 팀도 Silverlight 2가 우리나라 사용자 분들이 사용하는데 있어서 조금이라도 개선이 되도록 하기 위해서 수도 없이 설득하고 비명을 지르면서 소스 코드 속을 헤맨 것을 생각하면 출시라는 이벤트가 기분이 상쾌할 법도 하지만, 아직 많이 부족한 부분들을 알고 있기에 다음 버젼에서 개선 될 수 있는 이런 부분들을 들고 앞으로 갈 길을 생각하면서 회고해봅니다. WPF(Windows Presentation Foundation)에서는 지원되지만 아직은 한계로 인해 지원되지 못하는 여러가지 기능들과 또한 Flash에서 새로 지원하는 여러가지 Text/Font 기능들, 그리고 앞으로 수정해야될 버그들 모두를 들고 다음 버젼을 위해서 또 다시 떠들고 고치고 개발해야겠지요. (기회가 된다면 개발 중 몇가지 사연들을 포스팅 해보도록 하겠습니다.)

(cross-posted to my msdn blog)

[+코멘트] 개인적으로 Silverlight라는 – 크기는 작지만 있을 것 다 있는 – 플랫폼 제품의 전 개발과정을 겪으면서 수도 없이 많은 것을 배웠습니다. 제품과 기술과 엔지니어링 뿐만 아니라 트렌드와 다양한 사람들의 다른 관점들, 까네에 관한 여러가지, 플랫폼 비즈니스의 AtoZ등…업계에서 제대로(?)하는 법에 대한 강의를 월급받으면서 들었다고나 할까요^^ 성공하는 법 강의를 들었다고 성공하는 것도 아니고, 그것을 실행하는 것도 몇평생의 업일지도 모르는 일이지만, 이 자체로 개인적으로는 성공한 한해라는 생각이 듭니다(다른 여러가지 악재?들 속에서라도 말이죠ㅎㅎㅎ).

물론 직접 겪은 것도 있고, 이메일 속에 파묻혀 허우적대면서 배운 것도 있고, 혹은 간접적으로 돌아가는 상황을 쫒아다니면서 느낀 것도 있습니다. 일반적으로 저희 팀에 처음 들어오면 개발 전 싸이클이 어떻게 돌아가는지를 익힐 수 있는 작은 제품으로 할당 받게 되어 전체 과정의 윤곽을 배우고, 다음 싸이클부터 매번 돌아갈때마다 전에는 배우지 못했던 것을 또 배우면서 개선하게 됩니다. 제가 입사할때는 Visual Studio 2005 1/3 지점쯤이었는데, Visual Studio 2005를 보내고, Visual Studio 2008을 보내고 있는 와중에 Silverlight와 인연을 맺게 되었습니다. Silverlight의 첫 버젼은 지원 시나리오가 적었기 때문에 워밍업 수준이었고, 이번 두번째가 진짜배기로 재미났(다고 표현하는게 맞을지 모르겠지만)습니다. 특히 Silverlight이 재미난 부분은 그 스케줄이 살인적이었는데, 그 살인적인 스케줄을 큰 문제없이 뽑아냈다는 것입니다. 비즈니스/마케팅과 개발팀과 왔다리갔다리 줄다리기도 여러번 있었구요. 게다가 Silverlight 2의 Runtime의 크기가 4메가 가량 되는데, 이 4메가를 위해서 하는 일은 수십기가 분량이라는 사실을 생각해보면, 얼마나 많은 일들이 그 작은 것을 위해서 벌어지고 있는지 상상이 가실지도 모르겠습니다. 테스트해야할 매트릭스(OS+브라우저+툴의 조합)도 엄청납니다.

Silverlight이 달랐던 또 한가지는 크로스 플랫폼/브라우저의 웹환경 위에서 동작한다는 것이었습니다. 단순히 여러 플랫폼에서 된다거나 여러 브라우저에서 된다는 것 이면에 우리에게 중요한 것은 전세계 사람들이 이를 사용해야된다는 것이었습니다. 브라우저 안에서는 영어로만 돌아가고 영어로만 입력해야된다면  큰 문제겠죠. 별 것 아닌 말 같지만, 이것이 어떤 의미를 가지는가를 모두가 이해하기 위해서는 반드시 편을 가르고 반대편을 설득하는 과정이 필요합니다. 이를 이해하지 못하는 경우와 아닌 경우의 결과물은 천지차이라는 것이죠. 특히나 스케줄과 리소스가 빡빡하다면, 이야기는 또한번 180도 틀려지게 되죠. 모두가 그런 면에서는 레벨업을 한 셈입니다.

이미 다음 버젼의 초기 계획은 마련되었기에 오늘도 계속해서 월급받으며 수련을 이어갑니다.ㅋㅋㅋ

Update: 설치 링크들은 마이크로소프트 지점의 포스트인 Silverlight 2 시작, Start~를 참고하세요~

Written by charlz

2008년 10월 14일 at 오후 6:04

Uncategorized에 게시됨

데스크탑 소셜 허브로써의 메신저?(데탑블로그포스트)

leave a comment »

데스크탑 = 나 — 데스크탑 소셜 허브로써의 메신저-

자료보다는 생각을 위주로 적어서인지 다시 읽어본 글 자체는 삘이 딱히 오지는 않기는 하지만, 메신저가 왜 그 잠재성을 활용하지 못하고 있는가에 대해서 누군가 풀어주기를 바란다는 이야기 자체는 전달 되지 않을까하는 생각에 위안을 삼는다. IM이 별것아닌것 같아도 근래의 다양한 뉴스들… Cisco가 Jabber를 사고, Microsoft에서는 UC(Unified Communication)을 이야기하고 Windows Live Messenger의 업그레이드에 힘을 쏟으며, 중국의 QQ의 사용자가 수억 사용자 붐을 일으키고, Google에서는 그들의 새 안드로이드 폰 G1에 GTalk Presence 정보를 기본으로 넣었고, iPhone의 fringe이 뜨거운 관심을 받았는가등을 생각해보면, 그 가치는 줄어들기보다는 점차 더 커진 것이 아닐까. 되려 너무 많은 기능들을 넣고자 한 노력에서 사람들이 받아들이지 못한 면이 있고, 좀 더 포커스 된 시나리오로 접근해서 뭔가 더 편하게 사용할 수 있는 변신을 해줬으면 좋겠다.

Written by charlz

2008년 10월 5일 at 오후 9:45

Uncategorized에 게시됨

클라우드 컴퓨팅의 뒷면

with 4 comments

십수년전에는 인터넷, 다운사이징, 객체지향 등과 같은 키워드의 큰 조류 속에서 코볼이나 RPG 프로그래머들이 점차 없어질 것이라는 이야기들을 많이 했었다. 아직도 수요가 있음에는 틀림이 없지만, 이런 수요는 줄어들고 있다는 사실에 근거하여 특화된 것으로 지금은 자바나 .NET 프로그래머들이 득세하고 있는 점도 틀림이 없다. “살아남다”라는 살벌한 표현을 쓰는 것이 가슴아프기는 하지만, 변화에 살아남은 경우가 있었을 것이고 그렇지 못한 경우가 있었을 것이다. 뭐, 이에 대한 자세한 이야기는 접어두고, 사실 포커스 하고자 하는 부분은 패러다임의 변화로 인한 일자리(Job)의 이동이다.

지금 이 업계에는 일자리의 이동에 관해 크게 두가지의 패러다임 변화가 있다. 모두 “돈”, 좀 더 순화해서 “비용”의 절감을 위한 변화로 하나는 싼 곳으로의 아웃소싱(정확하게는 오프쇼링 – offshoring)이고 또하나는 클라우드 컴퓨팅이라는 것이다.

아주 간단하게, 아웃소싱은 [전문 인력 투입으로 들 비용]이 [더 적은 수의 아웃소싱 관리 인력으로 들 비용 + 아웃소싱 비용]보다 클 경우에 이뤄지는 트렌드이다. 대개 창의적인 작업보다는 반복적이거나 반복적이기에 변화가 적은 일들이 아웃소싱되는 경향이 크다(“땡보직”이란 있을 수 없다는 말일까?). 그런데 문제는 이런 아웃소싱이라는 것 자체가 점차 전문화되면서 기존 일자리의 “대체”를 불러일으킨다는 것이다. 일자리의 이동 말이다.

그럼 클라우드 컴퓨팅은?

제안서 작업을 하거나 프레젠테이션을 준비하는 경우 인터넷을 구름처럼 그린 경우를 많이 겪거나 봤을 것이다. 아마도 안에서 어떤 일이 일어나는지, 어떤 식으로 동작하는지 알 필요없이 어떤 커다란 엔티티를 표현하는 방법으로써 구름을 사용하는 것일게다. 어찌되었건 이 구름이 (당연하지만) 인터넷의 버즈워드로 사용되는 클라우드라는 말이다.

image

[Image via http://news.cnet.com/8301-10784_3-9889947-7.html]

클라우드 컴퓨팅은 이런 클라우드의 비슷한 특징을 공유하는 용어이지만, 그렇다고 인터넷으로 제공하는 모든 서비스를 지칭하는 말은 아니다(혼동하지 말지어다). 클라우드 컴퓨팅은 인터넷 서비스 자체가 아니고 인터넷 서비스를 제공하기 위한 하나의 패러다임으로써 앞서 이야기한 비용을 낮추기 위하여 서비스의 (스토리지등을 포함한) 인프라(Infrastructure)와 오퍼레이션을 아웃소싱하는 형태를 이야기한다. 특히 이런 패러다임이 널리 사용되기 위한 빌링 모델까지도 포함한다. (이에 대한 공부는 구글링으로 해결할 수 있기에 과제로 남겨두기로 한다)

이런 클라우드 컴퓨팅이 메이저 리그화 될 경우에 올 수 있는 일자리 이동은 여라가지를 생각해 볼 수 있다.

일단 인터넷 서비스를 개발하는 비용이 감소하여 배리어가 굉장히 낮아지는 효과가 있을 가능성이 크다. (가능성이 크다고 한 이유는 아직 어떤 식으로 비용에 대한 경쟁이 이뤄질지는 모르는 일이기 때문이다. 메이저 클라이언트들이 주 고객이 되는 시장으로 변질된다면 다른 시나리오로 바뀔 수도 있다.) 다양한 아이디어가 더 쉽게 표출될 수 있는 장점이 있는 반면, 이들로 인한 효율의 증가로 기존의 것들이 힘을 잃게 되는 일은 충분히 있을 수 있는 일이다. 이는 패러다임이 바뀌는 그 자체만으로 – 새로운 산업이 생겨난 것처럼 – 당연히 겪는 일이기에 쉽게 상상할 수 있다. 어떤 기술이 다른 기술로 대체되면서 생기는 일자리의 이동 말이다.

위의 이유와 마찬가지로 클라우드 컴퓨팅을 제공하는 거대 기업 내에서는 기존의 비즈니스가 이 형태로 이동하는 과정에서 일자리의 shift를 겪게 될 것이다. 기업 내의 예산은 언제나 그렇듯 이런 비용 절감을 위하여 비용 절감을 해주는 쪽으로 비용이 쏠리게 되어있고, 반대로 비용이 줄어든 곳에서는 어려움을 겪게 되는 것이다. 이 줄어든 비용은 layoff로 이어질 수도 있는 일이다. 큰 기업들의 부서의 기능(functionality) 자체가 위협될 수도 있는 일이다. (조금 회의적인 상상이지만) 장기적으로 온라인 은행같은 것이 허가가 될 수 있다면, 클라우드 컴퓨팅을 활용한 형태로 제공될 수도 있는 일이다. 이런 것이 가능하다면 생길 수 있는 일자리의 이동은 대충이나마 상상가능할 것이다. 인트라넷이 꼭 내부에서 운영(Intra)될 필요가 없다면 IT 부서(department)의 운명은?

또한 이런 형태의 Small & Medium 비즈니스(SMB)가 성황함으로써 전에는 이를 위한 IT 오퍼레이션을 위한 일자리가 거대기업의 클라우드 컴퓨팅으로 점차 흡수된다. 흡수되어 일자리를 창출하면 좋은 일이겠지만, 아쉽게도 클라우드 컴퓨팅의 오퍼레이션 비용의 절감은 일자리보다는 자동화에 더 촛점이 맞춰져 있다. 예를 들어 피크 타임이라고해서 서비스가 다운되는 경우가 있다면 해당 클라우드 컴퓨팅 서비스를 사용할 회사는 없을 것이다. 클라우드 컴퓨팅을 제공하는 곳에서는 이를 위해서 계속 늘어나는 클라이언트와 트래픽과 오퍼레이션 비용을 인력으로 채워서 해결하려 한다면 이런 서비스를 하는 의미가 없을 것이다. 이런 비용의 절감은 이런 스케일링과 오퍼레이션의 자동화로 대체를 하는 것으로 이뤄지는 것으로, 이미 다양한 업체들이 이런 방식으로 웹서비스를 제공하고 있다. 비용의 절감이 자동화에 의한 것이라면 그것도 글로벌하게 중앙집중(Centralize)된 것이라면 뻔하다.

클라우드 컴퓨팅은 갈길이 아직 한참 먼 패러다임이다. 아직은 모두가 트라이얼 중이며, 실험 중이며, 걸음마 중이다. 기술적인 면 이외에도 비즈니스적인 면에서 해결해야할 것의 목록은 칠판을 채우고도 한참 넘친다. 보안/Privacy라는 측면에서 넘어야할 심리적인 배리어 또한 넘어야할 커다란 산이다. 하지만, 이런 뒷면은 미리 준비해야할 것이 아닌가 생각해본다.

Written by charlz

2008년 10월 4일 at 오후 11:52

Uncategorized에 게시됨

%d 블로거가 이것을 좋아합니다: