Главное Авторские колонки Вакансии Образование
470 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Как мы победили виртуализацию

Мнение автора может не совпадать с мнением редакции
Немного саморекламы

Наш стартап www.lemonprint.ru, специализируюется на изготовлении полиграфии для малого бизнеса. Мы себя называем Интернет-магазином визиток, так как, по сути, им и являемся. Изготовление визиток - далекую от инноваций задачу - мы решаем вполне современным и технологичным способом:

  • Построили свой онлайн редактор на jQuery, чтобы клиенты сами делали себе визитки, и соединили его с издательской системой и платформой электронной коммерции
  • Разработали свою CRM систему, чтобы следить за статусами изготовления и доставки заказов, информировать клиентов по SMS и e-mail
  • Разработалиплатформу для подключения и автоматизации работы с подрядчиками (типографиями и курьерскими компаниями) с вытекающим финансовым учетом

Клиенты нас выбирают в основном потому, что мы работаем быстро – большинство заказов готовы к выдаче на следующий день после размещения заказа онлайн, и дешево – не надо платить за разработку макета.

О чем собственно статья?

Статья о том, как для нашего развития мы использовали программу BizSpark от Microsoft. А именно, возможность в рамках этой программы пользоваться облачными средствами WindowsAzure.

Облачные средства WindowsAzure это большой набор гибких и масштабируемых сервисов. Но для нас это в первую очередь:

  1. Хостинг ASP.NET/PHP с соответствующими БД для нашего сайта,
  2. Хранилище неструктурированных данных BLOB, которое можно использовать для хранения загружаемых пользователями файлов или как сетевой диск для нужд вашей команды
  3. Виртуальные серверы

В нашем случае мы используем все перечисленные средства, но речь в данной статье пойдет о виртуальных серверах.

Сервер для автоматизации всего, чего угодно

Для подготовки макета полиграфической продукции к печати мы пользуемся профессиональной издательской системой LaTex. Эта система обладает гибким программным интерфейсом и совершенно бесплатна.

Нам удалось построить программный интерфейс к этой системе, который мы соединили с нашим jQuery редактором так, что по http-запросу web-server, установленный на виртуальной машине запускает LaTeX, и тот выполняет необходимые операции по формированию и подготовке макета к печати, а результат записывает в упомянутое выше BLOB хранилище.

Вообще такая модель - специфический программный продукт, установленный на виртуальном сервере и управляемый по http – имеет очень широкое применение. Фантазию могут ограничивать только лицензионные соглашения на программный продукт.

Виртуализация виртуализации рознь

Вышеперечисленная автоматизация была придумана нами еще до того, как мы стали участниками BizSpark. Но вот с провайдерами подходящих сервисов были проблемы.

В начале для запуска LaТеХ в облаке была выбрана платформа VmWarevSphere. Нам выделили ресурсы - квотами по 1GhzCPU, 1 GbRAM, 20Gb HDD в малоизвестном дата-центре.Мы развернули WindowsXP с установленным LaТеХ. Все вроде бы работало, но были явные проблемы со стабильностью и производительностью системы. Кроме того, за относительнонебольшие ресурсы приходилось платить по 50$ за квоту.

Следующим местом хранения наших виртуальныхсистем стала VmWareDirector, одного из лидеров виртуального рынка России. Стабильность системы нареканий не вызывала, но ресурсов явно не хватало и требовалась установка как минимум WindowsServer 2003. А эта система у провайдера стоит напорядок дороже, чем WindowsXP и требует еще больше ресурсов.Минимальная стоимость аренды квоты такой ячейки, которая бы нам подошла, у провайдера стоила 200$, что на том этапе развития стартапа было для нас некомфортно.

Интересно, что в переходные периоды между провайдерами мы запускали систему на нашем собственномоборудовании: компьютер MacMinii5 2.4Ghz, 4Gb, 500GbHDD с установленной виртуальной машиной второго уровня - VirtualBox от Oracle. Удивительно, но система работала гораздо быстрее, чем на в дата-центрах профессиональных операторов.

Azure рулит!

В программу BizSpark мы вступили ради саморекламы. Однако облачные ресурсы WindowsAzure, предоставляемые бесплатно в рамках программы оказались очень кстати.

Не без сложностей, конечно, но нашу издательскую систему и http-интерфейс к ней удалось успешно запустить на виртуальных машинах WindowsAzure. На данный момент пользуемся планом SmallInstance - Windows 2008 ServerR2 DataCenter, 2.09 GhzCPU, 768 MbRAM, 127 Gb + 20 GbHDD. Полученный результат нас удивил, в хорошем смысле слова:

  1. Впечатлила скорость работы.
  2. Впечатлило удобство развертывания и клонирования виртуальных машин. В облаках VmWare большинство операций выполнялось с помощью персонала дата-центра, а копирование или конвертация машин из облака в облако занимала до нескольких дней.
  3. Цена виртуализации для нас - нулевая, так как мы укладываются в квоту, которую Microsoft выделяет технологическим стартапам, участникам BizSpark. Мало того, мы пока расходуем только часть этой квоты.

Помимо создания виртуального сервера для издательской системы, мы успешно перенесли на хостинг WindowsAzure тестовые среды для наших сайтов. WindowsAzure не ограничивает количество разворачиваемых web-приложений в рамках одной подписки, а берет оплату за используемые ресурсы. Это оказалось очень кстати, так как проект быстро растет, и появляются ответвления (CRM, сайт партнерской программы, блог), которые удобно выделять в отдельные веб-сайты. Надо отметить, что скорость работы хостинга на WindowsAzure тоже ощутимо отличается в лучшую сторону от всего, что мы пробовали раньше.

Но не без ложки дегтя

Сервисы Azure действительно хороши и очень просты и удобны в развертывании и, самое главное, масштабируемы. Однако работая с ними, мы заметили и несколько неудобств:

  1. MSSQLServer предоставляемый в рамках WindowsAzure имеет SQL-диалект, который слегка отличается от традиционного MSSQLServer 2005/2008/2012. Например, в силу особенностей платформы не поддерживаются команды Use, и есть требование, чтобылюбая таблица обязательно имела PrimaryKeyClustered. Отличия от стандартного MSSQL незначительны и обоснованы, но они усложняют процедуру миграции существующих приложений на WindowsAzure. К счастью, есть некоммерческие проекты, такие как SQLAzureMigrationWizard на CodePlex, которые помогают с миграцией.
  2. Нет возможности развертывания на платформе WindowsAzure операционной системы Windows со своими клиентскими лицензиями, видимо, из-за политики лицензирования Microsoft. А именно, развертывание образа не проходит процедуру provisioning. Таким образом, мигрировать существующий и работающий образ виртуальной машины c операционной системой Windows на платформу WindowsAzure не получится.
  3. В создаваемых виртуальных машинах Windows платформе WindowsAzure диск D:\ выделяется системой как временный для хранения виртуальной памяти. При выключении машины (но не при перезагрузке) этот диск очищается. Поэтому по незнанию данные на диске D:\ можно потерять.

В завершение нужно отдать Microsoft должное – вышеперечисленные неудобства (или лучше сказать особенности) невелики по сравнению с удобством и производительностью, которые предоставляет сервис WindowsAzure, а программа MicrosoftBizSpark дает возможность начать пользоваться сервисом совершенно бесплатно.

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем