저 개인적으로는 오래된 명령줄 인터페이스 기반의 툴을 매우 사랑합니다. 가끔 GUI로 채워지지 않는 부족함을 명령줄 인터페이스 기반의 툴을 통하여 채울 수 있기 때문입니다. 비유하자면 효자손과 같은 존재이지요. :-)

오늘은 그 중에서도 SQL Azure를 관리하기 위한 목적으로 OSQL 도구를 사용하는 방법을 설명하고자 합니다. 요즈음은 SQL Management Studio 덕분에 그 수요가 많이 줄어들었지만, 아직 OSQL 도구가 유용하게 사용될 수 있는 여지는 매우 많습니다. 저의 경우, Sync Framework와 SQL Server Agent를 사용하여 쉽게 동기화할 수 있는 상황이 아닌 이기종 데이터베이스간 데이터 마이그레이션 시나리오에서 매우 유용하게 사용하고 있습니다. C#을 이용하여 실제 데이터를 insert하는 구문을 SQL 스크립트로 덤프를 생성하여 이것을 OSQL 도구에 매개 변수로 전달하는 방법을 선호합니다. BLOB이나 CLOB, 개행 문자를 포함하지 않는 데이터로 구성되어있는 경우 이 방법은 매우 유용한 것 같습니다.

그렇다면 OSQL을 통해서 SQL Azure에 접속하려면 어떻게 해야 할까요? 방법은 다음과 같습니다.

osql -S<your_server>.database.windows.net -U<your_database_id>@<your_server> -P<your_password> -d<database_name>

SQL Azure에 접속하는 방법은 일상적으로 우리가 사용했던 SQL Express Edition이나 SQL Server에 접속하는 방법과 조금 다릅니다. 각 스위치별로 필요한 항목들을 하나씩 살펴보겠습니다.

  • -S 스위치: 접속 대상 서버를 지정합니다. SQL Azure의 호스트 이름은 주로 xxxx.database.windows.net과 같은 형태로 되어있고, 이 부분의 정확한 주소는 SQL Azure Portal에서 확인할 수 있습니다.
  • -U 스위치: 사용자 ID를 지정합니다. 통상 사용하는 SQL Server와는 다르게, 사용자 이름 뒤에 서버 이름을 명시적으로 @ 기호와 함께 지정해야 합니다. 예를 들어, <your_server>에 들어가는 식별자가 abcd라고 한다면 <your_database_id>@abcd가 이 스위치에 지정되어야 합니다.
  • -P 스위치: 사용자 비밀 번호를 지정합니다. 띄어쓰기가 있는 비밀 번호의 경우 -P"<your_password>"와 같은 형식으로 따옴표를 이용하여 비밀 번호 문자열 주변을 포장하여 인수로 전달합니다.
  • -d 스위치: -D 스위치가 아닌 -d 스위치로, 대/소문자 구분에 유의합니다. 이 부분에서는 사용하려는 데이터베이스 이름을 지정해야합니다. SQL Azure의 특성 상 한번 연결이 완료되면 다른 데이터베이스로는 문맥 전환을 할 수 없으며, 따라서 USE 문의 사용은 허용되지 않습니다.

위와 같이 지정하여 성공적으로 접속하였다면 프롬프트가 나타날 것입니다. 하지만 대부분의 경우 방화벽 설정에 의하여 연결이 차단될 수 있습니다. 이 때에는 SQL Azure Portal로 접속하여 현재 여러분이 접속을 시도하는 IP 주소를 SQL Azure에서 접속할 수 있도록 허용해야 합니다. 여기서 주의할 것은, NAT나 인터넷 공유기와 같이 하나의 외부 IP 주소를 여러 PC가 공유하는 환경에서 SQL Azure를 접속하려는 경우 보안 상 위험이 발생할 수 있다는 점입니다.

이제 대량의 query문을 실행하기 위한 스위치를 하나 더 알아보겠습니다. 바로 -i 스위치입니다. 이 스위치를 이용하여 실행하려는 SQL 문장이 포함된 스크립트 파일을 지정하고, -o 스위치를 사용하여 실행 결과를 텍스트 파일로 갈무리할 수도 있습니다.

전체 사용 예시는 다음과 같습니다.

osql -Sabcdefghi0.database.windows.net -Urkttu@abcdefghi0 -Pmypassword -dmydatabase -itest.sql -ooutput.txt

위와 같이 명령어를 실행하면 test.sql 파일의 내용을 모두 실행하고 그 결과를 output.txt에 써내려갈 것입니다.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

안녕하세요. Visual C# MVP 남정현입니다. 오랫만에 들려오는 Windows Azure Platform의 업데이트 소식을 전하기 위하여 블로그 포스팅을 해봅니다. 요즈음 월드컵 때문에 전국이 후끈 달아올라있네요.

기존에는 SQL Azure에서 추가할 수 있는 데이터베이스가 1GB, 10GB 단위로 제공되었습니다만 SQL Azure에 대한 수요가 지속적으로 증가하면서 1GB 데이터베이스는 5GB 데이터베이스 단위로, 10GB 데이터베이스는 50GB 데이터베이스 단위로 상품이 확대됩니다. 기존과 동일한 방식으로 과금되지만 추가되는 용량만큼 더 많은 금액이 과금된다는 점만 유의하시면 될 것 같습니다.

그리고 8월 1일부터는 SQL Azure Development Accelerator Core 프로모션 상품이 추가됩니다. SQL Azure Business Edition 상품을 기반으로 하지만, 이 프로모션 상품을 통하여 서비스를 이용할 경우 매달 10GB당 74.95$가 과금되며 일반 요금제보다 25% 저렴합니다. 이에 대한 자세한 내용은 http://www.microsoft.com/windowsazure/offers/popup.aspx?lang=en&locale=en-US&offer=MS-AZR-0013P 에서 참고하실 수 있습니다.

날씨가 점점 더워지고 있습니다. 뜨거운 월드컵 열기를 바탕으로 우리 대한민국 축구팀이 16강에 진출할 수 있었으면 좋겠습니다. 그리고 저희 이매진컵 소프트웨어 설계 부문 한국 대표팀 WeRain에게도 많은 관심과 응원 부탁드립니다. 감사합니다. :-)

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

SQL Server와 함께 동고동락해오신 업계의 데이터베이스 전문가 분들의 재치있는 입담과 노하우를 들을 수 있는 재미있는 토크쇼가 이번주 금요일 (2010년 6월 11일)에 열립니다. 데이터베이스에 관하여 여러가지 이야기와 경험담을 업계의 전문가들로부터 얻을 수 있는 좋은 시간이 될 것입니다. 관심있으신 DBA 및 개발자 여러분들의 많은 참여 부탁드립니다.

지금 등록하기: http://www.microsoft.com/korea/sqlserver/2008/events/unplugged/default.aspx

지금 등록하기: http://www.microsoft.com/korea/sqlserver/2008/events/unplugged/default.aspx

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

실제 Windows Azure 계정을 신청하기 이전에, Windows Azure 기반의 개발을 테스트하기 위하여 보통 Windows Azure SDK와 함께 제공되는 Development Fabric을 이용하여 주로 디버깅하실텐데요, 잘 동작하지 않아서 힘든 경우가 있습니다.

 

Windows Azure Development Fabric을 이용하여 프로그래밍할 때 경험할 수 있는 문제점 중 하나는, Development Fabric으로 디버거를 연결하거나, 응용프로그램 패키지를 Deploy할 때 실패할 가능성이 "종종" 있다는 점입니다. 이 부분에 대한 간단한 트러블슈팅 가이드를 써봅니다.

 

1. Development Fabric으로 프로그램을 배포하려고 할 때 경고 메시지가 여러번 나타난다?

 

관리자 모드로 Visual Studio를 시작하고, Development Fabric으로 디버깅을 시작하려고 할 때, 빌드 출력 창에 경고 메시지가 나타나는 경우가 있습니다. 경고 메시지의 내용은 아래와 같이 나타날 수 있습니다.

 

Windows Azure Tools: Warning: The Windows Azure development fabric and development storage are running on a 32-bit workstation. In the cloud, Windows Azure Hosted Services run in a 64-bit environment. The use of native code execution or .Net Full Trust features such as P/Invoke may require migration to 64-bit. See http://go.microsoft.com/fwlink/?LinkId=145047 for details.

 

Windows Azure 환경 위에서 실제로 운영되는 OS의 아키텍처는 32비트가 아닌 64비트 버전이기 때문에, Web Role이나 Worker Role에서 사용중인 Platform Invoke 시그니처 들이 실제 운영 환경에 배포되었을 때는 맞지 않을 수도 있으니 마이그레이션을 해야 한다는 안내 문구이며, 일반 출력 창에 나타나는 메시지이기 때문에 여러번 디버깅을 시작할 경우 여러줄에 걸쳐서 문구가 쌓여서 표시될 수 있으니 걱정하지 말고 디버깅하시면 됩니다.

 

2. Development Fabric으로 진입하는 도중에 Visual Studio가 응답 없음 - 또는 - 마우스/키보드 동작을 받아들이지 않고 경고음만을 낸다? / Development Fabric이 기동되는듯 하다가 한참 후에 Null Reference 오류가 발생한다?

 

실제 디버깅에 들어가지 못하고 Visual Studio가 먹통이 되는 경우 또한 간혹있을 수 있습니다. 이는 Development Fabric이 정상적으로 초기화되지 못하였을 경우 발생할 수 있는 문제이며, Windows Azure Development Fabric을 사용하실 때에는 아래의 내용을 숙지하셔서 Development Fabric이 정확히 초기화 작업을 처리할 수 있도록 하는 것이 좋습니다.

 

a. 한 번에 한 Windows Azure 응용프로그램에 대해서만 디버깅하실 것을 권합니다.

 

b. 디버깅이 끝나면, 작업표시줄의 트레이 아이콘 표시 영역에 나타난 Windows Azure Development Fabric 프로그램을 직접 종료하여 주십시오. 가급적, 디버깅이 끝나면 Windows Azure Simulation Service와 Storage Service는 함께 종료해야 하며, 프로그램을 직접 닫으려할 때, 기동 중인 서비스를 모두 중단시킬지 안내하는 창이 나타나면 중단하도록 선택하여 주십시오.

 

문제가 발생하였을 경우에는 다음과 같이 조치하실 수 있습니다.

 

a. 실행 중인 Visual Studio를 모두 종료하시고, Windows Azure SDK v1.1 프로그램 그룹에서 Development Fabric 아이콘을 더블 클릭하여 Standalone으로 Development Fabric을 시작합니다.

 

b. Storage 서비스의 기동 상태를 Windows Azure 아이콘을 오른쪽 버튼으로 클릭하여 확인하고, 시작되지 않았을 경우 강제로 시작을 시도합니다. 시작되지 않을 경우, SQL 서버 인스턴스가 시스템에서 실행 중인 것이 있는지 확인해 봅니다.

 

c. Show Development Storage UI 메뉴 항목을 클릭하고, 나타나는 화면에서 "Reset" 버튼을 클릭하여 스토리지 설정을 초기화하도록 예약합니다.

 

d. Windows Azure Development Fabric을 종료하며, 이 때 모든 서비스를 중단할지 묻는 메시지 박스에서 중단하도록 선택합니다.

 

e. Visual Studio를 열어서 빌드할 때, "정리" 기능을 이용하여 빌드 산출물들을 모두 제거하도록 한 후 다시 시도합니다.

 

3. Windows Azure로 응용프로그램을 개발하면서 인텔리센스 기능을 사용하려할 때 Visual Studio 2010이 갑자기 충돌을 일으키며 종료된다?

 

Visual Studio 2010 RC 패치 (KB980610)가 발표되었습니다.

위의 글에서 소개하는 KB980610 패치를 시스템에 설치하시기 바랍니다.

 

짧은 글이었지만, 도움이 되셨기를 바라며 글을 마무리해봅니다. 감사합니다. :-)

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

Windows Azure 개발 환경 및 기능 살펴보기에 대한 세미나를 준비하는 도중에 테스트를 위하여 설치와 테스트를 병행하던 도중, 문제에 빠질 수 있는 부분들이 몇 가지 있을 것으로 예상되어 개발 환경을 구축하는 방법에 대한 글을 정리하여 올려봅니다.

 

1. 시스템의 최소 요구 사항을 확인합니다.

 

Windows Azure 개발 환경을 구축하기 위해서는 시스템이 Windows Vista Service Pack 1 이상 - 또는 - Windows Server 2008을 실행 중이어야 합니다. Windows XP와 Windows Server 2003에서는 Windows Azure 개발 환경을 구축할 수 없음을 유의합니다. Windows Vista RTM 버전을 사용 중인 경우, 반드시 Service Pack 1을 설치하여야 합니다.

 

2. 인터넷 정보 서비스 (IIS) 및 WCF HTTP 활성화 옵션이 설정되어있는지 확인합니다.

 

Windows Azure 개발 환경을 구축하기 위해서는 시스템에 Internet Information Services (인터넷 정보 서비스)와 함께, WCF HTTP 기반 활성화 옵션이 설정되어있어야 합니다. 이를 확인하시려면 각 운영 체제 별로 다음과 같이 실행합니다.

 

Windows Vista 및 Windows 7의 경우

  • 시작 메뉴 -> 설정 -> 제어판 -> 프로그램 -> 프로그램 및 기능 순으로 선택합니다.
  • Windows 기능 켜고 끄기를 선택합니다.
  • Microsoft .NET Framework 3.0 (Windows 7의 경우 Microsoft .NET Framework 3.5.1)아래의 Windows Communication Foundation HTTP 활성화에 체크합니다.
  • Internet Information Services (또는 인터넷 정보 서비스) 아래의 World Wide Web 서비스 아래의 응용프로그램 개발 기능 아래에서 ASP.NET과 CGI에 체크합니다.
  • 선택한 항목들을 설치합니다.

Windows Server 2008 및 Windows Server 2008 SP1의 경우 (Core 버전은 해당되지 않습니다)

  • 시작 메뉴 -> 프로그램 -> 관리 도구 -> 서버 관리자 순으로 선택합니다.
  • 서버 관리자 화면에서, "기능 요약"의 "추가"를 선택합니다.
  • "추가" 대화 상자에서, Microsoft .NET Framework 3.0 (Windows Server 2008 SP1의 경우 Microsoft .NET Framework 3.5.1) 아래의 WCF 활성화 아래의 HTTP 활성화를 선택한 후, "다음" 버튼을 클릭합니다.
  • "역할 요약" 단계에서, 웹 서버 (IIS) 항목이 목록 중에 포함되어있는지 확인합니다. 만약 없을 경우, "역할 추가" 버튼을 클릭합니다.
  • "역할 추가" 대화 상자에서, "역할 요약" 아래의 "웹 서버 (IIS)"를 선택합니다.
  • 웹 서버 관리 대화 상자에서 "서비스 역할 추가"를 클릭합니다.
  • 나타나는 대화 상자에서 "웹 서버" 아래의 "응용프로그램 개발" 아래의 "ASP.NET"과 "CGI"를 선택하고, 다음 버튼을 클릭하여 선택한 항목들을 설치합니다.

3. Visual Studio를 설치합니다.

 

Visual Studio 2008 Professional 이상의 버전이 필요하며, Visual Studio 2008 Professional을 가지고 있지 않은 경우, http://www.microsoft.com/express/ 에서 Visual Web Developer 2008 SP1을 다운로드하여 설치할 수 있습니다.

 

Visual Studio 2008 Professional이 설치되어있으나 서비스팩을 설치하지 않은 경우, http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx 에서 다운로드하여 설치할 수 있습니다.

 

Visual Studio 2010에서 테스트해보기를 원하는 경우, Visual Studio 2010 Beta 2 - 또는 - http://www.microsoft.com/express/ 에서 Visual Web Developer 2010 Beta 2를 무료로 다운로드하여 설치할 수 있습니다.

 

4단계의 내용과 관련하여, 설치 시 자동으로 선택되는 SQL Server 2005 - 또는 SQL Server 2008 Express Edition은 같이 설치해주실 것을 권장합니다.

 

4. Microsoft SQL Server 2005 - 또는 - Microsoft SQL Server 2008 인스턴스를 확인합니다.

 

Windows Azure의 Storage 기능을 로컬 컴퓨터에서 테스트해보기 위하여, Microsoft SQL Server 2005 버전 이상의 데이터베이스 인스턴스가 필요합니다. 개발 목적으로 사용하기 위하여, 무료로 Express Edition을 다운로드받을 수 있으며, Visual Studio 2008 설치 시 기본 옵션으로 설치하였을 경우 이미 시스템에 하나 이상의 SQL Server Express Edition이 설치되어있을 것입니다.

 

5. Windows Azure SDK 2009년 11월 버전을 설치합니다.

 

로컬 컴퓨터에서 Windows Azure 플랫폼의 환경을 재현하는 도구, Windows Azure 플랫폼에서 사용하는 닷넷 어셈블리의 개발 버전 및 필수 도움말, 기본 문서 자료, 배포용 패키징 도구 일체를 포함하는 Windows Azure SDK를 다운로드하여 설치해야 합니다. http://www.microsoft.com/downloads/info.aspx?na=47&p=2&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=6967ff37-813e-47c7-b987-889124b43abd&u=details.aspx%3ffamilyid%3d772990DA-8926-4DB0-958F-95C1DA572C84%26displaylang%3den 에서 다운로드 가능합니다.

 

NOTE) 이 글을 작성하는 현 시점에서 가장 최신 버전은 2009년 11월 버전이며 새 버전이 출시될 수 있으므로 Windows Azure 홈페이지를 참고하여 주시기 바랍니다.

 

6. Windows Azure Tools 2009년 11월 버전을 설치합니다.

 

Windows Azure SDK와 연계하여, Visual Studio 2008 및 Visual Studio 2010을 위한 개발 도구, 프로젝트 템플릿, 필수 도움말 및 기본 문서 자료 일체를 포함하는 Windows Azure Tools를 다운로드하여 설치해야합니다. http://www.microsoft.com/downloads/details.aspx?FamilyID=6967ff37-813e-47c7-b987-889124b43abd&displaylang=en 에서 다운로드 가능합니다.

 

7. KB967631 핫픽스 설치 (운영 체제 무관, Visual Studio 2008 SP1 및 Visual Web Developer 2008 SP1 사용 시 설치 필요)

 

운영 체제에 관계없이, Visual Studio 2008 SP1 및 Visual Web Developer 2008 SP1을 사용하여 Windows Azure SDK 및 Windows Azure Tools 2009년 11월 버전을 활용하는 경우, http://go.microsoft.com/fwlink/?LinkId=145526 에서 KB967631 핫 픽스를 설치하여 디버깅에 관련된 문제점을 수정할 수 있습니다.

 

8. KB967131 핫픽스 설치 (개발 도구 무관, Windows 7, Windows Server 2008 SP2 미만인 경우 설치 필요)

 

개발 도구 버전에 관계 없이, Windows Vista 모든 버전, Windows Server 2008 SP1의 경우 http://support.microsoft.com/kb/967131 에서 FastCGI 기반의 개발을 정상적으로 테스트해볼 수 있도록 시스템을 수정할 수 있습니다.

 

9. KB963676 핫픽스 설치 (개발 도구 무관, Windows 7 이외의 모든 운영 체제에서 설치 필요)

 

개발 도구 버전에 관계 없이, Windows 7 이외의 모든 운영 체제에서 https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=16827&wa=wsignin1.0 의 핫픽스를 설치하여 Visual Studio의 안정성 문제를 해결할 수 있습니다.

 

10. KB971842 / KB977420 핫픽스 설치 (개발 도구 무관)

 

개발 도구 버전에 관계없이, Windows Vista 및 Windows Server 2008은 KB971842 핫 픽스를, Windows 7 및 Windows Server 2008 R2는 KB977420 핫 픽스를 설치하여, Windows Azure Web Role 위에서 실행되는 WCF 서비스에 대한 참조를 클라이언트에서 정확하게 받아들일 수 있도록 할 수 있습니다.

 

KB971842 (Windows Vista, Windows Server 2008) 설치: http://code.msdn.microsoft.com/KB971842

KB977420 (Windows 7, Windows Server 2008 R2) 설치: http://code.msdn.microsoft.com/KB977420

 

이 핫 픽스를 설치하고, 설정 파일 (.config)에 useRequestHeaderForMetadataAddress 요소를 추가하여 HTTP 요청 헤더를 기준으로 WCF 참조를 맺고 통신할 수 있도록 설정합니다.

 

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

요즈음 클라이언트 측 운영 체제는 Windows 7으로, 서버 측 운영 체제는 Windows Server 2008 R2로 모든 이목이 집중되고 있습니다. 양쪽 모두 획기적으로 개선된 기능들로 중무장하여 IT 업계를 흔들고 있고, 오랫만에 "이것이 Windows다" 라고 이야기할 수 있을만큼 선전하고 있습니다.

 

이런 추세와는 별개로, 꾸준히 Microsoft가 공을 들여서 선보이고 있는 기술이 하나 있는데, 바로 Windows Azure에 관한 것입니다. Windows Azure는 클라우드 컴퓨팅 기술에 대한 Microsoft의 구현 (Implementation)입니다.

 

Windows Azure는 지난 PDC (Professional Developer Conference) 2008 행사에서 처음 선보였고 현재는 지속적으로 CTP (Community Technology Preview)의 형태로 관련 개발 도구를 제공하고 있습니다. Windows Azure는 Visual Studio 2010과 함께 완전한 개발 도구가 출시될 것으로 현재는 예견되고 있습니다.

 

이야기로는 Windows Azure가 클라우드 컴퓨팅 플랫폼이라는 말이 참 많이 알려져있지만, 구체적으로 어떤 내용들이 포함되고 어떻게 활용될 수 있는지에 대해서 정리해볼 필요가 있다는 생각으로 글을 써봅니다.

 

Windows Azure는 다음의 세 가지 구성 요소로 이루어집니다.

 

Windows Azure: Windows Azure는 클라우드 컴퓨팅 환경 위에서 구동되는 클라우드형 운영 체제입니다. 기존에 우리가 학술적으로 배우고 이해하였던 운영 체제의 개념은 실제 물리적인 컴퓨터 하드웨어 한 대와 실제 사용자 한 명 사이의 창구 개념이었습니다만, Windows Azure에서 소개하는 클라우드형 운영 체제는 조금 다릅니다. 기존 운영 체제의 역할과는 달리, 서비스와 사용자 사이를 중계하는 데에 사용하는 것이 클라우드형 운영 체제의 의미가 될 것입니다.

 

Windows Azure는 다음과 같은 구조를 가지고 있습니다.

 

 

위의 그림은 Windows Azure Fabric의 구조를 설명하고 있습니다. Fabric은 사전적인 의미로 천조각을 뜻합니다만, 여기서의 의미는 사용하고자 하는 컴퓨터의 인스턴스 개체 수를 뜻합니다. 그렇게 보았을 때, Windows Azure 개발자는 Fabric을 필요한 수만큼 할당받아, Fabric Agent와 통신하면서 실제 응용프로그램을 작성하게 됩니다.

 

할당받은 Fabric을 활용하게 되면, 모든 작업은 계산 작업 (Compute)과 저장 작업 (Storage)으로 구분할 수 있습니다. 계산 작업에서는 웹 서비스를 처리하는 것과 백그라운드 작업을 수행하는 것을 가상 머신을 통해서 처리하며, 저장 작업에서는 흔히 생각할 수 있는 BLOB (일반 바이너리 파일이나 데이터)이나 간단한 테이블, 데이터 큐 같은 것들을 저장할 수 있습니다.

 

Windows Azure를 사용한다는 것은 쉽게 생각하면, 기존의 웹 호스팅과 유사합니다. 실제로 Windows Azure를 이용하여 개발하는 응용프로그램 모델은 HTTP를 통하여 통신하기 때문에 더욱 그러합니다. 하지만 어떻게 개발하는지에 따라서 확장 가능성이 더욱 커지고, 이전보다 더욱 풍부한 소프트웨어를 마음껏 개발할 수 있는 것이 중요한 차이점입니다.

 

Windows Azure로 호스팅할 수 있는 응용프로그램의 종류는 생각보다 다양한데, 내부적으로 IIS 7.0과 .NET Framework 3.5 SP1을 사용하기 때문입니다. 더불어서, FastCGI를 지원하므로 PHP와 같은 웹 프로그래밍 언어로 작성된 웹 응용프로그램도 얼마든지 호스팅이 가능합니다. 그리고, 이 환경 안에서 실행되는 .NET Framework 코드들은 Full Trust 환경에서 실행이 가능하므로 비관리 코드 (C/C++ 등으로 작성한 DLL이나 운영 체제의 API들)를 자유롭게 호출할 수도 있습니다.

 

자세한 내용은 http://www.microsoft.com/windowsazure/windowsazure/ 를 참고하십시오.

 

SQL Azure: SQL Azure는 Microsoft SQL Server를 기반으로 제공되는 클라우드형 RDBMS 서비스입니다. 데이터 보안을 완벽하게 유지해야 하는 시나리오가 아니라면, 급증하는 데이터베이스에 대한 요구 사항을 손쉽게 수용할 수 있는 것이 가장 큰 매력입니다.

 

참고로, Windows Azure가 제공하는 Storage 서비스와는 차이가 있습니다. Windows Azure 서비스의 Storage 서비스는 RDBMS와는 무관한 것이며, 응용프로그램에 영속성을 부여하기 위한 목적이 강합니다.

 

SQL Azure가 SQL Server를 기반으로 제공되는 서비스이므로, 당연히 우리가 기존에 사용해 오던 SQL Server Management Tool을 그대로 SQL Azure에서도 사용할 수 있습니다. 그리고 보안 패치나 각종 성능 향상이 자동으로 이뤄지므로 많은 고민 거리들을 머릿속에서 지울 수 있습니다. 그리고 기존에 사용하던 ODBC도 연동이 가능하므로, 일반 데스크톱 응용프로그램에서도 환경에 가변적이지 않은 완벽한 데이터베이스 솔루션을 사용할 수 있습니다. (심지어 VC++ 6.0으로 개발했던 프로그램일지라도 말입니다.) 그리고 PHP 개발자들의 경우, 멀리가서 DB를 찾지 않아도 됩니다. (PHP 전용 프로바이더가 제공됩니다.)

 

자세한 내용은 http://www.microsoft.com/windowsazure/sqlazure/ 를 참고하십시오.

 

Microsoft .NET Services: Microsoft .NET Services는 Windows Azure 위에서 구현된 서비스로, 서로 다른 응용프로그램 사이에 통일된 커뮤니케이션 채널을 만들어서 같은 내용을 공유하고, 송신하거나, 수신할 수 있도록 도와주는 서비스입니다. 여기에는 보통의 텍스트, XML 문서, 그래픽, BLOB과 같이 일상적으로 많이 사용하는 데이터 종류들이 모두 포함됩니다. 다음은 상세한 구조에 대한 그림입니다.

 

 

그림에서 보여지는것처럼, Windows Azure 플랫폼을 기초로 하는 .NET Service Bus는, 서로 다른 응용프로그램을 현대 IT 환경에서 사용하는 다양한 제약 사항들 (방화벽, NAT 등)을 건너뛰고 응용프로그램 사이에 커뮤니케이션 채널을 만드는 과정을 보여주고 있습니다.

 

뿐만 아니라, .NET Service Bus는 아래와 같이 Access Control Service에 대한 내용도 소개하고 있습니다. Access Control Service를 통하여 보안 정책을 설정하고 관리한다면, 의도하지 않았거나 차단 정책에 포함해야 할 상대를 정확히 파악하고 관리하여 서비스 보안에 만전을 기할 수 있습니다. 그리고 무엇보다도, Windows Azure 플랫폼 위에서 실행되므로 다른 Windows Azure 플랫폼과 연동하기가 편리합니다.

 

 

자세한 내용은 http://www.microsoft.com/windowsazure/dotnetservices/ 를 참고하십시오.

 

향후에도 더욱 편리하고 클라우드 컴퓨팅 환경에 필요한 솔루션들이 더 등장할 것입니다만, 이 글을 작성하는 현 시점에서는 이와 같은 서비스들이 선을 보이고 있습니다. 앞으로의 발전 방향이나 추세가 더욱 기대되는 플랫폼입니다.

 

Windows Azure는 현재 CTP 단계에 있으며, 이에 따라 다음과 같은 제한 사항이 있습니다.

  • 총 컴퓨터 사용 가능 시간: 총 2000 시간 (가상 머신 기준)
  • 총 사용 가능 저장소 용량: 총 50GB
  • 총 트래픽 허용량: 매일 20GB 이내

그리고 실제로 서비스가 상용화되면 다음과 같이 가격이 매겨질 것임을 발표한 바 있습니다.

Windows Azure를 테스트해보고 싶으신 분들은 http://www.microsoft.com/windowsazure/getstarted/ 의 내용을 참고하시어 필요한 SDK와 서비스 신청을 완료하실 수 있을 것입니다.

 

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

실무에서 Enterprise Manager류의 유틸리티를 직접 이용할 수 없을 경우 재빠르게 스키마를 확인해볼 수 있는 스크립트 세 종류를 올려 봅니다.

-- Informix의 Column 상세 내역 살펴보기
select a.* from syscolumns a, systables b
where (a.tabid = b.tabid) and (b.tabname = '테이블 이름')

-- Oracle의 Column 상세 내역 살펴보기
select * from sys.all_tab_cols
where table_name = '테이블 이름';

-- Microsoft SQL의 Column 상세 내역 살펴보기
use '대상 DB 이름';
select a.* from syscolumns a, sysobjects b
where (a.id = b.id) and (b.name = '테이블 이름');

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)