17 August 2011

TeamWox SaaS Agent: как бесплатно и быстро строить SaaS фермы

SaaS / S+S
Вышла в свет новая версия TeamWox SaaS Agent, которая теперь позволяет бесплатно строить SaaS фермы с сотнями копий систем групповой работы TeamWox как провайдерам, так и независимым поставщикам.

TeamWox SaaS Agent Architecture

Интересно? Приглашаю под кат.


Для того чтобы прочувствовать все проблемы, с которыми сталкиваются провайдеры при установке и обслуживании нашего программного продукта, мы решили начать предоставлять услуги SaaS самостоятельно.

В самом начале нам пришлось прочувствовать все прелести работы хостеров — подготовка и настройка компьютера, настройка файрволла, регистрация доменов, выделение и продление SSL сертификатов, установка серверов TeamWox для клиентов, тестирование их доступности после установки, мониторинг их состояния, деинсталляция TeamWox.

Если делать все указанные операции вручную, каждый раз повторяя их снова и снова, то можно допустить ошибку, и клиент «догадается», что все не так просто как это описывают маркетологи.

Первичная настройка TeamWox SaaS Agent

Как и любой софт, разработанный нашей компанией, решение для управления хостингом TeamWox должно было быть простым, эффективным, работать за администратора, заставляя выполнять необходимый минимум операций, и предупреждать об опасностях и ошибках. Результат работы — это TeamWox SaaS Agent.

Для того чтобы компьютер с MS Windows Server 2008 превратился в дом для десятка систем групповой работы TeamWox, достаточно одной минуты — 10 секунд для загрузки инсталлятора TeamWox SaaS Agent (1,5 Мб) и 50 секунд для его установки и открытия веб-страницы с предложением ввести логин и пароль.

Для работы с TeamWox пользователю необходим веб-браузер, в который пользователь введет адрес своего любимого корпоративного приложения. Чтобы такой адрес пользователю предоставить, необходимо выделить домен.

Предоставлять уникальный домен для каждого приложения вариант затратный как для хостера, так и для клиента. Никто не любит платить за услуги, о которых обычный человек даже не догадывается.

Простой и элегантный вариант — предоставлять доступ к приложению с помощью домена третьего уровня. Обслуживание таких доменов можно взять на себя — клиент даже не узнает, что «что-то там надо выделять».

Организуя собственную ферму SaaS, мы поступили именно так. В TeamWox SaaS Agent реализовали интеграцию с популярными DNS серверами посредством их HTTP API. Домен для нового приложения выделяется автоматически, достаточно указать в настройках адрес и данные авторизации HTTP API DNS сервера.

Безопасность — это ключевой момент для SaaS. За безопасность хранения данных пользователей отвечает провайдер. Обеспечить безопасность доступа к ним — его же задача. Использовать открытый протокол HTTP для корпоративных SaaS приложений — это верх безответственности. Именно по этой причине доступ к TeamWox может быть только по защищенному протоколу HTTPS.

Для работы HTTPS на сервере должен быть установлен SSL сертификат, который вызывает доверие у веб-браузеров. Получить его можно у таких компаний как Thawte, Comodo или любой другой аналогичной.

Перед заказом SSL сертификатов для сотни приложений стоит вспомнить одну особенность протокола HTTPS — один IP адрес/порт может обслуживать только один серверный SSL сертификат. При этом нужно будет либо выделять десятки IP адресов на каждом из компьютеров фермы, либо мучить пользователя экзотическими добавками в адресе в виде портов.

Но ни первая, ни вторая идея восторга не вызывают. Решение, которое применили мы — это wildcard SSL сертификат. Один wildcard SSL сертификат обслуживает все установленные на нашей ферме SaaS приложения. Пользователь же безопасно для себя и без мук пользуется TeamWox.

Установить сертификат в Windows в первый раз без знания принципов работы хранилища сертификатов невозможно. Чтобы упростить и сделать этот процесс понятным, в TeamWox SaaS Agent мы сделали удобный и простой интерфейс для обслуживания серверных сертификатов.

Через веб-интерфейс мы устанавливаем и обновляем сертификат, можем сгенерировать запрос на получение нового, загрузить установленный сертификат в виде файла. На время тестирования фермы SaaS можно сгенерировать временный самоподписанный wildcard SSL сертификат без поиска консольной утилиты.

Установка SSL сертификата в TeamWox SaaS Agent

После того, как основные рутинные операции были автоматизированы, настало время организовать ферму SaaS — объединить между собой набор серверов. Решение, которое мы используем для организации собственной фермы SaaS, очень простое и эффективное.

Каждый из серверов фермы равнозначен, он выполняет только одну функцию — хостинг TeamWox. Для включения нового компьютера в ферму SaaS достаточно установить на него TeamWox SaaS Agent. А это, как я писал выше, сделать очень просто и быстро.

Задачи, которые встают при организации нескольких серверов в ферму:
  • распределение нагрузки между серверами;
  • выбор сервера для установки нового приложения;
  • контроль за работой приложений на множестве серверов.

Для их решения мы расширили функционал TeamWox SaaS Agent, превратив его в менеджер серверов SaaS. Из всех серверов фермы был выбран один, на который были возложены функции управляющего.

Он собирает информацию со всех серверов фермы и исходя из полученной статистики автоматически выбирает, на какой сервер будет установлена новая копия TeamWox. Это позволяет следовать принципу справедливости и нагружать каждый из серверов фермы SaaS работой равномерно.

Подчиненные серверы TeamWox SaaS Agent

Управлять фермой SaaS удобно из одного места. Простой и понятный интерфейс TeamWox SaaS Agent сделал возможным передать бразды правления фермой SaaS обычным пользователям — нашим менеджерам.

Новое приложение можно установить буквально за 2-3 минуты, не отвлекая для этого технических специалистов. Так же просто управлять и контролировать работу уже установленных сотен приложений TeamWox.

TeamWox имеет встроенные средства самоконтроля и мониторинга — это помогает обеспечить его стабильную работу. TeamWox SaaS Agent, используя эти данные, позволяет добиться стабильности работы всей фермы SaaS. Мониторинг работы всех приложений на странице управляющего сервера позволяет оградить пользователей от опасностей, о которых они не должны догадаться.

Статистика использования TeamWox SaaS Agent

Организовать с нуля свою ферму SaaS с помощью TeamWox SaaS Agent'а просто и быстро. Хостеры же с опытом работы имеют сложившуюся инфраструктуру управления серверами, и ломать ее или отказываться от нее никто не собирается. И процитирую самого себя — управлять фермой SaaS удобно из одного места. Необходима была интеграция нашего софта и софта провайдера. А как подсказывает опыт, интеграция двух независимых продуктов — процесс как правило болезненный.

Мы на себе ощутили все прелести процесса интеграции. Для проведения эксперимента было выбрано популярное ПО для провайдеров компании Parallels.

Результатом проделанной нами работы стал понятный и хорошо структурированный HTTP API TeamWox SaaS Agent'а и сертифицированный в соответствии с версией 1.2 стандарта APS пакет, который доступен в магазине приложений как на веб-сайте, так и через веб-интерфейс продуктов Parallels.

Если вы уже предоставляете услуги хостинга на основе Parallels Business Automation или Parallels Plesk Panel, то управлять жизненным циклом приложений TeamWox Вы будете с помощью привычного для вас пользовательского интерфейса.

Интеграция с другим привычным для Вас программным обеспечением не должна вызвать затруднений и может быть выполнена на любом популярном языке программирования, который имеет инструменты для работы с HTTP и JSON. В пакете APS, например, скрипты написаны на PHP.

Для тех, кому еще только предстоит увлекательное приключение по сертификации вашего пакета APS, подтвердим ряд уже озвученных фактов и добавим к ним несколько новых.

Документация, предоставленная компанией Parallels, настолько же официальная, насколько она не раскрывает всех тонкостей процесса упаковки — материалов катастрофически не хватает.

Отсутствие необходимой информации восполняют сотрудники службы технической поддержки компании. Они посоветуют, что нужно исправить в описании пакета, и укажут на явные ошибки. Процесс тестирования на соответствие стандартам APS автоматизирован, но не для приложений, распространяющихся по типу external SaaS.

APS Standard с TeamWox

Мы начали свой путь, как новички, и завершили его, построив полноценную ферму SaaS, которая обслуживает сотни приложений. Опыт, полученный в решении проблем, с которыми мы столкнулись, был воплощен в TeamWox SaaS Agent.

Используя наш инструмент, можно построить ферму SaaS с нуля или расширить ассортимент предлагаемых услуг без лишних затрат. Вы почувствуете драйв в процессе, удовольствие от полученного результата и услышите слова благодарности довольных пользователей.

Наша компания старается держать читателей Хабра в курсе наиболее интересных событий, связанных с нашими продуктами. В числе первых Вы узнали о том, что "TeamWox — новый продукт нашей компании", и о том, что "TeamWox — подарок малому бизнесу!".

Данная статья призвана расширить тематику статей в нашем блоге на Хабре. В случае интереса к вопросам, которым посвящена данная статья, мы продолжим публикацию. В следующей статье мы расскажем о средствах, которую мы используем для создания приложений, описанных в данной статье.
Tags:metaquotesteamwoxsaasagentфермыparallels business automationpleskaps
Hubs: SaaS / S+S
0
2k 3
Comments 1
Popular right now