클라우드 컴퓨팅: SQL Azure 소개

SQL Azure를 사용하면 익숙한 관계형 데이터베이스 플랫폼의 장점과 클라우드 컴퓨팅의 장점을 함께 얻을 수 있습니다.

Joshua Hoffman

데이터는 비즈니스의 핵심 요소입니다. 데이터의 보안과 가용성을 확보하고 손쉽게 액세스할 수 있도록 하는 것은 모든 IT 부서의 기본적인 요구 사항입니다. 또한 이 데이터가 올바르게 사용되도록 하는 것(프로세스를 이끌고 의사 결정을 위한 정보를 제공하고 변화하는 환경에 지능적으로 대응하는 것)은 성공적인 기업과 뒤쳐지는 기업을 구별하는 요소입니다.

기업에서 데이터의 가용성을 확보하는 방법은 빠르게 변화하고 있습니다. 전자 메일 및 비즈니스 인텔리전스와 같은 핵심 데이터 센터 기능부터 사진 공유 및 파일 동기화와 같은 개인용 응용 프로그램에 이르기까지 모든 요소에 대해 호스트되는 서비스와 서비스 형태의 소프트웨어라는 개념은 이제 우리가 일상적으로 정보와 상호 작용하는 방법이 되었습니다. 클라우드 컴퓨팅은 지난 몇 년 동안 개념으로서도, 실용적인 IT 인프라 구성 요소로서도 빠르게 성장했습니다.

특히 매력적인 클라우드 컴퓨팅 솔루션 하나는 Microsoft SQL Azure입니다. SQL Azure는 데이터를 저장, 관리, 분석하기 위한 강력하면서도 친숙한 인프라이며 클라우드 컴퓨팅의 장점도 제공합니다. 호스트되는 공유 인프라는 직접 비용과 간접 비용을 줄이는 데 모두 도움이 됩니다. 사용량에 따른 비용 청구 모델을 통해 더 높은 효율성을 달성할 수 있습니다. HA(고가용성)와 내결함성도 기본으로 제공됩니다.

그러나 여전히 이 새 모델의 어떤 측면들은 IT 전문가에게 과제를 의미합니다. 호스트되는 서비스 또는 내부 인프라 사용과 관련하여 올바른 선택을 하는 것은 어려운 과제입니다. 이러한 방법들 사이의 원활한 통합을 확보하고 강력한 보안과 비즈니스 연속성 계획을 유지해야 합니다. 조직에 사용할 클라우드 컴퓨팅 솔루션을 평가할 때 IT 전문가가 고려해야 하는 몇 가지 사항이 있습니다.

여기서는 IT 전문가 관점에서 SQL Azure를 소개해 보겠습니다. SQL Azure의 동작 방법, 가장 적합한 환경, 시작하는 방법과 기존 데이터 인프라와의 원활한 통합 방법에 대해 살펴보겠습니다.

SQL Azure란?

SQL Azure는 호스트되는 컴퓨팅, 인프라, 웹 서비스 및 데이터 서비스 제품군인 Windows Azure 플랫폼의 일부입니다. SQL Azure 구성 요소는 SQL Server의 관계형 데이터베이스 기능을 모두 제공하면서 전 세계 Microsoft 데이터 센터에 호스트되는 클라우드 컴퓨팅 서비스로서의 기능도 제공합니다.

SQL Azure는 대체로 데이터 센터 서비스가 필요할 때 언제든 적합합니다. SQL Azure가 특히 적합한 몇 가지 부문은 다음과 같습니다.

  • 공동 작업: SQL Azure는 데이터를 클라우드로 옮기므로 공동 작업 허브를 구축하는 데 유용합니다. 예를 들어 조직 경계를 넘어, 지사 간에 정보에 대한 액세스 권한을 공유해야 하는 경우 호스트되는 서비스를 사용하면 데이터 보안을 유지하면서 네트워크 장애물을 줄일 수 있습니다.
  • 규모: 클라우드 컴퓨팅의 근본적인 장점 중 하나는 주문형으로 인프라를 추가하는 기능입니다. 이 기능을 통해 수요가 증가함에 따라 응용 프로그램 용량을 동적으로 확장할 수 있습니다. 이는 호스트되는 응용 프로그램의 최대 사용량이 시간에 따라 급격하게 변화하는 경우(예: 연휴 기간의 소매 응용 프로그램 등) 특히 유용합니다.
  • 통합: 관계형 데이터베이스 기능에 대한 요구가 더 세분화되어 개별 부서와 작업 그룹 단위로 쪼개짐에 따라 내부적인 “데이터베이스 스프롤(sprawl)” 관리가 어려워질 수 있습니다. SQL Azure는 부서 및 작업 그룹 데이터베이스, 턴키 프로비저닝 및 간소화된 관리를 통합하므로 관리자가 더 쉽게 부서별 요구 사항을 충족할 수 있습니다.
  • 호스트되는 응용 프로그램: 이미 Windows Azure 플랫폼에 다른 작업을 호스트 중이라면(예: 웹 응용 프로그램) SQL Azure에서 호스트되는 관계형 데이터베이스 작업을 간단히 통합할 수 있습니다. 이렇게 하면 네트워크 트래픽을 줄임으로써 응용 프로그램 성능도 극대화할 수 있습니다.
  • 비용 효율성: 설치하려는 작업에 따라 클라우드 컴퓨팅이 제공하는 사용량에 따른 비용 청구 모델이 가장 비용 효율적인 방법을 제공할 수 있습니다.

일반적으로 SQL Azure와 기존 SQL의 기본적인 기능은 상호 호환되지만 Windows Azure 플랫폼의 일부 데이터베이스 크기 제한은 예외입니다(자세한 내용은 SQL Azure 질문과 대답 참조). 각 방법은 인프라 측면에서 서로 다른 장점과 비용을 제시하므로 개별 비즈니스 사례에 따라 가장 잘 맞는 것을 선택하면 됩니다. 긴밀하게 통합된 방식으로 두 플랫폼에 작업을 분산시킬 수도 있습니다.

SQL Azure 시작

SQL Azure를 시작하기는 간단합니다. 특히 SQL Server Management Studio(SQL Azure 인스턴스를 관리하는 데 사용할 수 있음)와 같은 기존 SQL Server 관리 도구에 익숙한 경우 더 쉽습니다.

첫 번째 단계는 Windows Azure 플랫폼을 위한 계정을 설정하는 것입니다. 이 계정은 Windows Azure, SQL Azure 및 Windows Azure AppFabric(개발자에게 조직 및 네트워크 경계를 넘어 응용 프로그램과 서비스에 연결하는 방법을 제공함)을 포함한 Windows Azure 서비스에 대한 액세스 권한을 제공합니다. 계정을 설정하면 SQL Azure 제어판에 액세스할 수 있습니다(그림 1 참조).

Figure 1 A close look at the SQL Azure control panel

그림 1 SQL Azure 제어판의 세부적인 모습

SQL Azure 제어판을 사용하면 계정 내에서 새 데이터베이스를 만들 수 있습니다. 각 데이터베이스를 Web Edition 또는 Business Edition 데이터베이스로 정의할 수 있습니다. 하나의 Web Edition 데이터베이스는 최대 5GB의 데이터를 지원할 수 있으며 하나의 Business Edition 데이터베이스는 최대 50GB를 지원합니다. Business Edition의 청구 증분 단위는 10GB입니다. 즉, 10GB, 20GB, 30GB, 40GB, 50GB입니다.

이 제어판은 데이터베이스에 연결하는 데 사용할 수 있는 ADO.NET 또는 ODBC 연결 문자열과 함께 SQL Azure 인스턴스에 대한 서버 이름도 제공합니다(SQL 인증을 기반으로 함. Windows 인증은 SQL Azure에서 지원되지 않음). 응용 프로그램 내에서 연결 문자열을 사용하고 ODBC 개체를 만들거나 SQL Server Management Studio와 같은 관리 도구에 서버 정보를 입력할 수 있습니다(그림 2 참조).

Figure 2 SQL Server Management Studio connected to a SQL Azure database

그림 2 SQL Azure 데이터베이스에 연결된 SQL Server Management Studio

추가 보안 조치로 SQL Azure 제어판 내에서 방화벽 설정 창을 볼 수 있습니다. 이 창을 통해 데이터베이스에 액세스할 수 있는 IP 주소를 지정할 수 있습니다. 개별 주소, 주소 범위 또는 다른 Microsoft 서비스에 대한 허용(이렇게 해야 사용자의 Windows Azure 인스턴스 및 호스트되는 응용 프로그램이 데이터베이스에 대한 액세스 권한을 가짐)을 조합해서 입력할 수 있습니다.

여기서 SQL Azure에 저장된 데이터와 상호 작용하는 방식은 사용자의 SQL Server에서 작업할 때와 동일합니다. SQL Server Management Studio를 사용하여 기존의 모든 SQL Server 작업(테이블, 뷰, 저장 프로시저 만들기, 데이터 가져오기, T-SQL 문 실행 등)을 수행할 수 있습니다.

클라우드 기반 데이터베이스라면 클라우드 기반 관리 도구도 제공해야 합니다. SQL Azure Labs는 SQL Server Management Studio의 간소화된 대안으로 Microsoft 프로젝트 코드 이름 “Houston”이라는 SQL Azure 데이터베이스용 웹 기반 관리 도구를 만들었습니다. 이 도구는 클라우드에서 신속하게 데이터베이스를 개발, 배포 및 관리할 수 있는 간단한 방법을 제공합니다.

Microsoft Silverlight로 만들어진 Project Houston은 쿼리 작성 및 실행, 데이터베이스 스키마 디자인 및 편집, 테이블 데이터 편집과 같은 기본적인 데이터베이스 관리 작업을 위한 플랫폼 간 호환이 가능한 웹 기반 데이터베이스 관리 도구를 제공합니다. 다만 현재 Project Houston은 CTP(Community Technology Preview)로만 제공되므로 표준 Microsoft 지원 서비스에서 지원되지 않습니다.

SQL Server와의 통합

SQL Azure를 기존 SQL Server 인프라와 통합하는 방법은 많습니다. 여러 서버에 걸쳐 데이터를 통합하고 마이그레이션하기 위한 기존의 방법은 대부분 SQL Azure에서도 사용할 수 있습니다. 여기에는 데이터 가져오기/내보내기, 데이터 변환, 데이터 웨어하우스 등을 허용하는 SQL Server Integration Services도 포함됩니다. SQL Azure는 SQL Azure에서 데이터베이스를 복사하고 데이터를 마이그레이션하기 위해 SQL Server Management Studio 도구 집합에 포함된 SQL Server 가져오기 및 내보내기 마법사도 지원합니다(그림 3 참조).

Figure 3 Working with the SQL Server Import and Export Wizard

그림 3 SQL Server 가져오기 및 내보내기 마법사 사용

커뮤니티에서 개발한 도구 집합인 SQL Azure Migration Wizard에도 기존 인프라에 SQL Azure를 통합하기 위한 또 다른 옵션이 있습니다. 이 마법사는 기존 SQL Server 2005/2008 개체 선택 과정을 안내하고 이러한 개체를 SQL Azure로 마이그레이션하기 위한 SQL 스크립트를 만듭니다. SQL Azure Migration Wizard는 Microsoft에서 공식적으로 지원하지는 않지만 도구 사용 프로세스를 안내하는 비디오를 포함하여 광범위한 커뮤니티 지원을 이용할 수 있습니다.

마지막으로, SQL Azure Data Sync(현재 CTP로 제공됨)는 내부 SQL Server와 SQL Azure 사이, 그리고 서로 다른 위치에 있는 SQL Azure 데이터베이스 사이(지역 복제 기능 제공)에 양방향 데이터 동기화 기능을 제공하도록 설계된 클라우드 기반 동기화 서비스입니다.

SQL Azure Data Sync는 Microsoft Sync Framework를 기반으로 하므로 여러 위치에 걸쳐 데이터를 동기화하기 위한 익숙한 방법을 제공합니다. 단, SQL Azure Data Sync 역시 CTP이며 현재 Microsoft 지원 서비스에서 지원하지 않습니다.

클라우드 컴퓨팅의 장점은 뚜렷합니다. 클라우드 컴퓨팅이 제공하는 비용 효율성, 서버 통합, 요청에 따른 프로비저닝, 지리적 다양성은 데이터를 클라우드로 이동하여 얻게 되는 장점의 시작일 뿐입니다. SQL Azure는 SQL Server의 강력한 성능 및 익숙한 환경과 클라우드 컴퓨팅의 장점을 결합합니다. 더 동적이고 비용 효율적인 데이터 관리 인프라를 구축하고자 하는 모든 조직에게 적합한 솔루션이 될 것입니다.

Joshua Hoffman

Joshua Hoffman은 TechNet Magazine의 전 편집장입니다. 현재 독립적인 저자이자 컨설턴트로 활동하면서 고객에게 기술과 청중 지향 마케팅에 대해 조언하고 있습니다. Hoffman은 시장 조사 커뮤니티의 성장 및 향상을 위한 사이트인 ResearchAccess.com의 편집장으로도 활동 중입니다. Hoffman은 뉴욕 시에 거주하고 있습니다.

관련 콘텐츠