728x90
최근 클라우드 컴퓨팅이 큰 화두입니다. 구글의 Back-end 시스템이 이미 클라우드로 구동되고 있다는 사실은 너무나 많이 알려진 사실이지요. 국내의 대기업들도 너도나도 클라우드 컴퓨팅에 뛰어 들고 있지만 세계적인 IT 벤더들의 발걸음을 따라가기는 무척 힘든 상황입니다.

마이크로소프트가 클라우드 컴퓨팅에 대응하기 위해서 제공하고 있는 서비스의 이름이 바로 Azure 입니다. Azure 는 웹 서비스로의 Role 뿐만 아니라 일반적인 어플리케이션을 위한 Worker Role 을 제공하고 Storage Service 를 통하여 Back-end 의 데이터베이스 기능까지 충실하게 제공하고 있는 클라우드 플랫폼 입니다.

시대적 흐름에 맞추어 닷넷 개발자 분들도 Azure 에 대응하는 스킬을 익혀둘 필요가 있을 것 같습니다. 저역시 이제 시작하는 단계이지만 Azure 에 올려 서비스 할 수 있는 웹, 워크의 개발을 하나씩 살펴보면서 실제 Azure 환경에 포팅하는 것까지 한번 포스팅을 통해서 공유해 볼까 합니다.

개발환경의 준비 : 비주얼 스튜디오 2010 또는 비주얼 스튜디오 2008 서비스팩 1

비주얼 스튜디오에는 Azure 개발환경이 기본적으로 포함되어 있지 않습니다. 비주얼 스튜디오에서 Azure 개발을 시작하기 위해서는 별도로 제공되는 플러그인을 설치하여 개발환경에 템플릿을 추가해 주어야 합니다. NoPD 는 비주얼 스튜디오 2010 을 사용하고 있으나 비주얼 스튜디오 2008을 쓰시는 분들도 서비스팩 1 으로 업데이트를 하면 동일하게 진행할 수 있습니다.


[ 다운로드 링크 : http://tinyurl.com/2a5qnrt ]

Azure 프로젝트 만들기

Azure Tools 를 다운로드 받아 설치하면 비주얼 스튜디오의 템플릿에 Cloud 라는 항목이 추가 된 것을 확인하실 수 있습니다. Cloud 항목 아래에는 Windows Azure Cloud Service 라는 하나의 템플릿만 존재하고 있습니다. Azure 개발은 Visual C# 으로만 제공하는 것일까요? NoPD 의 경우 Visual C# 만 설치한 상태라 이 부분은 잘 판단이 안됩니다만 다른 닷넷 언어가 안되지는 않을거라 생각됩니다.


프로젝트와 솔루션의 이름을 지정하고 확인을 누르면 아래와 같은 창을 만나게 됩니다. Azure 는 Role 이라는 이름으로 프로젝트를 구분짓고 있습니다. Role 이라는 것은 Azure 클라우드 플랫폼에서 구동되는 하나의 어플리케이션이라고 보면 됩니다. Web 형태의 서비스인지(Web Role) 아니면 데몬과 같은 백그라운드 어플리케이션인지(Worker Role) 등에 따라 Role 이 나뉘게 됩니다. 개발하려는 프로젝트의 성격에 따라 항목을 선택해 주면 됩니다.


우리는 솔루션 단위로 프로젝트를 생성하고 개발하기 때문에 솔루션 안에는 여러가지의 Role 이 있을 수 있습니다. 왼쪽에 나열된 항목들 중 필요한 Role 을 모두 우측의 빈 리스트 박스로 이동시켜 주면 프로젝트에서 해당 Role 을 사용할 수 있게 됩니다.

- NoPD -
728x90
728x90
웹 사이트를 개발할 때 가장 고민되는 부분 중 하나가 페이징입니다. 보통 MS-SQL 에서는 중첩 쿼리를 이용하여 TOP n 스타일의 쿼리를 하는 경우가 많은데, 퍼포먼스 측면에서 아주 쥐약인 경우가 많습니다. 오늘 소개해 드리는 페이징 쿼리는 일단 속도가 그리 느리지 않고 중첩 쿼리에 비해 부하가 적을 것으로 추정(!)하고 있습니다 ^^;

with rn
as
(
select EmailAddress, ROW_NUMBER() over (order by FirstName desc) as rn
  from Person.Contact
)
select FirstName, LastName, rn
  from Person.Contact join rn on Person.Contact.EmailAddress = rn.EmailAddress
 where rn between 5 and 10
with 문을 이용하여 ROW_NUMBER() 로 항목에 넘버링을 한 다음 필요한 구간을 where 절에 기술하여 페이징하는 방식입니다. Execution Plan 으로 봤을 때 비용이 많이 들지 않는 것 같습니다만 실제로 효과가 있는지는 실데이터로 적용해서 돌려봐야할 것 같습니다 ^^ 참고로 위의 예제는 AdventureWorks  샘플 DB 를 사용했습니다.

- NoPD -
728x90
728x90
WPF 는 SilverLight 의 수퍼셋이라고 봐도 무방한 .NET Framwork 3.0 부터 제공되는 컴포넌트입니다. 데스크탑 환경에서 사용자에게 더 나은 UX 를 제공해주는 훌륭한 방법이며 윈도우 7 의 판매가 순조로와 곧 2억개를 넘어서게 되면 그 만큼 .NET Framework 의 보급률도 올라가게 되어 관심을 더 많이 받게 될 기술이 아닌가 싶습니다. 물론 Silverlight out of browser 와의 카니발라이제이션은 어떻게 봐야할지 좀 고민입니다. C# MVP 로 활동중이신 데브피아 김대욱 MVP 의 이야기를 한번 들어보시지요 :-)



- NoPD -
728x90
728x90
engadget 에서 새로운 윈도우 폰 7 시료의 실제 시연 동영상을 공개했습니다. 그동안 공개되었던 다른 동영상보다 높은 완성도를 보여주고 있어서 무척 기대가 됩니다. 많은 분들이 MS 가 생각보다 준비를 잘 하고 있는 것 같다는 이야기들을 해주셨는데, 판단은 동영상을 보시고 각자 하시는게 맞을 것 같습니다! 생각보다 잘해주고 있다는 느낌은 확 드는걸요!?


- NoPD -
728x90

+ Recent posts