Приветствую всех читателей. Это будет эксклюзивный материал — я получил приглашение для тестирования новейшего сервиса Cloud Computing от компании Aptana. Ранее я уже писал один обзор, но это был вольный перевод записи в блоге одного из западных разработчиков, теперь же я могу самостоятельно попробовать все тонкости этой платформы и спешу поделится этой информацией с вами, уважаемые читатели.И так, приступим. Для начала работы нам необходимо обновить (или установить, если не было) версию Aptana IDE. При этом учтите, что сейчас последняя версия, доступная даже в профессиональным подписчикам, 1.1, но для работы с Cloud нужен особый релиз следующей версии, который доступен по другому адресу, который вам после регистрации сообщат вместе с логином и паролем для доступа.
После установки обновления у нас получается Aptana IDE 1.2, а в меню добавляется несколько новых пунктов. Сперва посмотрим, что нового в этом релизе самой среды, думаю осле тестирования она будет перенесена в общедоступную ветку.

Существенно обновлён центр управления — страница Aptana Home. Теперь оттуда можно просмотреть все установленные плагины, посмотреть список доступных для установки, управлять сервером Jaxer, если вы его установили и используете. Ну и последним пунктом появилась панель управления облаком.
Кстати, в новой версии включён клиент для SVN, который может применяться для работы с проектами, размещёнными в Cloud. Напрямую с начальной страницы вы можете выбрать любой из проектов для деплоинга его на сервера Aptana. У меня есть два текущих проектов — один рабочий, второй экспериментальный, и он как раз достаточно требовательный к ресурсам, поэтому именно его я решил развернуть на Aptana Cloud — так можно будет протестировать работу сервиса на типичных стартаповских решениях с высокой нагрузкой. Сразу оговорюсь, что проект использует стандартные технологии — РНР, часть из Zend Framework, в основе серверной части лежит ezComponents, ну и веб-сервер Apache и СУБД MySQL. В проекте также использован РНР порт поискового механизма Lucene (о нем я как раз собираюсь написать одну из следующих статей), что и является самым ресурсоёмким компонентом проекта, и именно его я хотел бы протестировать.
После выбора проекта открывается пошаговый мастер развёртывания, который сконфигурирует ваше облако и перенесёт проект. Рассмотрим его работу. Первым шагом нас просят выбрать имя проекта, которое будет одновременно и адресом для доступа, вида ИмяПроекта.aptanacloud.com. Для тестирования этого вполне хватает, однако сообщается, что все инстансы имеют статический адрес, поэтому вы сможете привязать любой произвольный домен к вашему проекту в Cloud-е.

Вторым шагом является выбор вашего тарифного плана. Нам предлагается несколько планов, начиная от младшего (256 Мб RAM, 5 Гб диск) и до самого большого — 2 Гб RAM и 25 Гб диска. Во всех тарифных планах включён трафик в размере 10 Тб в месяц (ну это, в принципе, можно считать неограниченным), а также динамически выделяемая процессорная мощность, до 95% мощности 8-ми процессорного сервера (подробнее про серверное оборудование не сообщается). Цены достаточно низкие, впрочем, думаю после окончания тестирования они могут быть пересмотрены, поэтому конкретика сейчас не так важно. В пакет может входить также круглосуточная поддержка с временем реакции в 1 час вне зависимости от времени (стандартно — в бизнес-время) — это будет стоит ещё 0.99 USD/сутки.
Также стандартно в число пользователей пакета входит один разработчик и один администратор, если вам необходимо неограниченное число пользователей, это обойдётся ещё в 0.33 USD/сутки.
Я для тестирования попробовал выбрать тарифный план с 1 Гб оперативной памяти, так как для хорошего тестирования серьёзных скриптов это будет как раз в меру (хотя памяти никогда не бывает мало). За участие в тесте денег пока не взимают, всем тестерам выдали специальные служебные данные кредитной карточки, которые нужно вводить, поэтому можно попробовать «пошиковать». Мой тарифный план без дополнительных опций стоит 125 USD в месяц, что сравнимо с более-менее аналогичным выделенным сервером (но без такой мощности CPU и трафика). Эх, и здесь первое разочарование — для теста дают только самый базовый тарифный план. Ну что же, значит будем так тестировать, потом, когда сервис заработает, попробуем и остальные.
Далее нам придётся регистрироваться или использовать уже существующий аккаунт, впрочем, там некоторая странность. Я как уже пользователь продуктов компании, должен был получить доступ по своим данным, так как у меня профессиональная лицензия на Aptana IDE, но система отказывалась принимать логин и пришлось его регистрировать заново — видимо там пока все же раздельная регистрация. Далее нас просят ввести данные кредитной карточки и другие данные для биллинга. Жаль, видимо не будет пока возможностей расплачиваться какими-либо онлайновыми платёжными системами, но для таких случаев можно один раз купить предоплаченную дебетовую карту и платить с неё. К сожалению, ещё раньше, при попытке купить лицензии на IDE я и мои коллеги столкнулись с тем, что карточки, эмитированные нашими банками упорно не хотят проходить в биллинге, так что видимо, это будет лучшим решением.
Далее мы соглашаемся с лицензией. Если вы внимательно присмотритесь, то обнаружите, что сейчас настоящего соглашения нет, используется стандартная «рыба» на латыни — вот здесь об этом тексте подробнее. Ну и подтвердите, если все правильно заполнили. Теперь можно переходить к работе с облаком — процесс создания вашего аккаунта и настройки в нем необходимого ПО происходит автоматически после согласия и достаточно быстро — несколько десятков секунд и все готово.
Вы можете сразу перейти к загрузке файлов вашего проекта или же перейти в панель управления сервисом. Мы сначала загрузим проект, а потом исследуем панель управления. Для деплоинга используется встроенный механизм Smart Sync, однако заявлено, что можно использовать обычный SVN, который входит в список развёрнутых на площадке сервисов. При достаточно большом количество файлов в проекте наблюдаются существенные тормоза при синхронизации и исключении больших каталогов с файлами из списка подлежащих передаче. Впрочем это не такая частая процедура, поэтому набираемся терпения. На эту операцию у меня ушло несколько часов, отчасти из-за избыточного количества компонент из ezComponents, которые я включил в дистрибутив, но пока не использовал.
Пока идёт пересылка файлов проекта, мы рассмотрим панель управления нашим хостингом. На основной панели мы имеем данные монитора производительности и потребления ресурсов нашим проектом, а также основные параметры тарифного плана. Полезными будут быстрые ссылки для доступа к основным функциям — доступ к SVN-репозитарию, синхронизация файлов. Здесь же можно руководить созданием резервных копий сайта. Оказалось, что нам выдаётся немного больше пространства — почти 7 Гб, однако 1.85 Гб уже занято од системные файлы, поэтому пользователю доступно как раз 5 Гб. В параметрах обнаружилось, что по умолчанию нам доступно 1/16 CPU, видимо, если считать, что каждый инстанс работает на 8-ми процессорном сервере, скорее всего с двухядерными процессорами, то мы получаем минимально в своё распоряжение одно ядро. Неплохо.

На вкладке нам доступны все те самые настройки и выбор тарифного плана, что и на старте, думаю, это означает, что мы сможем динамически изменять свой тарифный план без какой-либо остановки работы сервера, что позволит гибко масштабировать сервис исходя из потребностей, однако пока эта опция недоступна, да и производится перенастройка вручную.
Сервис изначально ориентирован на командную работу, и на вкладке Team мы можем приглашать других пользователей (по Aptana ID или просто по E-mail) и назначать им роли — администратора или разработчика. Админ имеет более широкие полномочия по изменению настроек сервера и может приглашать других пользователей, разработчик же может работать с самим проектом и изменять файлы, а также получает доступы к развёрнутым сервисам.
В панель управления интегрирована и служба статистики Google Analytics, однако пока интерфейс модуля очень прост и он все ещё в разработке. Если у вас уже есть аккаунт в этой службе, вы можете просматривать сводную статистику по сайту.

Последний раздел панели управления — управление сервисами и логами. Вы можете включать и отключать в любое время веб-сервер Apache (используется версия 2.2.8), сервер приложений Jaxer (его, к стати, можно переустанавливать, в отличие от остальных) и сервер баз данных MySQL (используется 5.0.51). Здесь же для каждого сервиса можно просмотре��ь логи, причём их можно как открыть на удалённом хосте при помощи FTP или же просмотреть онлайн. Для базы данных доступны сразу сервисы управления и работы со структурой (DB Explorer, который является плагином к самой среде Aptana и вообще Eclipse). Для администрирования доступен phpMyAdmin, расположенный на хостинге. При этом обнаружилось, что для каждого проекта создаётся ещё один домен вида private-имя_проекта.aptanacloud.com, на котором осле аутенфикации можно получить доступ к системе управления БД. На этом же сервере MySQL размещены и служебные базы данных мониторинга и базы для сервера Jaxer. Мне кажется, что такое решение в случае высоконагруженных проектов, требовательных к базе данных, может быть не самым оптимальным, однако это требует более объёмного тестирования и, видимо, зависит от архитектуры. Интересное замечание про RAM — в минимальном плане её вам выделят 256 Мб, из которых будет сразу занята примерно половина — если вы запустите Apache и MySQL (Jaxer видимо стартует по умолчанию и отключить его невозможно, даже если он не используется в проекте), РНР же сконфигурирован на использование только 32 Мб памяти.

Достаточно развиты и возможности оповещения администратора о всех действиях над облаком. Поддерживается оповещение по почте, SMS и jabber, а перечень всех действий, отслеживаемых системой, достаточно объёмный и содержит все необходимые параметры, так что вы можете быть спокойны на счёт работы вашего проекта — при любых проблемах или просто значимых происшествиях вы будете немедленно информированы.
Что немного ограничивает — так это отсутствие РНР-акселераторов, во многих проектах их функциональность (и не только как просто акселератора) очень пригодилась бы, да и нагрузку с серверов сняло бы. Думаю, в коммерческой версии список модулей РНР будет расширен, и там появиться APC или XCache.
На этом я буду заканчивать своё описание работы с Aptana Cloud. Пока будет длится тестовый период я попытаюсь попробовать на этом хостинге свои проекты и если будет что-то интересное, обязательно сообщу.
Своё виденье самого проекта и его перспектив я уже описывал в предыдущем материале, сейчас могу лишь добавить, что выводы остались в силе. С одной стороны мы имеем условия намного лучше, чем в обычном виртуальном хостинге, но частично ограничены управлением и конфигурированием своего сервера, так что если ваш проект требует детальной настройки ОС и окружения, вам все же лучше взять VDS. В то же время такой хостинг удобнее тем, что гибко масштабируемый и позволяет оплачивать только необходимый объем ресурсов, динамических их перераспределяя, при чём он особенно выгоден в плане процессорной мощности и трафика, но если вы требовательные к объёму памяти, немного поискав, за те же деньги вы, скорее всего, найдёте выделенный сервер (хотя такое предложение ещё нужно будет поискать).