Windows Azure SQL Database - типичный пример PaaS. Платформа обработки данных, которая в Microsoft вот уже 23 года ассоциируется с названием SQLServer, представлена как облачный сервис. Как будто большой-пребольшой SQL Server навис над миром, размазанный в Облаке Он умеет держать ваши базы и отзываться на (T-)SQL-запросы, как и обычный SQL Server, стоящий где-нибудь в соседней комнате. Хотя SQL Server большой-пребольшой, он имеет некоторые ограничения по сравнению с тем SQL Server, который за стенкой.
В июне 2012 года на конференции TecheEd в Орландо было объявлено о включении IaaS в облачное предложение Microsoft. Под инфраструктурой понимались виртуальные машины и виртуальные сети в Облаке, при этом в качестве операционных систем для облачных виртуалок могли использоваться не только ОС производства Microsoft. но и SUSE Linux Enterprise Server 11 SP2, OpenSUSE 12.1, CentOS 6.2, Ubuntu 12.04. "Our support of Linux is one example of how we are embracing openness in a fundamental new way" - заявил корпоративный вице-президент Microsoft по Windows Azure Скотт Гатри. Ну да бог с ним, с Линуксом. Принципиальное отличие от SQL Azure в данном случае состоит в том, что теперь это не Облако, обладающее функциями SQL Server, а полноценный SQL Server, установленный на виртуальной машине, расположенной где-то в нависшем над миром Облаке. В статье Георгия Гаджиеваописывается создание SQL Serverной виртуалки из галереи в Облаке, но для начала предстоит получить туда доступ. Для разработчиков наиболее очевидный способ - это подписка MSDN, которая, кроме возможности скачивать массу полезных продуктов, дает бесплатный доступ в Облако в пределах следующих лимитов:
SUBSCRIPTION LEVEL | VISUAL STUDIO PROFESSIONAL WITH MSDN | VISUAL STUDIO PREMIUM WITH MSDN | VISUAL STUDIO ULTIMATE WITH MSDN |
Cloud Services | 375 hours of the Small Instance | 750 hours of the Small Instance | 1,500 hours of the Small Instance |
CDN Transactions | 500,000 | 1,000,000 | 2,000,000 |
CDN Data Transfers | 25 GB Out | 30 GB Out | 35 GB Out |
Storage | 35 GB | 40 GB | 45 GB |
Storage Transactions | 50,000,000 | 75,000,000 | 100,000,000 |
SQL Database Web Edition | 1 Database Unit* | 1 Database Unit* | 5 Database Units** |
Access Control Transactions | 100K | 200K | 500K |
Service Bus Messages | 500,000 | 1,000,000 | 1,000,000 |
Service Bus Relay Hours | 1,500 | 3,000 | 3,000 |
Caching | 128 MB cache | 128 MB cache | 128 MB cache |
Data Transfers (Worldwide) | 25GB Out Free In | 30GB Out Free In | 35GB Out Free In |
Annual Savings*** | $1500 | $2100 | $3700 |
Табл.1
Заходим в управление подпиской и говорим Activate Windows Azure:
Увеличить
Рис.1
Слева она напоминает, в каких пределах я могу пользоваться Облаком в рамках своей MSDN-подписки, а справа предлагает ввести кредитную карту, уверяя, что это делается только с целью моей идентификации и с нее ничего сниматься не будет, если только я явно не удалю spending limit. На всякий случай указал карточку с незначительной суммой кредита, которую обычно использую для интернет-покупок. После официального объявления Azure в России кредитки, выданные российскими банками, не вызывают отторжения.
Увеличить
Рис.2
Теперь заходим на http://www.windowsazure.com/ и жмем Portal в правом верхнем углу:
Увеличить
Рис.3
Потребуется ввести LiveID, привязанный к упомянутой выше MSDNовской подписке, после чего мы оказываемся в новом интерфейсе Windows AzureManagement Portal. Далее все делаем в соответствии с Гошиной статьей - жмем + NEW в левом нижнем углу для создания новой виртуальной машины:
Увеличить
Рис.4
и видим, что в разделе Compute изо всех пунктов (Wev Site, Virtual Machine, Mobile Service, Cloud Service) доступен только последний. Остальные требуетсявключать отдельно. Жмем пункт Account в верхнем меню Рис.3, выбираем Preview Features строчкой ниже и напротив Virtual Machines & Virtual Networksкликаем зеленую кнопку Try It Now.
Увеличить
Рис.5
Теперь в портале управления Azure появится опция создания виртуальных машин:
Увеличить
Рис.6
Кликаем в нее и говорим, что хотим создать виртуальную машину в Облаке из галереи, т.е. из заранее подготовленных Microsoft шаблонов образов:
Увеличить
Рис.7
Вот доступные на момент написания статьи образы в галерее:
Увеличить
Рис.8
По подписке MSDN причитается small instance VM, его и заказываю:
Увеличить
Рис.9
Для нужд текущего эксперимента достаточно отдельно парящей в Облаке виртуалки (standalone). DNS-имя образуется по принципу <ваша фантазия>.cloudapp.net. Фантазию, действительно, придется напрячь, потому что в отличие от Рис.9 это имя должно быть уникальным, а все мало-мальски очевидные имена давно разобрали. Storage Account необходим для хранения vhd. Для виртуалки выбранного типа он весит 30 гиг (Рис.22), что умещается в лимиты Табл.1. В качестве датацентра выбираю Дублин, хотя Амстердам, в принципе, ближе. Список центров обработки данных Azure можно посмотреть, например, в wiki. Не имеет большого значения, какой датацентр выбирать, т.к. стоимость трафикавезде одинакова, за исключением Южной и Юго-Восточной Азии. Главное, стараться держать все необходимое в пределах одного центра, чтобы минимизировать обмен данных между ними.
Увеличить
Рис.10
Availability Set в данном эксперименте не понадобится:
Увеличить
Рис.11
Виртуальная машина начинает создаваться. В моем случае процесс занял ~7-8 минут, когда созданная машина появилась в состоянии Stopped и еще ~1.5 минуты она стартовала.
Увеличить
Рис.12
Все, с машиной можно соединяться и начинать работать.
Увеличить
Рис.13
Будет предложено открыть или сохранить файл с настройками удаленного подключения <имя машины>.rdp. Используется соединение по DNS-имени, заданному на Рис.10
Рис.14
и порту в соответствии с автоматически созданной конечной точкой, параметры которой можно посмотреть, кликнув по имени машины на Рис.13 и выбрав пункт меню Endpoints:
Увеличить
Рис.15
Нажмите кнопку Connect на Рис.14. Укажите в качестве пароля Administrator заданный на Рис.9 пароль. Выданная в наше распоряжение виртуалка представляет собой Windows Server 2008R2 редакции DataCenter с SQL Server 2012 Evaluation Edition. На всякий случай напомню, что пробная редакция SQLServer эквивалентна по своей функциональности Enterprise Edition и ограничена лишь сроком использования (180 дней).
Увеличить
Рис.16
Посмотреть кол-во оставшихся до истечения пробного периода дней раньше можно было в SSMS - Help -About, но это было слишком просто и совершенно не развивало смекалку DBA, поэтому в версии 2012 эту информацию оттуда убрали. Теперь это можно сделать одним из описанных здесь способов. Например, запросом
select create_date AS 'SQL Server Install Date', DATEADD(DD, 180, create_date) AS 'SQL Server Expiry Date'
from sys.server_principals
where name = 'NT AUTHORITY\SYSTEM'
Обратите внимание, что в случае SQL Serverной виртуалки в Облаке реальный срок истечения пробной версии получается не через 180 дней, а раньше, т.к. образ, из которого создавалась виртуалка, собирался 2 августа, соответственно, тогда же устанавливался SQL Server.
Пока мы не совершили с виртуалкой ничего существенного, посмотрим обратный процесс - ее удаления. К виртуальной машине относятся сама виртуалка и storage, на котором хранится ее виртуальный диск.
Увеличить
Рис.18
Удалить диск, пока виртуалка активна, не дадут - вначале необходимо удалить виртуалку:
Увеличить
Рис.19
Следует иметь в виду, что удаление виртуалки не удаляет автоматически ее vhd, о чем предупреждается на этапе удаления. По времени удаление занимает примерно столько же, сколько и создание.
Увеличить
Рис.20
Затем следует зайти в Virtual Machines -> Disks и удалить оставшийся vhd, чтобы освободить ограниченный лимитами Табл.1 сторидж:
Увеличить
Рис.21
Удалить его как блоб через Storage Account, погрузившись в содержащий его контейнер (Рис.18) нельзя:
Увеличить
Рис.22
После удаления диска (Рис.21) контейнер опустевает и Storage Account, автоматически заведенный при создании виртуальной машины (Рис.10), в принципе, тоже можно удалить, если ни подо что больше он не используется.
Остается облачный сервис, содержащий заведенное на том же Рис.10 DNS-имя виртуальной машины.
Увеличить
Рис.23
После его удаления ничто больше не будет напоминать вам о былом существовании бренной виртуалки.
Обратите внимание, что в случае SQL Serverной виртуалки в Облаке реальный срок истечения пробной версии получается не через 180 дней, а раньше, т.к. образ, из которого создавалась виртуалка, собирался 2 августа, соответственно, тогда же устанавливался SQL Server.
Пока мы не совершили с виртуалкой ничего существенного, посмотрим обратный процесс - ее удаления. К виртуальной машине относятся сама виртуалка и storage, на котором хранится ее виртуальный диск.
Увеличить
Рис.18
Удалить диск, пока виртуалка активна, не дадут - вначале необходимо удалить виртуалку:
Увеличить
Рис.19
Следует иметь в виду, что удаление виртуалки не удаляет автоматически ее vhd, о чем предупреждается на этапе удаления. По времени удаление занимает примерно столько же, сколько и создание.
Увеличить
Рис.20
Затем следует зайти в Virtual Machines -> Disks и удалить оставшийся vhd, чтобы освободить ограниченный лимитами Табл.1 сторидж:
Увеличить
Рис.21
Удалить его как блоб через Storage Account, погрузившись в содержащий его контейнер (Рис.18) нельзя:
Увеличить
Рис.22
После удаления диска (Рис.21) контейнер опустевает и Storage Account, автоматически заведенный при создании виртуальной машины (Рис.10), в принципе, тоже можно удалить, если ни подо что больше он не используется.
Остается облачный сервис, содержащий заведенное на том же Рис.10 DNS-имя виртуальной машины.
Увеличить
Рис.23
После его удаления ничто больше не будет напоминать вам о былом существовании бренной виртуалки.