Облачные вычисления

индекс
32,15

SQL Azure

image
Эта статья — обзор общей концепции облачных вычислений, а так же новой технологии, представляемой компанией Microsoft под названием SQL Azure. Авторы: я и хабраюзер zzzhenya.

Введение
Представьте, что у Вас есть идея создания инновационного стартапа, который, например, будет представлять собой новую социальную сеть. Вам необходимо в кратчайшие сроки разработать технологическую базу для Вашего стартапа. Плюс ко всему это должно затребовать минимальных финансовых вливаний. И было бы совсем здорово, если бы созданная инфраструктура для социальной сети не нуждалась в постоянной поддержке, сопровождении и контроле со стороны разработчиков. Кажется, что все вместе эти требования удовлетворить абсолютно нереально. Но нет, можно рассмотреть в качестве варианта использование облачных технологий.
Преимущества облачных технологий
Облачные технологии – это концепция обработки данных, в которой вычисление и хранение данных осуществляется в облаке — удаленном датацентре. Все функции по предоставлению и управлению низкоуровневой инфраструктурой берет на себя «облако», полностью скрывая эти детали от пользователя. Среди плюсов организации таких вычислений можно отметить следующие:
  • Доступность. Услуга предоставляется через Интернет и является доступной круглосуточно при условии функционирования сервера-провайдера.
  • Использование технологии виртуализации, позволяющая сделать вычислительные ресурсы автономными и взаимно независимыми.
  • Расширяемость, масштабируемость. Обработка и хранение данных осуществляется на серверах удалённых дата-центров и распределена по физическим машинам, предоставляя ровно такие мощности, какие необходимы пользователю.
  • Условие оплаты по подписке и за фактический уровень потреблённых ресурсов («pay as you go») — потребитель платит ровно за то количество работы вычислительных мощностей, сколько им было использовано. Кроме того, такая организация оплаты существенно сокращает уровень капитальных издержек, что критично важно при выборе технологии для стартапа.
  • Лёгкость в использовании. Пользователю не нужно заботиться об инфраструктуре и сопровождении процессов обработки и хранения данных.
Предоставление в пользование вычислительных мощностей и баз данных датацентра может осуществляться в нескольких вариантах: SaaS, PaaS, HaaS, IaaS, CaaS — as a Service – в качестве Интернет-сервиса. S, P, H, I, C – Software, Platform, Hardware, Infrastructure, Communication – соответственно, программное обеспечение, платформа, аппаратное обеспечение, инфраструктура, коммуникации. Выбор варианта использования вычислительных мощностей напрямую зависит от целей деятельности.
Одним из провайдеров облачных технологий совсем скоро станет компания Microsoft, выходящая на рынок с облачной платформой под названием Windows Azure Platform. Эта платформа предоставляет как вычислительные мощности своих датацентров, уравляемыми облачной операционной системой Windows Azure, так и удаленную базу данных. Что особенно важно, .NET разработчики уже сейчас могут развернуть, например, своё ASP.NET приложение в облаке, используя свои навыки работы с .NET платформой.

Определение и основные характеристики SQL Azure
Одной из составляющих облачных технологий, предоставляемых компанией Microsoft, является услуга по предоставлению функционала облачной базы данных под названием SQL Azure
SQL Azure – проекция традиционного SQL Server на облако, предоставляющая возможности для работы с базой данных посредством интернет-сервисов. Эта технология позволяет хранить структурированную и неструктурированную информацию, исполнять реляционные запросы, а также предоставляет функционал для осуществления поиска, создания аналитических отчётов, интеграции и синхронизации данных. На данный момент SQL Azure поддерживает сервис реляционных баз данных, имеющий название SQL Azure Database.
SQL Azure Database – облачная платформа реляционной базы данных, построенная на технологиях SQL Server. При использовании этой платформы можно легко построить в облаке проект реляционной базы данных со всеми преимуществами, предоставляемыми любой облачной технологией. Кроме того, SQL Azure предоставляет высокий уровень безопасности со встроенной защитой данных, самовосстановлением и системой резервного копирования.
Два главных нововведения в SQL Azure являются переход к реляционной структуре и использование T-SQL. Эти новшества предоставляют разработчикам целый набор преимуществ. Во-первых, преимущества реляционной структуры данных (удобство в хранении и обработки). Во-вторых, использование привычного языка запросов, что позволяет использовать навыки работы с SQL Server а также работать с библиотеками ADO.NET и интерфейсами ODBC и OleDB.
Благодаря переходу на T-SQL, пользователи имеют возможность не только использовать стандартный функционал REST-протокола (получение/добавление/удаление единицы информации), но также и все преимущества T-SQL (создание/удаление таблиц/связей, выполнение разнообразных запросов и проч.). Однако разработчики всё же оставили возможность доступа по протоколу REST в SQL Azure, которую затем можно реализовать через «привязку» к ADO.NET. Подключение к базам данных может осуществляться как из веб (например Azure), так и из локального приложения, а управление данными предоставляется функционалом SQL Server Management Studio. Таким образом, как и все концепции SQL Azure, неизменным осталось поддержка высокого уровня масштабируемости, постоянной доступности (99,9% ежемесячной доступности согласно соглашению с пользователем), самовосстановления, множественное зеркалирование и многое другое.
Если в предыдущих версиях не осуществлялась поддержка схемы данных, была представлена минимальная реляционная функциональность, то теперь пользователи имеют возможность работать с традиционной RDBMS моделью данных. Что касается работы с нереляционной структурой данных, то теперь её можно осуществить в хранилище Windows Azure storage (кстати, с более низким уровнем оплаты, всего 15 центов за 1Гб и 1 цент за каждые 10 тысяч транзакций по сравнению с минимальным уровнем оплаты SQL Azure 9,99 $ за 1 Гб). Однако следует помнить, что SQL Azure Database имеет некоторые преимущества по сравнению с обычной базой данных в облаке: в SQL Azure Database предоставляется также инфраструктура по настройке, инсталляции и управлению базами данных.
Кроме того, в будущем релизе SQL Azure Database разработчики обещают создать полноценный веб-интерфейс по доступу и управлению хранимой в облаке информацией и предоставить весь объем программных средств и документации по поддержке дополнительных языков программирования.
Таким образом, в наиболее общем случае Ваше использование облачной базы данных SQL Azure может основываться на уже имеющихся навыках работы с локальной БД, поэтому перенос и последующее использование БД в облаке не потребует особенных дополнительных средств и усилий.

Ценовая политика и дата выхода SQL Azure
Существуют два варианта использования услуг SQL Azure:
Веб-издание включает в себя до 1 Гб для создания реляционной самоуправляемой базы данных с высоким уровнем доступности. Эта модель лучше всего подходит для веб-приложений. Стоимость ежемесячной подписки составляет 9,99 долларов.
Второе, бизнес-издание включает до 10 Гб самоуправляемой и постоянно доступной базы данных. Кроме того, для этого предложения включен дополнительный функционал, например автоматическое разделение базы данных на части, CLR-программирование и многое другое. Это издание предназначено для масштабных бизнес приложений и стоит 99,99 долларов в месяц.
Помимо этого, к расходам относится также оплата входящего (10 центов за 1 Гб) и исходящего — (15 центов за 1 Гб) трафика.Что касается планов по выходу технологии в релиз, то на WPC 2009 было объявлено о доступности бесплатной предварительной технологической версии (CTP) SQL Azure, а выход коммерческого варианта намечен на ноябрь 2009 на PDC 2009. Следовательно, попробовать технологию в действии можно уже сейчас, чтобы в дальнейшем в полной мере воспользоваться преимуществами коммерческого варианта продукта. Более подробную информацию, а также примеры работы с SQL Azure можно найти на сайте www.azure.com в разделе Resources.

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

Ссылки на материалы:
1) http://www.azure.com/
2) http://blogs.msdn.com/ssds/
3) http://www.microsoft.com/azure/sql.mspx
4) http://www.brentozar.com/..
5) http://www.itcommunity.ru/..
6) http://way2cloud.com/..
7) http://dev.net.ua/blogs/kosinsky/..
+11
11 августа 2009, 21:29
18

комментарии (31)

+1
oparinov #
Кстати, рады услышать ваш фидбэк и ответить на вопросы )
0
kem #
Планируется ли выпускать версию для установки на своем оборудовании? (свое маленькое облако, так сказать ;)

Как осуществляется защита данных между разными клиентами?
0
oparinov #
1) Нет, а смысл? Свое оборудование — значит определенный объем ресурсов, а значит оптимально для обычного SQL Server'a. Все преимущество облака как раз в том, что от вас скрываются все низкоуровневые задачи (масштабирование и проч.), а если оборудование ваше — их скрыть никак, конечно, не получится.
2) Клиентами облака? Естественно, вы не можете получить доступ в БД другого клиента.
+1
klepa #
а чем отличается t-sql в ms sql server от t-sql в SQL Azure? И что значит фраза «Благодаря переходу на T-SQL»?
+1
klepa #
понял — это sql data services по новому назвали
+1
oparinov #
Да, там долгая история переименования
way2cloud.com/post/2009/07/10/E78397A22DBAC748A78319064C339719.aspx
+2
oparinov #
Различия T-SQL в SQL Azure и MS SQL Server: way2cloud.com/post/2009/07/08/D7F1803CE7CF574EBF7DD39CCB5C70FA.aspx
НЛО прилетело и опубликовало эту надпись здесь
0
oparinov #
Теоретически нагрузочная способность не ограничена, облачная БД автоматически масштабируется.
+7
MaxFX #
Если будут DDoSить, вообще не расплатишься. ;)
+1
oparinov #
О, очень интересная мысль ) Я об этом не думал ) Попробую найти, что об этом говорят майкрософтовцы.
+1
easyman #
Нашли что-нибудь стоящее?
+1
easyman #
я нашел, одна ерунда какая-то

про azure
social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/6ae91d9d-d9a4-4005-a624-ee43ea1ac50a (Свежий вопрос, ответа пока нет)

еще вот это www.microsoft.com/azure/servicebus.mspx
но я что-то ничего не понял

про GAE
code.google.com/appengine/kb/billing.html#dos
+1
easyman #
короче, голяк.
самое стоящее, что можно сделать — свой http handler

social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/1a14fbb6-8619-4f98-a3b8-735a21e55948/
0
merqlove #
Можно что-то такое предпринять, или аналоги на других языках программирования.
forum.dklab.ru/viewtopic.php?p=157219

Ибо Microsoft врядли сделает затычку с упором на частоту коннектов.

Да и если они могут проследит кол-во транзакций, знач транзакции или подключения были, а значит платить в любом случае, Вам.
0
Scala #
Реляционные БД вроде бы пока ещё никто автоматически масштабировать не научился, именно поэтому Amazon, Google таких услуг не предоставляют. Без тестов на больших объёмах звучит довольно голословно.
+1
MaxFX #
Насколько я зная, Azure в России пока не будет поддерживаться, а хостить проекты в облаке «за бугром» не очень удобно.
+1
oparinov #
Верно, Россия вроде только в третьей волне.
А почему хостить зарубежом не удобно?
0
MaxFX #
Основная проблема в скоростных показателях. Сам за пределами России хостинг не заказывал, возможно — неправ.
+1
david_mz #
Вы знаете, на практике не так это и на практике. У меня значительная часть сайта — на штатовском амазоне, никаких особых тормозов из Москвы не наблюдается.
+1
david_mz #
Запутался в «практиках», сорри:) Правильно: «на практике это не так уж и страшно».
+2
bruce #
Тема интересная, но хотелось бы иметь какой-то более естественный текст, этот читается как коммерческий пресс-релиз. Например, к какой модели Azure ближе — Amazon EC2/S3 или Google App Engine? Больше возможностей ручного контроля или автоматическое масштабирование? Какие ограничения модели вычислений существуют? Как осуществляется sharding данных?
НЛО прилетело и опубликовало эту надпись здесь
+1
spxnezzar #
Все канечно заманчиво, да только дороговато. Я подобное уже видел на презенташке. Нам евангелисты поведали об этом, только тогда стоимость не смогли озвучить.
То что в России не будет этого сервиса, это не страшно я думаю. Что мешает заказать его в штатах или в европе?
Спасибо за «пресс-релиз» =) Было интересно.
+1
RodionV #
Дороговато как-то всего гиг БД за 10 баксов.
Эдак проще взять виндовс-хостинг на Мочахосте от 5 баксов с безлимитом
0
oparinov #
Вот за 5 баксов вы и платите за облачные преимущества :)
0
egge #
«минимальных финансовых вливаний» и microsoft как-то не ассоциируется вместе…
0
Reterius #
По-моему, у Microsoft есть 2 проблемы в сфере Web — это IE и цены на лицензии web-разработок, а значит и цены на хостинг :)
Начинающей что-либо делать команде легче использовать RoR или PHP-фреймворки, нежели платформу ASP .NET (и ASP .NET MVC), ибо первоначальные вложения тут идут больше (тот же нормальный VPS на Linux стоит 15$, а нормальный Windows VPS — раза в 2 дороже).
Вроде с одной стороны небольшие суммы, но так получается, что за те же деньги на Linux можно в 2 раза дольше использовать хостинг.
И тут так же. Все сейчас говорят об облаке, но если подсчитать, это будет чуть ли не дороже VPS раза в 4-5 (кто-то считал, я видел цифры около 60-70$ в месяц при небольшой нагрузке).
Это окупается тогда, когда проект уже раскручен и частично монетизирован, окупая сам себя, а для начала? :)

Инвесторов сразу искать — не гуд (да и Getting Real, например, говорит, что лучше меньшие затраты на начальном этапе и без инвестора)
Хорошо бы они ввели какие-нибудь правила для начинающих проектов (скажем, скидка 50%) — тогда за счет количества клиентов также бы все окупили :)
0
retran #
Для стартапов есть программа BizSpark, в которую входит подписка MSDN Premium на софт и Azure(вроде без ограничений), за 100 $ и на три года.
0
russum #
Интересно! Но хотелось бы увидеть сравнения с SimpleDB от амазона по скорости\нагрузке.
0
AlexS #
Кто нибудь получил invitation?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.