Вычисления в облаке. Введение в SQL Azure

SQL Azure позволяет использовать преимущества знакомой платформы реляционных баз данных и облачных вычислений.

Джошуа Хоффман (Joshua Hoffman)

Данные – кровеносная система бизнеса. Обеспечение защиты, доступности и простого доступа к ним – фундаментальные требования любого ИТ-отдела. Что более важно, обеспечение верного использования данных, для осуществления процессов, принятия обоснованных решений и интеллектуального реагирования на меняющиеся обстоятельства, отличает успешные организации.

Способ обеспечения предприятиями доступности данных быстро меняется. Размещенные службы, и сама идея программного обеспечения как службы, для всего, начиная от основных функций центров обработки данных, таких как электронная почта и бизнес-аналитика, до персональных приложений, таких как приложения обмена фотографиями и синхронизации файлов, стали неотъемлемой частью взаимодействия с информацией. Объем облачных вычисления за последние несколько лет невероятно увеличился, как концептуально, так и как практический компонент ИТ-инфраструктуры.

Одно особенно привлекательное решение облачных вычислений – Microsoft SQL Azure. SQL Azure – это мощная знакомая инфраструктура для хранения, управления и анализа данных. Она также предоставляет преимущества облачных вычислений. Общая размещенная инфраструктура помогает уменьшить как прямые, так и косвенные издержки. Модель оплаты текущих доходов позволяет достигнуть большей эффективности. А высокая доступность (HA) и отказоустойчивость – стандартные функции.

Некоторые аспекты этой новой модели по-прежнему представляют проблему для ИТ-специалистов. Принятие верных решений относительно использования размещенных служб или собственной инфраструктуры – очень непростая задача. Необходимо добиться эффективной интеграции этих подходов, обеспечивая прочную безопасность и непрерывность бизнес-операций. Это только некоторые из проблем, которые должны решать ИТ-специалисты при оценке пригодности решений облачных вычислений для своих организаций.

Здесь я представлю SQL Azure с точки зрения ИТ-специалиста. Я рассмотрю работу SQL Azure, ее наилучшее применение в среде, рассмотрю, как приступить к работе и как обеспечить эффективную интеграцию с существующей инфраструктурой данных.

Что такое SQL Azure?

SQL Azure – это часть платформы Windows Azure: набор служб, предоставляющих размещенные вычисления, инфраструктуру, веб-службы и службы данных. Компонент SQL Azure обеспечивает полную функциональность реляционной базы данных SQL Server, а также функции службы облачных вычислений, размещенной в центрах обработки данных Майкрософт по всему миру.

SQL Azure обычно подходит во всех случаях, когда требуются службы баз данных. Существует несколько аспектов, когда SQL Azure особенно подходит:

  • Совместная работа. Благодаря перемещению данных в облако, SQL Azure создает центр совместной работы. При необходимости совместного доступа к информации за рамками организационных границ, между филиалами и т.д. размещенные службы помогают уменьшить сетевые препятствия, одновременно обеспечивая защиту данных.
  • Масштабирование. Одно из неотъемлемых преимуществ облачных вычислений – возможность добавления инфраструктуры при необходимости, что позволяет динамически расширять возможности приложений с ростом потребностей. Это особенно полезно при значительном изменении максимальной нагрузки приложений с течением времени (таких как приложения для розничной торговли в праздники и т.д.).
  • Консолидация. С ростом потребности в более детализированных функциях реляционной базы данных и их перехода отдельными отделам и рабочим группам внутреннее управление разросшейся базой данных становится непростой задачей. SQL Azure позволяет консолидировать базы данных отделов и рабочих групп, а также обеспечивает комплексное предоставление и упрощенное управление для администраторов, позволяя им просто обеспечивать соответствие требованиям отделов.
  • Размещенные приложения. Если вы уже размещается другие рабочие процессы на платформе Windows Azure (например, веб-приложения), интеграция размещенных рабочих процессов реляционной базы данных в SQL Azure выполняется очень просто. Платформа также позволяет повысить производительность приложений благодаря уменьшению сетевого трафика.
  • Снижение затрат. В зависимости от устанавливаемых рабочих процессов модель оплаты текущих доходов, предоставляемая облачными вычислениями, может обеспечить наиболее экономичный подход.

В сущности, основная функция SQL Azure и традиционных серверов SQL – взаимозаменяемость, за исключением некоторых ограничений размера база данных платформы Windows Azure (более подробные сведения доступны в документе Вопросы и ответы по SQL Azure). Каждый подход имеет собственные преимущества и издержки в отношении инфраструктуры, так что это лишь вопрос выбора наилучшего варианта для конкретного случая. Также можно распределить рабочие процессы между обеими платформами, сохранив тесную интеграцию.

Начало работы с SQL Azure

Можно просто приступить к работе с SQL Azure, особенно если вы знакомы с традиционными инструментами управления SQL Server, такими как SQL Server Management Studio (который можно использовать для управления экземплярами SQL Azure).

Первый шаг – настройка учетной записи для платформы Windows Azure, которая предоставляет доступ к службам Windows Azure, включая Windows Azure, SQL Azure и Windows Azure AppFabric (которая предоставляет разработчикам средства для соединения приложений и служб за рамками границ организации и сети). После настройи учетной записи можно воспользоаться панелью управления 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 может поддерживать до 5 ГБ данных, а одна база данных Business Edition поддерживает до 50 ГБ. (В business edition используются увеличения биллинга в 10 ГБ: 10 ГБ, 20 ГБ, 30 ГБ, 40 ГБ и 50 ГБ.)

На панели управления также указывается имя сервера для экземпляра SQL Azure, а также строки подключения ADO.NET или ODBC, используемые для подключения к базе данных (на основе проверки подлинности SQL; проверка подлинности Windows не поддерживается в SQL Azure). После этого можно использовать строки подключения в приложении, создать объект ODBC или подключить данные сервера к инструменту управления, такому как SQL Server Management Studio (см. рис. 2).

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

Рис. 2 Инструмент SQL Server Management Studio, подключенный к базе данных SQL Azure

В качестве дополнительной меры обеспечения безопасности на панели управления SQL Azure присутствует окно параметров брандмауэра. В нем можно указать IP-адреса, для которых доступна база данных. Можно ввести любое сочетание отдельных адресов, диапазон адресов или разрешить другие службы Майкрософт (чтобы обеспечить доступ экземпляров Windows Azure и размещенных приложений к базам данных).

После этого взаимодействие с данными, хранящимися в SQL Azure, аналогично работе с собственным сервером SQL Server. Используя SQL Server Management Studio, можно выполнять все традиционные задачи SQL Server: создание таблиц, представлений и хранимых процедур; импорт данных; выполнение инструкций T-SQL и т.д.

База данных, находящаяся в облаке, также должна предоставлять некоторые облачные инструменты управления. Облегченная альтернатива SQL Server Management Studio, SQL Azure Labs создала веб-инструмент управления для баз данных SQL Azure под названием Microsoft Project под кодовым названием «Houston». Он позволяет быстро разрабатывать, выполнять развертывание и управлять базами данных в облаке.

Созданный с помощью Microsoft Silverlight, Project Houston предоставляет веб-инструмент управления базами данных для нескольких платформ для выполнения основных задач управления базами данных, таких как разработка и выполнение запросов, проектирование и редактирование схемы базы данных и редактирование табличных данных. Однако стоит отметить, что в настоящий момент Project Houston доступен только в качестве CTP-версии, поэтому он официально не поддерживается стандартными службами поддержки Майкрософт.

Интеграция с сервером SQL Server

Существует множество способов интеграции SQL Azure с существующей инфраструктурой SQL Server. Большинство традиционных средств для интеграции и переноса данных между серверами также доступно для SQL Azure, включая службы интеграции SQL Server, позволяющие импортировать/экспортировать данные, преобразовывать и хранить их. SQL Azure также поддерживает мастер SQL Server Import and Export Wizard, входящий в состав набора инструментов SQL Server Management Studio для копирования баз данных и переноса данных в SQL Azure (см. рис. 3).

Figure 3 Working with the SQL Server Import and Export Wizard

Рис. 3. Работа с мастером SQL Server Import and Export Wizard

Существует другая возможность интеграции SQL Azure с существующей инфраструктурой в разработанном сообществе наборе инструментов под названием SQL Azure Migration Wizard. Мастер позволяет выбрать существующие объекты SQL Server 2005/2008 и создает соответствующие сценариях SQL для переноса этих объектов в SQL Azure. Хотя он официально не поддерживается Майкрософт, мастер SQL Azure Migration Wizard широко поддерживается сообществом, включая видео с демонстрацией процесса использования инструментов. 

Наконец, SQL Azure Data Sync (в настоящий момент доступна CTP-версия) – это служба синхронизация, размещенная в облаке, обеспечивающая двунаправленную синхронизацию данных между клиентскими серверами SQL Server и SQL Azure, а также между базами данных SQL Azure в различных местоположениях (предоставляя функции географической репликации).

Служба SQL Azure Data Sync основана на платформе Microsoft Sync Framework, и поэтому она предоставляет подобный подход для синхронизации данных в различных местоположениях. Хотя опять стоит упомянуть, что SQL Azure Data Sync – это CTP-версия, которая в настоящий момент не поддерживается службами поддержки Майкрософт.

Преимущества облачных вычислений неоспоримы. Снижение затрат, консолидации серверов, предоставление по требованию и географическая рассредоточенность, предоставляемые облачными вычислениями, представляют только небольшую часть преимуществ переноса данных в облако. SQL Azure сочетает высокую производительность и знакомую среду SQL Server с преимуществами облачных вычислений. Она может успешно использоваться как решение для любой организации, стремящейся создать динамическую и экономичную среду управления данными.

Joshua Hoffman

Джошуа Хоффман (Joshua Hoffman)* - бывший главный редактор журнала TechNet Magazine. Сейчас он является независимым автором и консультантом по технологиям и маркетингу в сфере потребительского спроса. Также Хоффман является главным редактором сайта ResearchAccess.com, посвященного развитию и привлечению новых специалистов в сообщество исследования рынка. Он живет в Нью-Йорке..*

Материалы по теме