Мне известно, что Microsoft собирается выбросить слово Azure из названия технологии SQL Azure и переименовать ее в SQl Database, но в этой статье я буду использовать старое название.
В середине 2011 года мы выпустили новую систему для нашего клиента. Эта система требовала пару баз данных, web сервер и некоторый хостинг служб Windows. Нагрузка связанная с обработкой запросов была не очень существенная, так что мы легко смогли разместиться на небольшом выделенном сервере.
Наш клиент не имел собственной службы тех. поддержки, да и мы сами не хотели обслуживать их инфраструктуру. Бюджеты были жесткие, но некоторые простои могли допускаться при условии, что вмешательство человека не требовалось. Так как мы уже использовали Amazon SQS (Simple Queue Service), мы сразу же подумали об использовании Amazon EC2 с экземпляром SQL Express, виртуальную машину можно было бы перезагрузить с помощью AWS CloudFormation, если бы она зависла. Очень быстро стало понятно, что писать сценарии для того, чтобы вернуть БД в согласованное состояние будет задачей не простой и потребует немало времени, но сделать это надо было в самый сжатые сроки. Суммы за выделенные сервер доходили до нескольких тысяч долларов в год плюс плата за соединение, и подписать соглашение мы должны были на период от 1 до 3 лет. Все это заставило нас посмотреть в сторону Windows Azure и SQL Azure. SQL Azure предлагал нам вариант при котором поддержка была не нужна, по значительно более низкой цене, чем выделенный сервер. Кроме того SQL Azure не привязывает клиента к себе, то есть мы в любой момент могли отказаться от этой услуги. А так же данные копируются в реплику, то есть мы получили избыточную защищенность, которую не ожидали за те деньги, которые был готов платить клиент.
Переход от решения распологающегося на одном сервере потребовал внести изменения в некоторые части проекта, а так же некоторых усилий для уменьшения трафика между базой данных и приложением (так же как и с любой удаленной бд). На тот момент мы выбрали самый лучший вариант для клиента.
Соревнование, как правило, это хорошо, поэтому я был очень рад услышать, что Amazon расширила свою RDS (Relational Database Service) что бы включить SQL Server в дополнение к MySQL и Oracle. Мы уже использовали Amazon RDS для работы с MySQL, так что я очень хотел посмотреть, что RDS cможет предложить с SQL Server. Естественно, я хотел понять, поступаем ли мы правильно, все еще используя SQL Azure.