Welcome to MSDN Blogs Sign in | Join | Help

News

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

오늘은 세째날 곧 마지막 날이다. 부쓰를 좀 둘러 볼까 하다가 그냥 라운지에 앉아 글을 쓰기로 했다. 사실 돌아가면 또 먹고 살기 위해 쳐내야 하는 웬갖 일에

쫒겨, 이런 글을 쓰고 있을 여유는 없다. 아니 있다고 하더라도, 거기에 생각이 담겨 있을리 없다.

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

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

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

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

  • client 쪽은 아래와 같은 변화가 있다.

그림이 좀 복잡해서 설명이 잘 될런지 모르겠다. 하지만, 더 글을 적을 시간도 생각도 없거니와, 사실 몰라도 사는 데 전혀 지장이 없다는 말씀 드린 바 있다. 기술은 앞으로 나아가되 시장은 누가 알랴.

어차피 알 사람은 알고 모를 사람은 모른다. 무명 소졸 한 명이 떠든다고 하여 뭐가 달라지지도 않을 터이기에 편한 마음으로 커피와 담배를 즐기며, 이번 PDC와 빠이 빠이~~~

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

“M” & “OSLO” & “Quadrant” : Model-Driven Approach of Microsoft

누가 관심이나 있을려나? 우리나라에서는 마이크로소프트 안이고 밖이고 그다지 관심을 받지 못하는 주제다. 사실이 그렇다. 척박하다 못해 거의 스러져 가는 우리 소프트웨어 산업 현실에 이런 기술 자체에 대한 흥미로움이 가득한 주제는 웃음거리가 되기 십상이다.

그래도 여기는 좀 다른 듯하다. 엇그제 Code Contracts, PEX와 같은 무결점 소프트웨어 기술의 대한 세션에도 뜻밖에 사람들이 많았지만, 둘째날에 이 세션들은 생각보다 많은 사람이 자리를 꽉 매운다.

공짜 컴퓨터를 주겠다고 발표한 다음인데도 좋은 주제에는 사람들이 모여든다. 즐거운 일이다.

코드명 “OSLO”가 정확히 무얼 하겠다는 프로젝트인지 많은 사람들이 궁금해 했다. 그러다 작년에는 “OSLO”는 Model-Driven Modeling Platform이라는 제법 장대한 목표를 내걸었다. 야망찬 목표다. 사실, 현 소프트웨어 산업에는 Model-Driven Modeling Platform이라 일컫을 만한 기술이 없다.

올해는 우선 이 야망찬 목표를 적용했을 때 가장 크게 효과를 낼 수 있는 SQL 쪽에 응용을 집중적으로 실현해 보이고 있다. Chris와 엊그제 봤던 빡빡이 Architect가 진행하는 세션이 그것이다.

3-tier 방식의 아키텍처가 산업 표준처럼 널리 퍼진뒤로, Business Logic을 Modeling하는 개념과 Relational DB를 모델링하는 개념이 서로 걸맞지 않아서 이 양단을 무리 없이 연결하는 gateway 기술을 개발하는 데 많은 연구 개발과 실험이 있었다. 사실 십여년도 훌쩍 지난 케케묵은 주제다. 그럼에도 깔끔하다 싶은 답은 없다. Business Logic을 기술하는 모델링 패러다임과 RDB를 기술하는 모델링 패러다임의 충돌이 그것이다. 이 두 패러다임을 무리없이 완충할 수 있는 모델링 패러다임이 없기 떄문이다.

Computing의 모든 문제는 One more level of Indirection으로 해결이 된다는 금언이 있다. 간단히 말해, Abstract Layer를 하다 더 두어서, 그 밑단의 서로 다른 상세를 감추고, 좀더 문제에 가까운 표현 수단을 만들어내면 문제가 해결되는 경우가 많다. 사실 Computing 분야의 모든 문제의 해결책은 거의가 이러하다. 더 구체적으로 말하면, 문제에 더 가까운 표현수단, 즉 새로운 언어 체계를 만들어 내면 해결이 된다는 얘기다.

Domain-Specific Modeling이니 Domain-Specific Language니 하는 개념들도 모두 이러한 근본적 문제 해결 시작에서 나온다. 충돌이 나는 양쪽의 표현 수단을 그대로 두고서는 해결 책이 없다.

Microsoft의 “OSLO” 팀은, “M”이란 Functional meta-Modeling Language (Object-Orientedness가 아닌)를 만들어서 Domain-Specific Modeling 언어를 만들어내는 방식을 따르고 있다. 재미있는 시도다. 특정 영역 전문 언어를 만들어서 이 언어로 Vocabulary를 기술하고 이를 RDB 데이터로 자동 생성, 또 한편으로는 C#, java와 같은 class-based Object-oriented Language 모듈을 만들어내 양단의 패러다임 충돌을 피하겠다는 것이 그 바탕에 깔린 생각이다.

“Quadrant”는 그런 Domain-Specific Modeling Language를 위한 Visual Modeling Fw이다. 현재 수준으로도 심각한 버그와 UI 만 잘 다음어 준다면, 고수준의 SQL Server Modeler로 로도 손색이 없겠다. RDB를 Conceptual level에서 기술하고 조작할 수 있다는 것은 엄청난 표현력의 급상승이다. Quarant의 User Interface를 “M”으로 작성하고 만들어내는 Meta-liguistic 설계도 칭찬할 만한다.

Don과 Pink가 주관하는 “M” 세션에도 참여했다. (Constraint-based) Fuctional Paradigm의 언어는 언제나 보아도 명쾌하다. 애매하고 어정쩡한 구석이 없다.

이와 관련된 모든 정보는 이제 여기로, http://msdn.microsoft.com/data

여러모로 재밌는 시도다. 엔지니어로서 나는 이런 기술의 발전에 흥미가 없을 수 없다. 그리고 이론적으로 잘 정립된 방향으로 기술의 발전이 꾸준히 흘러가도 있는 것만으로도 흡족하다.

슬픔은 바로 여기서부터 밀려온다. 이런 얘기를 할 곳도 듣고 싶어하는 사람도 내가 사는 땅에는 거의 없다. Microsoft란 회사에서 투자하며 개발하는 기술이지만서도, 안팎으로 관심은 거의 없다. (우스꽝 스럽게도 여기에 관심을 가졌다가 괜히 쫄딱 망하는 것이 아닌가 하는 별 희한한 걱정을 하는 사람들은 많이 만났다.) 그러기에는 이 바닥에서 그냥 먹고 사는 것만으로도 너무 바쁘다.

소프트웨어 세계 시장에 …은 없다.

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

PDC 2nd day Keynote

{ 오늘의 대박은 솔직히, 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에서

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

이 소식을 전하면서 제가 제일 많이 들을 이야기가 바로 ‘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현지에서 김영욱 이었습니다.

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

작년 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의 인생을 더욱 편하게 만들 가치를 느끼지 못하는 사람은 조금 덜한 바보다. 확신하건데 말이지.

PDC 첫날: 키노트 #3

 

이어서, Bob Muglia 등장. 이 사람 좀 말이 많은 편인데…

(모두가 이미 귀따갑게 들어온) Cloud Computing 시대의 도래를 세삼스레 되짚는다. (혹시 혼자만 모르고 있었던 것은 아닐까? :) ) Microsoft가 어마어마한 투자를 아끼지 않고 있는, Cloud Application Model의 특성들. Microsoft 만의 전유물은 아니겠지만, Model-Driven 방식의 SW 개발 방식과 Distrbuted Operating Environment와 결합되었을 때 가장 효과가 두드러질 수 있는 Staged Production이란 말이 가장 또렷하게 내 눈에 들어오는 것은 어쩔 수 없는 일이다.

과연 SOA를 딛고 Cloud Application Model이 차세대 Programming Model의 주류로 성장할 수 있을까? 그런 날이 오기야 오겠지만, 모든 개발자들에게 일반화되고 주류가 받아들여질 때까지는 분명 시간이 필요하다. 시장의 현재는 기술의 논리가 범접하지 못하는 영역이고, 기술의 높낮이가 영향을 미치기 힘든 거친 곳이다. 모두가 아는 얘기. 하지만, 잊지 말아야 할 것은, 시장의 흐름은 분명히 커다란 기술의 논리 또한 철학의 지배 아래 있다. 그리고 그 누구도 거역하기가 어렵다.

이윽고, Don과 Chris가 등장. 약간 구름 뜬 분위기를 진정시키면서 간단한 C 코드로 심지어 __asm 까지 유머스럽게 섞어가며 몇 줄 짜리 CGI apps를 실제 만들어, SQL Azure와 연동하는 것까지 보여준다. Cloud Application Model이 얼마나 많은 그리고 다양한 Application Model을 받아들일 수 있는지, 그리고 기존의 개발 기술 경험과 이질적이지 않은 지를 보여주려는 듯. 기술 도입의 진입 장벽을 없애려는 Microsoft의 노력이 눈물겹기까지 하다. 어쨌든, 경쾌한 느낌의 얘기를 이어 나간ㄷ. 역시 실제로 뭔가 만드는 일은 언제나 또렷하고 신선하다.

다시 Bob이 등장, Kelly Blue Book, 뭐 나로서는 뭐하는 회사인지 알바 없지만, Silverlight와 SQL Azure가 결합된 엄청난 양의 Data-Centric Application을 예로 들면서, On-premise DB와 Cloud DB 사이의 Syncronization이 완전히 지원됨으로서 Private / Public Cloud 상의 연동/연계/호환 대한 문제점 – Data Service, Service Buz, Access Control 등을 하나씩 짚고 넘어가며 해결책을 제시하고 있다.

그 가운데 하나로, 실제 Online Auction Apps를 데모로 보여주며, Connectivity 문제의 해결책을 제시한다. 즉, 클라우드 Apps에 연결되었던 Private DB cloud가 연결이 안된다는 가정하여, SQL Connectivity Agent로 연결 방향을 단순히 SQL Azure 상의 동일한 DB Service Block으로 바꾸는 것만으로 Azure apps이 정상 동작함을 시연하다. 그 역인 상황된 마찬가지 겠다.

이윽고 Visual Studio 2010, .NET 4 등의 Fw 얘기를 자연스럽게 Windows Azure와 연계하며 이야기를 옮겨간다.

Microsoft Architect인 Douglas Purdy란 사람이 등장.. (이 빡빡이는 누구신가?)

결국 작년부터 돌고 돌던 이야기, Windows Azure와 거의 동일한 수준의 Application Service Fabric 기술이 Server 제품군으로 나올 것인가 하는 것의 정체가 드러난다. 이름하여 Windows Server / AppFabric 기술이 2010 PDC에 Beta Announce되고, 이어서 동일한 AppFabric 서비스 모델을 2010에 Windows Azure에 탑재하여 장기적으로 private cloud C(data center)와 public cloud (Windows Azure Platform) 사이의 기술적 차이를 완전히 없애고, 동일한 개발자 경험을 완성하겠다는 의지겠다. (좋은데, 하겠다면 좀 빨리 좀 하시라. 때 놓치지 말고.) 신현석 부장과 내가 올해 초쯤 나올 것을 기대하고 있던 것인데, 말이지.

키노트에 이어 “OLSO”를 보고픈 마음에 Don Box와 Chris가 진행하는 세션을 향했으나, 이거 웬일, 이 세션, 인기 없을 줄 알았더니, 꽉차서 못 들여 보내준덴다. 여기와서 가장 기대하던 세션 하나를 놓쳤으니 이거 실망이 이만 저만 아니다.

뭐 하긴, 그래서 내가 지금 이렇게 글을 쓰고 있는 게지. 이제 점심을 먹으러 가야 겠다. 참!!!! 이번 PDC에서는 아침도 공짜로 주지 않는다!!!! 뭐, 차라리 다행인듯?

[끝]

PDC 첫날: 키노트 #2

사실, Windows Azure Platform의 거의 모든 것이 작년 PDC에서 모두 드러났다. 올해는 성숙된 모습은 물론 좀 더 시장에 확신을 심어주어야 한다.

이번 PDC에서 특히 강조하는 서비스 블록은, Microsoft SQL Azure다. 흔히, 일컫듯이 Database as a service로서 품결과 안정성, On Premise와의 연계성 등을 강조한다. 적어도 그림은 좋다. 작년에 처음 발표되었을 때는, REST-based Access만 제공되다가 몇 달 후 Migration 시의 Architecture나 Code 변화를 가능한 줄일 수 있도록 TSQL 방식, 즉 평범한 SQL Query 방식의 Accessibility 가질 수 있도록 확장된바있다. 그리고 오늘 ADO.NET, PHP/JDBC 등의 거의 산업에서 현존하는 거의 모든 가능한 Database 연결 기술 스펙트럼을 갖추어 명실상부한 Cloud database라는 사실은 확정지으려는 욕심을 드러낸다.

좋은 모습이다. 개발성과 상호운용성은 좋은 일이다. 폐쇄성과 배타성은 기술 역사를 돌이켜 다 한 번도 성공한 적이 없다. 생각해 보면 너무나 당연한 일이다.  

이윽고, WordPress의 Founder, Matt Mullenweg가 등장한다. 전세계에서 가장 유명한 블로그 엔진가운데 하나이자, 미려한 테마로도 유명한 블로그 서비스 회사 가운데 하나다. 뭐 우리 나라 처럼, 국내 블로그 서비스가 독특하게 강력한 나라에서는 그다지 덜 알려기지 했지만, mysql, apache 등과 찰떡 궁합을 자랑하던 서비스를 Windows Azure Platform으로 옮겨서 서비스하는 모양을 보여줄 작정인가 보다. 의도야 불을 보듯 뻔한 것. 그러나 뭐 밉지 않은 재롱이다. 결국, Windows Azure Storage Plugin for Wordpress Blog Service 같은 것을 만들어서 잘 돌아간다는 것을 보여주는 데모.

그나저나 Windows Azure 쓰는 세계 유수 기업 가운데 Doosan이 등장하는 것은 무슨 일인가? 내가 모르는 사이에 그런 큰 건이 생길 건수가 나오기 어려운데… 어찌된 일인지 알아봐야 겠다.

  1. (오!) 드디어 못들어 보던 새로운 서비스가 하나 나온다, 이른바 Microsoft Pipoint. 한다미도 SaaS 제품을 위한 Open Online Market Place. 다양한 SaaS 제품을 온라인으로 구매하고 관리할 수 있도록 할 모양.  
  2. 그리고 그 가운데, Codename “Dallas”를 소개. 모든 종류의 데이터를 SaaS 방식 즉, Contents-as-a-Service 방식으로 판매하는, 새로운 Service 제품을 선보인다. 뭐, 아직은 CTP. 즉 Microsoft가 수많은 Data Source 공급 업체의 통합 연계상(Dealer)을 해보겠다는 생각. 전세계 수많은 디지털 데이터 생산자가 있고, 이런 데이터를 마치 SQL Azure 위에 심어서 RDB-as-a-service의 장점 위에 Contents-as-a-Service를 펼쳐보겠다는 욕심.

요약해서 Windows SQL Azure가 Database-as-a-service 플랫폼이라면, “Dallas”는 그 속을 채우는 콘텐츠.

그리고 갑자기 등장하는 미 연방 정부 CIO. (생김새가 너무 시골틱한 젊은 사람이라 미소를 짓고) NASA의 천체 탐사 3차원 사진을 SQL Azure DB 방식으로 검색하는 서비스를 제공한다는 이야기. 그리고 좀 정치스런 따분한 이야기. 아, 내가 행사장 모든 의자에 입체 안경이 놓여 있었다는 얘기를 했던가? 검색된 3차원 사진을 보라고 입체 안경을 나누어 준 셈인데.. 반응은 글쎄다. 나중에 아이들이랑 보면 잠시 즐겁기는 하겠다.

[계속]

PDC 첫날: 키노트 #1

 

Ray Ozzie가 나타났다. 작년보다 훨씬 줄어든 듯 보이는 행사장. 그럼에도 키노트가 시작될 즈음, 어디에 숨어있다 나오는 것인지 수많은 사람들이 꾸준히 조그만 강물처럼 이내 행사장을 거의 꽉 채웠다. 키노트만큼은 작년 분위기에 견주어도 그다지 손색이 없는 듯.

사실 작년 PDC는 너무 많은 새로운 것들을 한꺼번에 쏟아냈다. 따라서 신선한 감이 많이 떨어지는 것이 사실이라, 오늘 Ray를 비롯한 이들이 새로운 기술에 대해 어떤 이야기를 들여줄 것인지 내심 궁금하다.

우선, 현재 마이크로소프트가 힘을 쏟고 있고 시장에서 긍정적인 반응을 얻어내고 있는 기술과 제품들을 골고루 언급한다. 이어 처음으로 등장하는 게스트, seesmie의 Founder인 Loic이 등장하여 Silverlight로 개발한 Rich Client를 보여준다. 이른 바 seesmie for windows 버전을 공개한다. ( 구글 판은 나온지 이미 좀 되었다. ) 다소 뒷북스런 데모에 좀 썰렁한 박수 소리.

솔직히 twitter 같은 활동을 그다지 즐기지 않는 나로서는 그다지 큰 개인적 감흥은 없다. 이런 류의 web service 들이 동아리 컴퓨팅(Social Computing)의 본류를 만들어 가고 있다는 것은 알지만, 1990년대 인터넷 초창기로부터 시작해 지금을 걷고있는 엔지니어에게는 강물에 뜬 부유물처럼 웬지 가볍다는 느낌을 주기도 하고 상당히 식상하기도 하다. ( 키노트가 이미 시작되었는데도 사람들이 계속 들어오며 자리를 찾아 헤멘다. )

사실 Silvelight의 가장 큰 기술적 도전은, .Net cprogramming model을 Web으로 확장했을 때, 얼마나 기술 공동체의 환영을 받을 수 있느냐는 것이고, Windows Azure 역시 .NET Programming Model을 cloud application model로까지 확장을 하여, 개발자 생태계를 유지하고 확장하겠다는 기술 전략으로 해석할 수 있다. Java 역시 같은 길을 걸어왔으며, 요사이 모두가 이런 식으로 자사의 기술 생태계를 지키고 늘리는 방식을 따르고 있다. 이른바 ecosystem 방식. Microsoft의 이러한 ecosystem 확장 작전은, 그 누구도 쉽사리 성패를 논하기 어렵다. 이 바닥은 여전히 전쟁중이다. 

이제 Cloud Computing과 3 Screens 얘기가 시작된다. 그리고, Ray Ozzie의 트레이드 마크와도 같은 S+S. 간단히 Azure와 관련된 Roadmap을 요약한다.

Oct 27, PDC2008에 처음으로 발표한후, Nov 17th pdc09 즉 이번 행사에 정식 서비를 발표하고, Jan 1st에 정식  Production이 시작되며, Feb 1st에 Billing이 가능하다는 이야기. 중요하지만, 관심은 덜가는 Production map. (빨리 좀 더 재밌는 기술 얘기를 들려달란 말이야!)

이윽고 이미 공표한 바와 같이, zendframework, mysql, java, php, eclipse 등, 흔히 Microsoft와 경쟁 기술이라는 일컫는 다른 기술들과 Interoperability를 제공한다는 메시지를 심어주려는 정성이 엿보인다.

[계속]

실험….

아침 일찍 PDC 등록을 하러 나서야만 했다. 갑작스레 본사 Windows Azure Platform 팀과 주요한 고객 방문 팀과 만남을 주선해야  했기 때문이다. 본사 측에서 LA의 유서 깊은 밀레니엄 빌트모어 호텔에 회의실을 잡아준 것까지는 고마운데, 정확히 방 번호나 시간을 제대로 잡아주지 않아서 아침부터 부산을 떨어야 했다. 프로젝트 조차 없다니. 다행히, 이병윤 부장의 무대포(?) 정신에 힘입어, 미팅 시간이 가까워서야 겨우 모든 문제가 해결되었다. 역시 나는 이런 일 처리 방식을 좀 익혀야 할 필요가 있다. 소식을 듣자마자 샛노란 택시를 하나 잡아타고 손쌀 같이 Los Angeles Covention Center에서 만남의 장소로 이동. 뭐 나름 박진감 있는 하루일 것 같지만, 오늘은 PDC 사전 웍샵이 있는 날, 적쟎이 돈을 내고 등록을 했는데, 이를 어쩌란 말인가.

부쓰에 물어봐도 취소가 안된다는 갑갑한 대답뿐. 빨리 만남을 마치고 돌아오는 수 밖에.

다행히, 12시에 행사측에서 마련한 점심에서 아침에 해어졌던 동료들을 모두 만날 수 있었다. 장현춘 부장과 김영욱 차장은 Architecturing and Develping for Windows Azure에, 나는 Software in the Economy 웍샵에 참여하였다. 한데, 내가 선택한 세션에는 사람이 거의 없다. 분위기도 음침, 우중충 그 자체. 다른 세션도 그 다지 차이가 없는 모양. 확실히, Windows Azure Platform 과 Windows 7 및 Silverlight와 관련된 주제에 사람이 몰리는데, 그 가운데서 Azure 관련 세션에 가장 많은 사람이 자리를 떠나지 않고 오후까지도 자리를 지키고 있다.

본전 생각이 간절하던 나 역시 여기 저기를 기웃거리다, 본디 등록했던 주제를 버려두고, 동료들과 함께 Azure 관련 세션을 경청하기로 했다.

실제 개발 경험을 바탕으로 상당히 깊고 실용적인 문제 거리들 – SQL Azure를 포함하여, Azure가 제공하는 blob, table, queue 등의 (vertical/hosrizontal) Partitioning, Distributed Concurrent Processing을 활용하여 Service Contention을 와해하기 위한 테크닉 등을 “표 구매 서비스(Ticketing Service)”을 예제로 들어 설명하니 나름 볼만하다. Dynamic DB/Storage Partitioning and merging 기법에 대한 예시 그렇고, Compute 나 Storage의 과금이 어떻게 이루어지는 지 등을 10시부터 지금까지 소개 중이다. 이 사람 체력이 만만치 않다.

세션이 끝난다음 자료와 예제 소스를 내려 받을 수 있는 곳을 가르쳐 준다니 적쟎이 귀한 자산이 되기는 하겠다.

아무리 내용이 좋다해도, 하루 종일 이어지는 강행군 웍샵. 과연 졸지 않고 끝가지 버틸 수 있을까? 돌아보니 아니나 다를까 장현춘 부장과 김영욱 차장의 얼굴에 피로기가 역력하다. 어? 이병윤 부장은 도데체 어디로 갔지? 내 눈 까풀도 점점 무거워 진다.

 

2009년 11월 16일 LACC에서 Architecturing and Develping for Windows Azure 웍샵 장소에서

PDC 09 로스엔젤레스 실황 LIVE Twitter로 만나세요

지금 미국 로스엔젤레스에서 열리고 있는 개발자를 위한 최대 컨퍼런스인 PDC09 소식을 Twitter를 통해서 전달해 드리고 있습니다.

@winkey http://www.twitter.com/winkey <== 여기서 Follow 하시면 됩니다.

PDC는 작년에도 Windows 7, Windows Azure와 같은 대박 아이템들을 터트리면서 명실 상부한 Microsoft의 최신 기술을 공개하는 자리가 되고 있으며 규모와 이슈 면에서 단연 최고의 행사 입니다.

올해는 Windows Azure의 정식 버전 런칭, Visual Studio 2010을 통한 새로운 개발 패러다음의 전달등이 모두 예정 되어 있으며 아직 공개하지 못하지만 또 웹과 관련한 큰 이슈를 스캇 구슬리를 통해서 발표될 예정입니다.

궁금하신 분들은 지금 Follow 해주세요 ^^

Windows 7 Migration Guide가 나왔습니다.

Windows 7을 여러 회사에 적용하면서 얻어진 노하우를 집약한 문서가 나왔습니다. 60Page로 구성된 이 분서는 어플리케이션 호환성 확보 전문 업체인 네오플러스에서 작성되었습니다.

호환성 이슈는 많은 경우가 있긴 하지만 결과적으로는 몇 개의 중요한 이슈로 내용이 정리 될 수 있습니다. 본 문서는 이런 이슈들을 잘 정리하고 있으며 국내 사례를 바탕으로 정리되어 있기 때문에 매우 유용한 자료 입니다.

  Windows_7_Migration_Guide_final.pdf

1. Windows 7........................................................................................................................... 3
1.1 Windows 7의 소개 ............................................................................................................................................................. 3
Windows 7의 특징 ................................................................................................................................................................................. 3
1.2 Windows 7 준비하기 ............................................................................................................................................................................ 5
2. Windows 7과 호홖성 ................................................................................................................................................................................... 6
2.1 주요 변경 사항 및 발생 이슈......................................................................................................................................................... 6
2.2 호홖성 완화를 위한 방법 ................................................................................................................................................................ 10
Windows 7의 주요 변경 사항 & 호홖성 확보 방안 ......................................................................................................... 12
2.3 응용 프로그램의 호홖성 확보 조사 ........................................................................................................................................... 13
ACT로 응용 프로그램 호홖성 조사 ............................................................................................................................................. 13
Microsoft Windows 7 Compatibility Center에서 호홖성 확인 ........................................................................................ 13
3. 호홖성 테스트 ................................................................................................................................................................................................ 14
호홖성 테스트 젃차 .............................................................................................................................................................................. 14
3.1 준비 단계 ................................................................................................................................................................................................. 14
3.2 테스트 단계 ............................................................................................................................................................................................ 15
3.3 원인 붂석 및 문제 해결 .................................................................................................................................................................. 21
3.4 재 테스트 단계 ..................................................................................................................................................................................... 22
3.5 앆정화 단계 ............................................................................................................................................................................................ 22
4. Windows 7 배포 ........................................................................................................................................................................................... 23
4.1 Windows 사용자 홖경 젂송 ........................................................................................................................................................... 23
4.2 Windows 7 설치 ................................................................................................................................................................................... 28
4.3 응답 파일을 이용한 Windows 7 자동 설치 ........................................................................................................................... 31
4.4 표준 이미지 생성 방법..................................................................................................................................................................... 32
4. 부록 ............................................................................................................................................................................................................... 33
4.1 Windows PE 만들기 ............................................................................................................................................................................ 33
4.2 ACT 구성하기............................................................................................................................................................................................... 35
4.3 응용 프로그램의 테스트 체크리스트 ........................................................................................................................................ 41
4.4 웹 기반 응용 프로그램의 테스트 체크리스트 ....................................................................................................................... 42
4.5 주요 호홖성 문제 사례..................................................................................................................................................................... 43
Windows 7 마이그레이션 가이드
4.6 Unattend.xml .......................................................................................................................................................................................... 55
4.7 이젂 욲영체제 백업하기 .................................................................................................................................................................. 58
4.8 ImageX로 이미지 복원..................................................................................................................................................................... 59

PDC를 기다리며

 

(이 글은 하루 지난 담에 올리는 글, 아무쪼록 용서해 주시길)

PDC 등록이 시작 되기 하루 전 날 호텔 방 책상에서 글을 써볼까 창을 열었다. PDC 동안 한 방을 나눠쓰는 박부장은 일어나자 마자 본 업(?)에 충실하기 위해 번개 같이 가방을 꾸리가 방을 나선다. 그야 말로 강행군이다.

나는 그 사이에 품질에 의심에 가는 물(?)을 떠다가 LavAzza 원두 커피를 받아 내렸다. 박부장 바지런 떠는 걸 보니, 커피 두 잔은 나 혼자 다 먹어야 할 셈이다. 그럭 저럭, 호텔 방에서 커피 마시며 담배 몇 대를 피고 있노라니 오래 전 독일에서 잠시 머물때 느꼈던 유럽에서의 아침 기분을 잠시 느낄 수가 있다.

PDC 얘기에 무슨 신 소리를 이렇게나 많이 주절 거리는지.

어쨋거나, 이 번 PDC에 주된 주제는 뭐니 뭐니해도 Windows Azure Platform 이다. 작년 PDC에서 이미 한 번 떨쳐 울린 주제라서 한 참 신선한 물이 빠져버린 발표겠으나, 어쨌거나 분명히 정식 서비스를 위한 발표라는 점은 적쟎이 중요한 이정표다. 기술 관점에서 시장에서 나와 있는 유사 기술 가운데 가장 완성도가 뛰어난 클라우드 서비스 플랫폼이라는 사실에는 의심할 바가 없다. 하지만 기술적 완성도가 시장에서 성공과 일치지 않는다. 시장은 관성, 필요, 수익 이라는 적어도 세가지 요구가 한 데 만나야 시장의 논리는 전혀 다른 방식으로 돌아간다.

분명 이 이정표는 지금까지 마이크로소프트가 내놓은 새로운 운영체제 Windows Azure와 그 플랫폼 Windows Aure Platform의 시장 성공을 측정할 수 있는 먼 길에 첫번째 이정표가 될 것이다. 개인적으로 나는 이 기술이 크게 성공하기를 바란다. 새로운 시도가 그 첫번쨰 시도에서 좌절되면, 시장이 진보된 기술을 다른 모양으로 다시 받아들이기 까지 적쟎은 세월이 걸리기 때문이며, 그로 인해 기술의 본질적인 발전은 더뎌지게 된다. 누구도 한 동안은 그 같은 모험을 기꺼이 수용하려 하지 않을 것이다.

이번 PDC는 Windows Azure Platform과 Silverlight 4 등 적쟎이 중요한 플랫폼과 관련 기술에 대한 논의가 있을 예정이다. 주요 제품 가운데 Windows 7이 이미 전 세계 적으로 큰 행사를 치룬 뒤고, 사회적으로는 신종 플루 등의 급속한 확산도 적지 않은 영향을 주어서인지, 작년 동일 행사에 비하자면 훨씬 더 스산해진 느낌을 지울 수 없다.

사실, 내가 굳이 몇 사람을 꼬득여 여기까지 날아온 까닭은 순전히 엔지니어로서 가진 욕심이다. 지금 맡은 일에서 내가 가진 본질을 유지하기란 쉽지 않지만, 적어도 여기서 만큼은 내 본디로 돌아가서 일과 밥벌이를 벗어나 오랜만에 기술 그 자체의 가치 만에 집중을 해볼 참이다. (과연 그럴 수 있을까?)

두서 없는 글을 정리하며

2009-11-15일, LA Hilton Checkers 호텔 방에서

실버라이트 3(Rich Development Guide) 서적 출간 기념 세미나

정말 좋은 실버라이트 3 세미나가 있어서 소개 합니다.

실버라이트 코리아 커뮤니티에서 운영진이 집필한 실버라이트 3 서적 출간 기념 세미나 입니다.

실버라이트 3 세미나도 듣고, 실버라이트 3 서적도 30%나 싸게 구입할 수 있는 좋은 기회 입니다.

먼저 출간 된 RIA in 실버라이트 3 책과 더불어 참고할 만한 좋은 실버라이트 3 서적이네요. :)

 

웹서버 관리 자동화에 대한 단상 - 명령 프롬프트, 파워쉘 스크립팅과 WMI & MWA

안녕하세요. IISKOREA 팀블로그의 김대우 입니다. 이번에 같이 고민해 보고 싶은 내용은 지난번의 포스팅에 이어서 두번째, 바로 “웹서버 관리 작업 자동화”에 대한 내용으로 포스팅을 풀어 보려고 합니다.
지난 포스트를 통해 IIS7의 다양한 설치/구성/관리/배포 기능 및 도구 소개 - 관리 및 배포 툴에 대해서 이야기를 드렸는데요. 이번에는 관리 자동화 툴에 대해 초점을 맞춰 단상을 정리해 보려고 합니다.

IIS는 이러한 관리작업 자동화를 위해 여러가지 도구들을 제공하는데요. – 당연히 IIS 관리자는 GUI툴이니 자동화 도구라고 할 수 없겠죠?(설마, 현업에서 말하는 인간 자동화???) ^_^;;;

image 
이렇게 IIS의 구성 정보를 담고있는 XML 파일을 수정하는 방법이지요. 특히, 자동화를 위해서는 파워쉘과 명령 프롬프트의 AppCmd를 이용하는 것이 하나의 방법이 되실 겁니다.

IIS의 자동화를 위해서는 크게 세가지를 보시면 될 것 같습니다.
(1) 파워쉘(Power Shell)
(2) AppCmd 명령 프롬프트 처리
(3) WMI(Windows Management Instrumentation)와 MWA(Microsoft.Web.Administration) API

GUI 관리 툴일 경우 여러 단계를 거쳐야 하는 작업들을 이 자동화 툴들을 이용하면 스크립트화 시켜주기 때문에 유용한데요. 조금만 더 알아 보도록 하면

(1) 파워쉘 – IIS 7용 파워쉘 스냅인을 이용 가능합니다.
image
- 강력하고 심플함 : 매우 복잡한 관리 작업들을 키워드 기반 프로그래밍 명령어들로 자동화 시킬 수 있음
- 오브젝트 기반 : 여러 오브젝트들을 호출해 스크립트에서 작업 가능
- 심플하고 강력한 명령줄 기반 인터페이스 : 복잡한 스크립트를 명령줄 기반으로 제작해 안전하게 테스트도 가능
- 시스템 통합 : .NET Framework나 WMI 확장기능, 레지스트리 등에 대한 호출 및 처리가 가능
- 안전 최우선 작업 가능 : 인승서 기반의 사인된(Signed) 스크립트를 지원해 안전하게 여러 작업을 제한 가능함

참고자료 :
Managing IIS with the IIS 7.0 PowerShell Snap-in
Windows PowerShell Snap-In

(2) AppCmd 명령 프롬프트
image 
이 AppCmd가 생소한 분들도 계실 것 같은데요. 이런 형태의 명령 프롬프트에서 수행하는 작업으로 웹사이트 제작, 응용프로그램 풀 바인딩 등의 작업을 손쉽게 처리 가능합니다. 이녀석은 어떤 장점이 있을까요?
- 웹사이트, 웹 어플리케이션, 응용프로그램 풀, 가상 디렉토리를 생성하고 구성할 수 있음
- 웹사이트 시작, 중지 명령을 수행 가능하며, 응용프로그램풀을 리사이클링 시킬 수 있음
- 수행중인 작업자 프로세스에 대한 리스트와 현재 실행중인 요청에 대해서 조회 가능
- IIS와 ASP.NET 구성 정보에 대해서 조회, 출력, 내보내기(Export), 가져오기(Import)를 수행 가능

참고자료 :
AppCmd.exe 소개
ABC's of Appcmd (command line administration in IIS7)

AppCmd도 이렇게 여러가지 명령줄 기반 자동화 작업을 수행이 가능합니다. 그렇다면 갑자기 드는 생각인데요. 파워쉘과 AppCmd의 차이는 어떻게 설명이 가능할까요?
- 파워쉘은 오브젝트 기반으로 더욱 유연하고 복잡한 관리 작업들을 수행 가능합니다. 또한 파워쉘은 .NET Framework나 WMI 확장 API를 접근 가능하고 높은 보안성을 요구하는 복잡한 스크립트 작업을 실행 가능합니다.
- AppCmd는 파워쉘에 비하면 심플하고, IIS 관리를 위한 기능들에 초점을 맞춰 실행이 가능합니다. 바꿔말하면, 파워쉘과 같은 강력하고 복잡합 스크립트 기능은 이용이 불가능합니다.

이렇게 두가지, 관리자 분들이 선호하시는 자동화 관리 툴에 대해서 알아 보았습니다. 개인적인 소견으로 파워쉘이나 AppCmd는 개별 서버 기반에서 작업하거나, 관리하는 서버의 수가 5~10대 미만이라면 이용 가능하겠으나, 수십 수백대의 서버를 유지 관리해야 하는 호스팅회사와 같은 경우에는 관리 작업이 쉽지 않을 겁니다. 이럴때 이용하는것이 바로 MWA와 WMI를 이용해 직업 각 회사에 맞는 작업을 처리 가능한 관리 프로그램을 제작하는 것이지요. 왜 MWA와 WMI가 필요한지는 감 잡으셨는지요? 그렇다면, MWA와 WMI와 같은 관리 프로그램 제작을 위한 API들에 대해서 알아 보도록 할까요?

(3)  WMI(Windows Management Instrumentation)와 MWA(Microsoft.Web.Administration) API
먼저 WMI를 소개해 드리고 이어서 MWA를 이야기 드리려고 합니다.
WMI로 수행할 수 있는 작업
- 웹사이트 생성
- 전체 웹사이트 조회
- 웹사이트 중지, 시작
- 웹사이트 삭제
- 웹사이트 인스턴스 및 어플리케이션 인스턴스 관리
- 어플리케이션 도메인 관리 및 작업자 프로세스 관리
즉, IIS와 관련된 다양한 작업들을 이 WMI를 이용해 모두 프로그래밍적으로 자동화 처리가 가능합니다.
참고자료 : Managing Applications and Application Pools on IIS 7.0 with WMI

그렇다면 MWA는 어떨까요?
MWA를 보시기 전에 - IIS는 XML 구성 파일(applicationHost.config 파일과 web.config 파일)에 대해서 개발사가 자신의 커스텀 구성 섹션을 이용 가능하도록 허용하고 있습니다. 개발사는 이 영역에 기술된 구성 정보를 프로그래밍적으로 가져와 처리할 필요가 있을 수 있는데요, 이때 사용 가능한것이 바로 MWA API입니다.
참고자료 : Overview of MWA and MWM for IIS 7.0
참고로, 파워쉘을 이용해 WMI나 MWA 오브젝트를 호출해 속성 등을 불러와 파워쉘 스크립트로 처리하는 작업도 가능합니다.

이렇게 간단히, 웹서버 관리 자동화에 대한 내용을 정리해 보았습니다. 개인적으로는 좀더 욕심이 있어서, 호스팅회사가 처리해야할 자동화 작업 목록이나 기술 명세가 있다면 한번 마음 맞는 분들끼리 관리 툴을 오픈소스로 만들어 보는 것도 하나의 좋은 시도가 아닐까 생각됩니다. ^_^

감사합니다.

참고자료 : Provisioning Options in IIS 7.0

IIS의 다양한 구성/관리/배포기능 소개

안녕하세요. IISKOREA 팀블로그의 김대우 입니다. 이번에 소개해 드릴 내용은 어플리케이션 개발자 / 관리자 분들이라면 모두가 고민하는 웹 어플리케이션의 구성/관리/배포에 대한 내용입니다.

단순히, 웹사이트 설치나 웹사이트 이전, 백업 하는 정도라고 생각하기 쉽습니다만, 웹사이트 및 응용프로그램들이 가지는 다양한 종속성(Dependency)등에 대한 고려와 시스템 / 웹사이트에 대한 설정까지 다양한 환경이 정확히 생성/관리/배포 되어야 하기 때문에 관리 작업에서 가장 어렵고 시간이 많이 소요되는 힘든 과정이 바로 이 구성/관리/배포가 아닐까 생각합니다.

또한, 한 두대의 웹서버를 관리하시는 분들부터, 5~10대의 서버를 관리해야 하는 경우, 또는 수백대의 웹서버를 자동화 기능들을 통해 관리해야 하는 호스팅사까지 다양한 환경에 맞는 스크립트나 배포 도구, 또는 필요할 경우 배포나 유지관리를 위한 툴을 직접 제작해야 하는 경우까지, 다양한 환경에 맞는 기능을 선택하는 것도 필요하실 겁니다. 이런 비지니스 구조, 환경에 맞는 툴들이나 방법은 어떻게 선택해야 할까요?

예를 들어, 한 서버에서 대략 300개 정도의 운영 중인 웹사이트에 하드웨어 적인 장애가 발생해 다른 시스템으로 이전해야 하는 상황이 발생하는 (웹호스팅) Shared Hosting 환경이라면 어떨까요? 더더욱 자동화된 배포나 이전, 백업 등에 대해서 고민하시게 될겁니다.

이 복잡한 작업들을 어떻게 쉽고 빠르게 해결 가능할까요?
IIS7은 여려 배포를 위한 훌륭한 기능들을 제공하고 있는데요. 그 배포 기능들을 차례대로 소개해 드리려고 합니다. ^_^

IIS의 다양한 배포 도구

(1) 웹 플랫폼 설치 관리자 – WPI
image
웹플랫폼 설치 관리자는 설치 과정을 GUI로 쉽게 구성 가능하도록 돕는 도구 입니다. 특히, Dependency가 있는 웹 어플리케이션을 자동으로 설치하거나, 관리툴, 개발도구, 다양한 확장기능들을 설명과 함께 선택이 가능하기 때문에 유용한 도구 입니다.
- 가장 손쉽고 자동화된 설치 환경 제공
- 국내&전세계의 다양한 웹 어플리케이션 기본 탑재
- 웹서버/데이터베이스서버/프레임워크/도구들을 설치 가능
- 웹 어플리케이션 설치시 종속적인 웹서버 기능이나 데이터베이스 기능들을 자동 설치
WPI 기술소개 링크 : http://www.iis.net/webpi 
WPI 다운로드 : http://www.microsoft.com/web/downloads/default.aspx
웹플랫폼 설치 관리자는 단순한 배포 도구를 넘어선, 훨씬 중요한 역할을 Microsoft 웹 플랫폼 아키텍쳐와 관련해 수행하게 되는데요. 관련해서는 따로 상세하게 소개해 드릴 예정이니 도움 되시길 바랍니다.

(2) 웹 배포 도구 – Web Deployment Tool
image
웹 배포 도구는 웹사이트나 웹서버에 대해서 배포를 가능하게 돕는 IIS7의 확장기능(Extension)입니다. 특히, IIS6에서 IIS7으로의 마이그레이션이나 구성파일 패키징 기능을 지원하기 때문에 다양한 웹사이트 구성을 쉽게 이전이 가능한 특징이 있습니다. 여러대의 서버를 관리하는 경우라면 이 웹 배포 도구가 많은 도움이 되실 겁니다.
링크 : http://www.iis.net/extensions/WebDeploymentTool
- 패키징 기능으로 전체 웹사이트 파일, 포함된 데이터베이스, 권한 및 레지스트리정보 등을 패키지 가능
- IIS6를 IIS7으로 손쉽게 마이그레이션 가능
- 서버간 동기화(Synchronization) 가능
- IIS Manager와 연계해 이용 가능
웹 배포 도구 관련된 내용 역시 곧 포스트를 통해 상세히 전달해 드릴 예정입니다.

(3) IIS7의 파워쉘(Power Shell) 부가기능
파워쉘은 윈도우서버에 대해서 관심있는 분들은 잘 알고계시는 기능일텐데요. 윈도우 서버의 다양한 작업들을 파워쉘을 이용하면 모두 스크립트로 자동화가 가능한 것처럼, IIS7도 파워쉘을 이용해 모든 기능들을 스크립트화 시킨 후 웹사이트 생성부터 유지관리까지의 작업을 스크립트로 자동화시켜 실행 가능합니다. 다수의 웹서버를 관리하실 경우에 유용하며, 호스팅 환경 등에서도 활용 가능합니다.
- IIS7의 구성 정보들을 파워쉘 스크립트로 관리
- 웹사이트, 응용프로그램 풀, 웹응용프로그램, 가상디렉토리, 작업자 프로세스 등을 관리 가능
- 파워쉘의 다양한 스크립팅 기능으로 대규모의 복잡한 IIS 관리 기능을 처리 가능
- 파워쉘 2.0의 원격 기능을 이용해, 원격 서버를 파워쉘로 제어 가능
마찬가지로, IISKOREA 팀블로그에서 이 파워쉘을 이용한 유지 관리도 준비하고 있으니 기대해 주세요.

(4) 프로그래밍 API를 이용한 사용자 정의(Custom) 배포/관리툴 제작을 위한 기능
API를 이용한 방법은 자신이 소속된 회사에 적합한 패턴의 웹서버 생성, 관리 및 배포를 위한 프로그램을 직접 제공되는 기능을 이용해 제작 가능하게 합니다. 즉, 수백대가 넘는 호스팅사와 같은 IIS 웹서버 관리에 필요한 기능들을 이 제공되는 프로그래밍을 위한 API로 제작해 회사에 맞는 관리/배포를 위한 프로그램 직접 생성 가능하게 합니다. – 이미 나와있는 관리 솔루션들도 있지요.
WMI(Windows Management Instrument)
http://learn.iis.net/page.aspx/163/managing-applications-and-application-pools-on-iis-7-with-wmi/
Microsoft.Web.Administration
http://learn.iis.net/page.aspx/165/how-to-use-microsoftwebadministration/

자~ 이렇게 IIS는 비지니스 방식과 운용 규모 등에 맞는 다양한 관리/배포 도구를 제공하고 있습니다. 각각의 기능들에 대해서는 차후에 IISKOREA의 팀블로그를 통해 계속 소개해 드리도록 하겠습니다.
감사합니다.

More Posts Next page »
Page view tracker