[ClouDeveloper News – Azure Edition] 2016년 12월 15일

클라우드 컴퓨팅을 중심으로 관련된 여러 기술과 업계 소식을 매주 전하는 ClouDeveloper News를 시작합니다. 파일럿 프로그램으로 구상하여 운영 중에 있으며 추후 여러 피드백과 의견 수렴을 통하여 프로그램의 틀을 갖추어 나갈 예정이오니 많은 관심과 구독을 부탁드립니다.

이번주 커뮤니티 소식

Azure 서비스 공지 사항

  • General availability: Package Management extension for Visual Studio Team Services
    • Visual Studio Team Service에서 NuGet Package와 NPM Package를 관리할 수 있는 익스텐션 서비스가 새로 출시되었습니다. Visual Studio Marketplace에서 청약할 수 있는 상품입니다.
  • General availability: Azure IoT Gateway SDK
    • 기존 하드웨어나 인프라를 교체하지 않고, 게이트웨이 장치를 개발하여 Azure IoT와 자연스럽게 연동될 수 있도록 만들 수 있습니다. 오픈 소스로 공개된 Azure IoT Gateway SDK를 사용하여 기존 장치가 Azure IoT Hub와 직접 통신할 수 있는 여건이 되지 않더라도 원격에서 장치를 제어하거나 상태를 보고하는 대행 게이트웨이 하드웨어를 더 쉽게 개발할 수 있습니다.
  • With general availability, enhancements abound in Azure IoT Hub Device Management
    • Azure IoT Hub에서 그동안 강조되지 않았거나 샘플 코드 수준으로만 제공되어오던 “장치 관리”에 관련된 기능과 API가 GA로 전환되었습니다. 예약 작업, 다이렉트 메서드, 쿼리, 디바이스 트윈 API를 사용하여 좀 더 많은 장치 제어 시나리오를 커버할 수 있게 되었습니다.
  • Latest update of Azure Analysis Services preview brings scale up and down
    • Azure Analysis Service의 인스턴스 크기를 조정할 수 있는 기능이 포털에서 새롭게 제공됩니다. 상황에 따라 강력한 성능 발휘를 위하여 인스턴스 등급이나 규모를 늘리고, 사용하지 않는 때에는 최소한으로 낮추어 경제적으로 Azure Analysis Service를 활용할 수 있게 됩니다.

교육 자료

새로운 제품 및 서비스

  • Introducing Windows Server & SQL Server Premium Assurance
    • 지원이 중단될 예정인 Windows Server와 SQL Server에 대한 보안 업데이트 제공 서비스가 유상으로 제공됨에 따라 기존 라이프사이클에서 최대 6년까지 지원이 연장됩니다. 신규 플랫폼과 서비스로 이행을 하기에 시간적 여유가 없는 경우 선택할 수 있는 옵션입니다. Windows Server 2008, Windows Server 2008 R2, SQL Server 2008, SQL Server 2008 R2가 첫 지원 대상입니다.
  • Announcing SQL Server Management Studio – 16.5.1 Release
    • SQL Server Management Studio의 최신 버전인 16.5.1이 릴리스되었습니다. 제품 출시 후 발견된 문제점들을 수정한 패치 성격의 업데이트 버전입니다.

활용 및 노하우

웹 캐스트

  • SQL Server + Java: What’s new
    • 새 Microsoft JDBC 드라이버를 통해 Java 기반 애플리케이션에서 SQL Server에 접속하여 쓸 수 있는 새로운 기능들을 소개하는 웹 캐스트입니다. 최근 JDBC 드라이버의 소스 코드를 GitHub 리포지터리에 게시하여 오픈소스화 하였으며, Maven 리포지터리를 통하여 JDBC 드라이버에 대한 종속성을 간편하게 추가할 수 있게 되었습니다.
  • Azure Media Indexer 2: Japanese support, punctuation improvements, no more time limit
    • 동영상에서 화자가 말하는 언어를 음성 인식하여 자막을 만들고 동영상 검색의 기본 데이터를 형성하는데 도움을 주는 Azure Media Indexer의 새 버전에서는 Microsoft Research의 연구 성과를 바탕으로 지속적으로 품질과 성능을 개선하고 있으며, 이번 릴리스에서는 일본어 음성 인식 지원, 10분 길이 제한 해제, 발음과 문법 품질 향상을 주안점으로 두고 있습니다.
  • Get Started with Azure Functions
    • Azure Function에 대한 튜토리얼 웹 캐스트입니다.
  • Digital marketing solutions on Azure
    • Orchard, Umbraco와 같은 유명 CMS 솔루션을 Azure 위에서 기술적인 지식 없이 손쉽게 구축하여 디지털 마케팅 전략에 활용할 수 있는 방안을 소개하는 웨비나 세션을 소개합니다.
  • Dev and test better in the cloud
    • Azure 및 클라우드 환경에서 개발과 테스트 전략을 더 효율적으로 수행할 수 있는 방법을 소개하는 무료 웹 캐스트입니다.

서드파티 소식

  • Kafka Connect for Azure IoT Hub
    • Azure IoT Hub에 연결하여 데이터를 Kafka로 보낼 수 있는 Connector의 오픈 소스 버전이 새롭게 공개되었습니다.

ClouDeveloper 페이스북 페이지에 댓글로 의견을 남겨주시면 뉴스 발행 및 각종 정보 전달에 반영하도록 하겠습니다. 고맙습니다.

의견 남기기: https://fb.com/cloudeveloper

CentOS, Fedora, RHEL에서 SQL Azure 접속하기

안녕하세요. Windows Azure MVP 남정현입니다.

SQL Azure를 사용한다면 아마 거의 예외없이 접속하는 클라이언트 측의 운영 체제는 Windows 운영 체제일 것입니다. 그러나 만약 리눅스를 클라이언트 측의 운영 체제로 직접 사용하기 원한다면 어떻게 해야 할까요? 기존에 여러분이 사용하고 있을 가능성이 높은 드라이버로 FreeTDS가 있겠습니다만 버전이 낮은 드라이버는 SQL Azure가 철칙으로 사용하는 SSL 연결을 지원하지 못합니다. 최근에 출시된 FreeTDS의 경우 SSL을 지원하기는 하지만, SQL Azure로 연결을 시도할 경우 연결 과정에서 응답 없음 상태로 빠지거나 여러가지 다른 오류가 발생할 수 있습니다. 아마도 향후에 개선될 것으로 기대합니다. 이 블로그에서 설명하려는 내용에 대해 최상의 결과를 얻기 위하여 현재는 Microsoft SQL Server ODBC Driver 1.0 for Linux가 필요합니다.

시스템 요구 사항

Microsoft SQL Server ODBC Driver for Linux를 설치하기 위해서는 다음의 조건을 만족해야 합니다.

  • 64비트 지원 프로세서가 필요합니다. (x64 또는 AMD64)
  • CentOS, Fedora, RHEL 등의 Redhat 계통의 최신 리눅스 운영 체제가 필요합니다.
  • 실행 중인 운영 체제의 커널이 x86_64 환경에서 실행 중이어야 합니다.

그리고 당연한 이야기이지만 시스템 관리자 권한을 얻은 상태에서 실행해야 합니다.

설치 전에 필요한 모든 패키지 설치하기

운영 체제의 버전마다 필요로 하는 패키지의 최소 버전에 차이가 존재하기는 하나, 아래의 명령어들을 사용하여 일반적인 종속성 상의 요구 사항을 모두 정리할 수 있습니다. 아래 명령어들은 설치 전후반에 걸쳐 필요한 패키지들을 모두 설치해 줄 것입니다.

  • yum install glibc
  • yum install e2fsprogs
  • yum install krb5-libs
  • yum install openssl
  • yum install libgcc
  • yum install libstdc++
  • yum install make
  • yum install gcc
  • yum install bison
  • yum install byacc
  • yum install libuuid
  • yum install wget
  • yum install tar

드라이버 파일 내려 받기

드라이버 파일을 내려받기 위하여 http://www.microsoft.com/en-us/download/details.aspx?id=28160 페이지에서 적절한 버전의 tar 패키지 파일을 내려 받아야 합니다. 만약 서버 환경에서 직접 설치해야 하는 상황인 경우, 다운로드 URL을 확인하여 bit.ly 등의 단축 주소로 주소를 줄이고 그 주소를 wget 명령에 대입하면 수고스러움을 덜 수 있습니다.

파일을 다운로드하고나서 tar 유틸리티로 압축을 해제합니다.

tar xvzf sqlncli-11.0.1790.0.tar.gz

그 이후에는 해당 디렉터리로 이동한 다음 필요한 작업을 진행합니다.

unixODBC Driver Manager 설치하기

SQL Server Driver for Linux는 unixODBC 환경 아래에서 작동하도록 만들어진 드라이버이므로 반드시 unixODBC Driver Manager를 시스템에 설치해야 합니다. 만약 기존에 이미 설치가 되어있는 상태이면 다음 섹션으로 넘어가서 곧바로 드라이버를 설치해도 됩니다.

아래 명령어를 sqlncli 디렉터리에서 실행합니다.

./build_dm.sh

상세한 안내 메시지가 나타나게 되는데, YES를 입력하여 내용에 동의함을 표시합니다. 그 다음에는 unixODBC를 대신 다운로드하고 컴파일하고 설치하는 작업이 자동으로 진행될 것입니다. 그리고 최종적으로 사용자가 직접 설치를 진행해야 하는데, 스크립트 실행이 완료되면 아래와 같은 메시지를 볼 수 있을 것입니다. 메시지에 실제로 출력된 임시 경로로 이동하도록 정확히 이름을 지정하는 것에 유의하여 아래와 유사한 명령어를 실행합니다.

cd /tmp/unixODBC.x.x.x/unixODBC-2.3.0; make install

Linux나 Unix 명령어에 익숙하지 않은 분들을 위하여 부연 설명을 드리면, 세미콜론은 순차적인 실행을 위하여 사용되는 연산자입니다. 즉, 디렉터리를 이동하고난 다음에 make install 명령어를 실행하라는 의미입니다. 설치가 끝나고 나면 다시 sqlncli 디렉터리로 이동합니다.

ODBCINST.INI 파일 백업하기

실제 드라이버를 설치하기 전에 만약 odbcinst.ini 파일을 백업해야 할 필요가 있다면 아래 명령어를 사용하여 정확한 경로를 확인하고 해당 파일을 복사하여 백업하기 바랍니다.

odbc_config odbcinstini

실제 드라이버 설치하기

이제 실제 드라이버를 설치할 차례입니다. sqlncli 디렉터리로 이동한 다음, 아래와 같이 명령어를 입력합니다.

./install.sh install

사용자 계약서를 표시하는데, 모두 읽어보기 귀찮으시다면 키보드의 q키를 누릅니다. 그러면 동의 여부를 곧바로 묻는 프롬프트가 나오는데 여기서 YES를 입력하고 기다립니다. 특별한 오류 없이 설치가 끝났다면 마지막으로 아래 명령어를 입력하여 정상적으로 설치가 되었는지 확인해봅니다.

./install.sh verify

특별한 오류 메시지가 없다면 정상적으로 설치가 완료된 것입니다.

SQL Azure 연결 테스트해보기

이제 리눅스 환경에서도 SQL Azure에 연결이 잘 되는지 확인해볼 차례입니다. ODBC를 사용한다고 하였지만 별도로 인스턴스를 등록하거나 복잡한 절차를 거치지 않고 곧바로 테스트해볼 방법이 있는데, FreeTDS와 마찬가지로, 그리고 FreeTDS가 그러했듯이 Microsoft가 제공하는 sqlcmd 유틸리티가 여기에서도 그대로 제공됩니다.

sqlcmd -U <SQL Azure 계정 ID> -P <SQL Azure 비밀 번호> -S <서버 ID>.database.windows.net -d <데이터베이스 이름>

Windows에서 사용하던 것과 다르지 않음을 알 수 있습니다. 정상적으로 접속이 되면 1> 프롬프트가 나타날 것이고, 여기에 아래와 같이 쿼리를 수행해 봅니다.

select @@version
go

그러면 아래 그림과 같이 결과가 나타나는 것을 볼 수 있습니다. 보시는 것과 같이 SQL Azure를 Linux에서도 Native Driver를 사용하여 접속할 수 있습니다. 🙂

결론

다소 복잡한 내용들이었지만, 리눅스에서도 SQL Server와 SQL Azure를 얼마든지 접근하고 다룰 수 있는 방법이 있기 때문에 데이터베이스 때문에 Windows를 써야 하는 불편함을 감수해야 할 필요가 전혀 없다는 것을 확인하였습니다. 향후에는 더 나은 방법으로 더 리눅스 환경에서 최적화된 형태로 SQL Azure나 SQL Server에 접속할 수 있을 것으로 기대합니다. 아티클에 대해서 개선할 점이나 의견을 주실 부분이 있으시면 언제든 의견을 주십시오.

Windows Azure Update: Microsoft Project Code-Named “Houston” CTP 1

바로 가기: https://www.sqlazurelabs.com/houston.aspx


안녕하세요. Visual C# MVP 남정현입니다. Hello Windows Azure와는 별도로, Windows Azure Platform 및 Windows Azure 관련 커뮤니티 소식, Labs 프로젝트, 신 기술을 집중적으로 조명하는 Article을 비정기적으로 “Windows Azure Update” 시리즈를 통하여 소개할 예정입니다. 많은 관심 부탁드립니다.


Windows Azure Platform에서 가장 많은 관심과 아쉬움의 대상이었던 SQL Azure에 대한 사용자들의 갈증을 풀어줄 시원한 도구가 하나 등장했습니다. 바로 Codename: Houston이 그 주인공인데요, 간단히 요약하면 Silverlight로 제공되는, 웹 브라우저에서 쉽게 접속하여 사용할 수 있는 SQL Azure Database 관리 도구입니다. 일단 접속 화면부터 살펴보기로 할까요?



SQL Management Studio Express를 이용하는 것과 유사한 화면을 보실 수 있습니다. 접속할 SQL Azure 서버의 호스트 이름을 찾아서 넣고, 접근할 데이터베이스의 이름을 입력한 후, 관리자 ID와 비밀 번호를 넣고 Connect 버튼을 클릭하면 아래와 같이 접속 중임을 표시하는 화면이 나타납니다.



잠시 더 기다리면 멋진 초기화면이 나타납니다. 이런 스타일의 화면을 웬지 오랫만에 보는것 같군요. 🙂



접속한 데이터베이스의 상태를 한눈에 파악할 수 있는 Dashboard가 Start Page에 나타납니다. 화면에서 알 수 있듯이, 탭 페이지 방식으로 여러 화면을 구성할 수 있도록 되어있습니다. 그리고 우리가 평소에 사용하던 Microsoft Access의 버전 2007 이후부터 도입된 Ribbon UI를 사용한다는 것 또한 한눈에 들어옵니다. Dashboard에 또 다른 정보들이 어떤 것이 나타나는지 잠시 살펴볼까요?





사용량 정보가 상세하게 나타납니다. 그리고, 다소 식상하게 비칠지도 모르는 Help Links가 한 면을 차지하고 있군요. 현재 공개된 CTP 버전에서는 이 정도의 기능을 제공하는 것으로 나타나지만 좀 더 많은 사용자들의 의견이 더해짐에 따라서 매우 유용한 기능이 앞으로 이곳에 추가될 것 같습니다. 🙂



네. 그렇습니다. 정말 그리웠던 기능이죠. 시각적으로 테이블의 스키마를 편집할 수 있다는 사실은 정말 중요할 수 있습니다. SQL Management Studio Express를 이용해서 접속했어도 사용할 수 없었던 그 기능이 드디어 SQL Azure와 Codename: Houston의 만남으로 가능하게 된 것입니다. 그리고 이미 만들어진 테이블이라 할지라도 매우 편리하게 테이블의 이름을 아래 그림과 같이 수정할 수 있습니다.




그리고 Column을 추가하는 것도 무척 쉽습니다. 하단의 “+ Column” 버튼을 클릭하는 것 만으로도 손쉽게 추가가 됩니다. 아래 그림과 같이 새 Column이 추가되었다는 것도 시각적으로 잘 보여집니다.



그러면 이제 데이터 조회 기능을 살펴보도록 하겠습니다.



당연한 기능이지만 Codename: Houston에서 이러한 화면을 보고 있으니 더욱 놀랍게 비추어지는것 같습니다. 🙂 데이터 집합 말고도, 서버로부터 직접 전달받은 메시지도 Messages 탭을 클릭하면 아래와 같이 잘 보여집니다.



아래의 두 Screenshot은 View와 Stored Procedure를 생성하는 편집 화면입니다. 참고로 Stored Procedure는 매개 변수를 시각적으로 선택하고 관리할 수 있으므로 Stored Procedure의 본문만을 집중하여 편집하면 됩니다.





만약 저장되지 않은 상태에서 오른쪽 상단의 Logout 버튼을 클릭할 경우 아래와 같이 경고 메시지도 나타나게 됩니다.



여기까지, 간단했지만 초고속으로 살펴본 Codename: Houston의 모습이었습니다. 사용해보고 싶으시다구요? https://www.sqlazurelabs.com/houston.aspx 페이지를 방문하시면 Codename: Houston을 무료로 사용해보실 수 있습니다. 별도의 가입 절차나 등록 절차가 없으니 자유롭게 이용해보시기 바랍니다. 참고로, 아직은 Out-of-browser Application Type으로는 이용하실 수 없으니 Google Chrome의 Application Link 생성 기능을 이용하여 URL 자체를 창으로 띄울 수 있도록 구성하시면 더욱 편리하게 이용하실 수 있을 것입니다.


DB 연결 문자열 찾으러 멀리가지 마세요!

유명한 데이터베이스들에 접근하기 위한 연결 문자열 컬렉션을 제공하는 사이트가 있다. 흔히 사용하는 데이터베이스는 물론 데이터 파일, 액티브 디렉터리등에 연결할 수 있도록 해주는 연결 문자열을 모아놓았다. 보잘것 없어뵈지만 절대 보잘것 없지 않은 그런 사이트이니 북마크에 빠지면 안되겠다.

http://www.connectionstrings.com