Платформа Windows Azure становится все более и более популярной в сфере облачных вычислений. Все больше и больше заказчиков хотят перенести свои существующие решения в облако. Очень часто одной из частей приложения, которую необходимо перенести в облако являются сервисы построения отчетов SQL Reporting Services (SSRS). В качестве аналога для платформы Windows Azure выступают SQL Reporting. SQL Reporting – это сервис платформы Windows Azure для построения отчетов в SQL Azure, эквивалентный обычным SQL Server Reporting Services для SQL Server. На первый взгляд оба сервиса предоставляют одинаковые возможности построения отчетов, при том, что SQL Reporting гораздо дешевле обычного SSRS. Давайте проверим так ли это.
Сравнение цен
Оба решения могут быть использованы для построения multi-tenant сценариев, когда одним сервисом пользуется несколько заказчиков, оба решения могут быть использованы в связке с базой данных как обычного SQL Server, так и SQL Azure.
В качестве примера рассмотрим несколько абстрактных заказчиков, веб-сервисы которых размещаются в облаке Windows Azure и обслуживают некоторое количество клиентов.
Давайте посмотрим на таблицу цен обоих решений.
* — SQL Reporting предоставляет возможность генерации 30 отчетов за час вычислений по цене $0,16.
** — Используется цена SQL Server Standard Edition
На первый взгляд SQL Reporting действительно значительно дешевле обычного SQL Server, установленного на виртуальной машине. Однако, давайте представим, что к примеру у заказчика “Small” будет не 1 клиент, который генерируют по 31 отчету в час, а, к примеру, 5? Как изменится цена?
Как видим в этом случае даже для заказчика “Small” цена на сервис SQL Reporting превышает стоимость отдельной виртуальной машины с SQL Server! Эта разница будет увеличиваться соответственно количеству клиентов для каждого заказчика. Кроме того, важно помнить, что если вы за час, допустим, сгенерировали 31 отчет, это значит, что цена за SQL Reporting будет составлять $0.16 (30 из 30 отчетов) + $0.16 (1 из 30 отчетов) = $0.32. В то время как в случае с обычным SQL Server мы платим только за время работы виртуальной машины.
Кроме того, в цену виртуальной машины с SQL Server включена стоимость всех возможностей. То есть эту виртуальную машину можно использовать не только для генерации отчетов, но и размещения баз данных и т.д.
SLA
Вероятно, вы думаете, что SQL Reporting предоставляет SLA гораздо выше, чем виртуальная машина? Однако вы ошибаетесь. Согласно информации Windows Azure Service Level Agreements SLA для SQL Reporting составляет 99.9%.
Да, обычная виртуальная машина имеет такой же SLA, однако не следует забывать о том, что мы можем сконфигурировать 2 виртуальные машины и объединить их в availability set. Таким образом, мы получим SLA равный 99,95%!
Поддержка multi-tenant сценариев
Очень часто заказчик хочет иметь один сервис построения отчетов для различных своих клиентов. Это удобно, поскольку каждый набор отчетов может иметь разный источник данных. К примеру, мы можем использовать один и тот же набор отчетов, но разные базы данных, реализовав, таким образом, сценарий multi-tenant. Вот краткое сравнение SQL Reporting и SSRS согласно этим требованиям.
Как вы можете видеть, обе технологии предназначены для использования в multi-tenant сценариях. Отличие лишь в том, что для связи с базой данных SQL Server может использовать также Windows аутентификацию. Остальные отличия уже были описаны ранее.
В следующий раз мы рассмотрим два варианта настройки сервисов построения отчетов в Windows Azure. Если тема, вам интересна, отписывайтесь в комментариях! Всем хорошего начала рабочей недели!
Автор: RisingStar