Аудитория мобильного Интернета с каждым годом становится все больше. Многие эксперты прогнозируют, что через несколько лет большинство пользователей будут выходить в сеть с помощью смартфонов или планшетов. По данным РАЭК, в России уже сейчас аудитория мобильного Интернета составляет около 40% от общего количества пользователей сети.
Активное распространение такого доступа в сеть, а также устройств, которые позволяют выходить в Интернет из любой точки, уже повлияло на развитие Интернет-сервисов и компаний. Ни один из глобальных Интернет-ресурсов не может обойтись без приложения для смартфона или планшета. А некоторые, например, популярный сервис Instagram, в первую очередь делают именно мобильные приложения, и только потом создают веб-версии своих сервисов.
В магазины мобильного контента для двух крупнейших мобильных платформ Android и iOS загружено уже более 1,3 миллиона приложений. В общей сложности пользователи скачали более 50 миллиардов приложений из этих сторов.
Как и веб-версиям сервисов, мобильным приложениям также требуется хостинг. Принципиально хостинг для мобильных приложений ничем не отличается от “немобильного” хостинга, ровно, как и для приложений справедливы общие принципы устройства современных программ. Как любая прикладная программа, мобильное приложение может быть ориентировано на независимый запуск на планшете/смартфоне пользователя или быть звеном в цепочке “клиент-сервер” (именно в этом случае приложению понадобится хостинг).
На данный момент для хостинга приложений на рынке чаще всего предлагают три вида услуг.
Первый — dedicated-хостинг (физический выделенный сервер, арендуемый у хостинг-провайдера). В этом случае клиент получает в свое распоряжение сервер, на котором может размещать любые крупные сервисы, предполагающие большое количество обращений или хранение значительного объёма информации. Это могут быть статистические сервисы – сервисы сбора данных, виртуальные (облачные) хранилища или крупные web-сервисы, предлагающие пользователю оптимизированную мобильную версию. Выделенные серверы выдерживают большую нагрузку, обеспечивают максимальную производительность. Пожалуй, основными недостатками dedicated-хостинга является направленность на профессиональное использование и, следовательно, высокая цена услуги и необходимость самостоятельной настройки, но для крупных проектов эти затраты оправданы стабильной работой и скоростью обработки данных.
Второй вид хостинга, используемый для размещения мобильных приложений – VDS (виртуальный выделенный сервер). Он является альтернативой физическому серверу, но значительно дешевле его, при этом способен выдерживать достаточные нагрузки и обеспечивать стабильную работу. Администрирование VDS осуществляется, как правило, клиентом, но для оптимизации управления существует множество инструментов, большинство из которых по силам даже новичкам.
Третий вид — shared-хостинг (виртуальный хостинг). В этом случае клиент получает фиксированную часть ресурсов сервера, который был заранее настроен определенным образом. При этом на нем уже предустановлен стандартный набор программ-серверов (web, почта, доступ к базе данных, FTP/SSH). Стоимость shared-хостинга значительно меньше выделенного сервера. Он подойдет для небольших, несложных приложений. И выдержит несколько тысяч обращений в сутки. Кроме того, в отличие от dedicated или VDS, такой вид хостинга не потребует серьёзной технической настройки. Представители хостинговой компании все сделают за вас: помогут с выбором оптимального тарифа, подскажут алгоритм работы с ним, помогут осуществить начальные настройки.
Ознакомиться с тарифами можно на специальной странице http://www.hoster.ru/tarifs . Достаточно зарегистрироваться: http://www.hoster.ru/reg и начать тестирование выбранного тарифа виртуального хостинга.
Обратная сторона мобильных клиентов - сервер.
Дополнительные требования зависят от специфики приложения:
масштабируемость сервера – для SaaS, социальных приложений, где в идеале ожидается большой поток посетителей, это условие обязательно. Для бизнес приложений, где есть ограничения по числу пользователей или численность прогнозируется, данное свойство не требуется;
интерактивность: ряд приложений нужно обеспечить механизмом нотификаций – сообщить приложению (пользователю) о наступлении определенных событий, передать сообщение пользователю. Данным свойством должна обладать, например, биржевая система или автоматический диспетчер такси.
открытое API: предполагается, что сторонние разработчики могут воспользоваться функционалом системы посредством документированного протокола. Ведь клиентом может быть как мобильное, так и внешнее серверное приложение.
другие требования…
Внимательный читатель заметит, что в случае написания серверного приложения с графическим интерфейсом, например, на HTML5, можно сэкономить. В этом случае не требуется разработка клиентских приложений – интерфейс пользователя предоставляет браузер. Данная статья не рассматривает такой случай, идет речь о разработке ”родных” (native) приложений для мобильных устройств.
Мне доводилось работать в команде с полным составом, но будет реалистами – не всегда человеческие ресурсы и бюджет позволяет собрать такую команду. И иногда роли приходится совмещать: менеджер проекта + разработчик серверного приложения, разработчик клиентского приложения + тестировщик.
В зависимости от специфики системы и требований к ней использую один из 2-ух вариантов реализации протокола обмена данными.
Когда требуются кроссплатформенность, быстродействие, простота, эффективность, масштабируемость, открытое API, то беру Jersey – реализацию Web-сервисов REST (RESTful Web services). Эта библиотека позволяет использовать сериализацию данных в формате JSON или(и) XML. Конфигурация REST ведется посредством аннотаций. Для обмена с мобильными устройствами взят формат JSON по причине того, что имеет более простую реализацию на стороне клиента (по этой причине не используем “классические” Web-сервисы), генерируется меньший объем трафика. Jersey позволяет настроиться на наиболее подходящий “вид” JSON.
В ином случае, если необходимы кроссплатформенность, высокое быстродействие, простота, эффективность, интерактивность, то беру
Apache MINA – framework для создания сетевых приложений,
Google protobuf – библиотека кодирования и декодирования структурированных данных. Структура данных определяется заголовочными файлами *.proto, компилятор генерирует из них Java классы (также есть возможность генерации для других языков программирования: C++, Objective-C и т. д., что обеспечивает свойство кроссплатформенности);
java.util.concurrent – используем стандартный пакет.
Данный вариант может масшабироваться, но на это требуется закладываться на этапе проектирования на уровне архитектуры, учитывая бизнес логику.
Рассмотрим гипотетическую задачу на примере выбора технологий для реального SaaS сервиса – “Аукцион услуг “Аукнем” , который позволяет людям сформировать заказ на выполнение требуемых услуг или работ, а организациям в свою очередь оставить для них свои предложения. Берем все базовые требования по умолчанию. Ввиду того, что регистрация в этой системе свободная и бесплатная, то однозначно к ним требуется добавить масштабируемость. А что на счет интерактивности? Было бы здорово сообщать подрядчикам (исполнителям) о создании новых заказов, а заказчиков информировать о поступивших предложениях в тот же миг в приложении, а не только по электронной почте. На основания этого возьмем для реализации Apache MINA, Google protobuf. Смотрим следующее свойство - открытое API. Сервис общедоступный, потому предположим, что внешние разработчики могут проявить интерес к интеграции с ним. Постойте! Не все так просто. Протокол на базе Apache MINA достаточно сильно зависит от реализации и интеграция без знания нюансов отнюдь не прозрачна. В такой ситуации придется взвесить, какой фактор важнее и сделать выбор.
Каковы самые частые сценарии использования вашего Android-устройства? Просмотр фильмов в метро по пути на работу? Лайки друзьям и чекины в ресторанах? Чтение новостей по утрам и проверка Twitter-Ленты? Или, может, быть свежие игрушки на лекциях и совещаниях? Чтение книг? Бесконечные селфи? Ах да, музыку ещё можно слушать, картами пользоваться и навигацией, даже иногда составлять какие-то электронные документы, обмениваться сообщениями как смс, так и в различных мессенджерах. Ну и, разумеется, звонить.
А у вас никогда не возникало мысли о том, чтобы использовать своего зелёного робота в качестве веб-сервера для собственного сайта или блога? Согласен, идея странная. Но для разнообразия, дабы показать, что можно сделать в рамках Android, попробуем решить эту задачу.
Ребята с AndroidGuys нашли все необходимые инструменты для этого и написали небольшую инструкцию.
Для начала нужно скачать и установить приложение KSWEB . Приложение даёт 6-дневный триальный. Этого хватит, чтобы наиграться. Либо же, если идея вдруг настолько приживётся, что потребует продолжения, придётся заплатить 2,99 доллара за полную версию программы. Из альтернатив можно обратить внимание на My FTP Server и Pixel Media Server . Мы же остановимся на KSWEB.
После запуска пройдите в мобильном бразуере по адресу "localhost:8080" (без кавычек). Работает!
Чтобы сделать наш сервер видимым через веб, придётся зайти в админ-панель домашнего роутера и создать статичный ip-адрес для нашего Android-устройства.
Затем отправляемся в настройки Wi-Fi на Android-девайсе. Долгим тапом по названию домашней сети открываем контекстное меню, где выбираем "Modify Network", а затем идём в продвинутые настройки. Значение "IP settings" выставляем - "Static". IP-адрес вводим тот, что указали статичным в роутере.
Затем у Google можно спросить "What is my IP", чтобы по нему можно было пробиться на сайт, размещённый на вашем устройстве. Вуаля! Всё работает. Теперь можно провести перенаправление портов для ftp, установить FTP Server и залить файлы на устройство.
Хостинг CMS - это виртуальный выделенный сервер с предустановленной системой управления контентом (CMS) на ваш выбор. В отличие от стандартных тарифов VDS и VPS, вам не нужно самостоятельно администрировать сервер - вам доступно подключение по FTP для загрузки файлов, а также доступ администратора к установленной CMS. Все остальное программное окружение обслуживается нашими администраторами.
Хостинг CMS от FirstVDS отлично подойдет для сайтов любого размера, работающих на указанном программном обеспечении: Wordpress , Joomla , Drupal . Если вы не обладаете навыками администратора, если вам необходимо просто заниматься своим веб-сайтом без лишних задач, хостинг CMS - лучший выбор. На данный момент услуга находится в стадии бета-тестирования: при возникновении неудобств и обнаружении недоработок, пожалуйста, сообщите нам о них через личный кабинет. На этапе тестирования услуга оказывается в формате «как есть», но мы сделаем все возможное для решения общих технических вопросов, возникающих в процессе пользования услугой.
Каждый хостинг приложений CMS - это отдельный виртуальный контейнер с выделенными системными ресурсами. На этапе тестирования это: 1 ядро процессора Intel Xeon, 512 Мб оперативной памяти и 10гб жесткого диска. В дальнейшем количество системных ресурсов можно будет настраивать согласно собственной необходимости.
Добавьте хостинг выбранного CMS в корзину и заполните доменное имя сайта, который предполагаете размещать на хостинге.
Обратите внимание : доменное имя необходимо заполнить правильно с самого начала, изменить его без заказа новой услуги и переноса файлов на данный момент невозможно. Если вы допустили ошибку при вводе доменного имени, ваш сайт по этому адресу доступен не будет.
После успешной оплаты хостинг CMS активируется в течение нескольких секунд, а в личном кабинете будет доступна инструкция с данными для подключения.
Списание средств за услугу производится ежедневно равными долями по формуле
100 (стоимость тарифа) / количество дней в месяце с виртуального счета клиента. Отказаться и удалить услугу можно в любой момент без ограничений по времени из личного кабинета, Хостинг приложений → Удалить.
На каждой услуге можно разместить только один сайт с одним доменом. Не получится разместить несколько сайтов или один сайт с поддоменами. Можно разместить только один сайт с одним доменом любого уровня.
Если необходимо разместить несколько сайтов, придется заказать несколько хостингов - по количеству сайтов. Если требуется разместить несколько сайтов на одном сервере или добавить поддомены для единственного сайта, то можно воспользоваться .
Контейнеры хостинга CMS работают на операционной системе Ubuntu. Доступная версия веб-сервера и модули PHP:
Server
Server software: Apache/2.4.7 (Ubuntu)
PHP 5.5.9-1ubuntu4.14
========================================
Core 5.5.9-1ubuntu4.14
date 5.5.9-1ubuntu4.14
zlib 2.0
dom 20031129
hash 1.0
fileinfo 1.0.5-dev
filter 0.11.0
SPL 0.2
standard 5.5.9-1ubuntu4.14
SimpleXML 0.1
Phar 2.0.2
exif 1.4 $Id$
tokenizer 0.1
xmlreader 0.1
xmlwriter 0.1
zip 1.11.0
PDO 1.0.4dev
apcu 4.0.2
json 1.3.2
mysql 1.0
mysqli 0.1
pdo_mysql 1.0.2
readline 5.5.9-1ubuntu4.14
apc 4.0.2
Zend OPcache 7.0.3FE
Направить домен на ваш новый хостинг очень просто.
Измените серверы имен (NS) вашего домена на следующие:
Ns1.сайт
ns2.сайт
Серверы имен можно изменить в панели управления регистратора, у которого был заказан ваш домен.
Если доменное имя было куплено у FirstVDS, то необходимые NS указаны изначально. Если вам все же нужно внести изменения, сделать это можно с личном кабинете, Домены → кнопка NS
Сохраните изменения, ваш сайт начнет открываться в течение часа.
Изменить доменное имя на существующем хостинге невозможно (надеемся, это временно). Изменить домен можно только заказав новую услугу хостинга. Аналогично, допустив ошибку в имени домена при заказе услуги, изменить его можно только удалив заказанный хостинг и создав новый.
Если у вас есть данные, требующие переноса, обратитесь в техническую поддержку.
На данный момент любая исходящая/входящая почта на хостинге CMS заблокирована. Функция mail() в PHP отключена. Вы можете настроить отправку почты для своего CMS через любой внешний почтовый SMTP сервер, если такая возможность поддерживается программным обеспечением. , если вам нужна помощь.
Из личного кабинета. Резервные копии создаются автоматически еженедельно , получить копию или восстановить данные вы можете обратившись в техническую поддержку.
Техническая поддержка готова вам помочь. с подробным описанием проблемы.
Хостинг как вид услуг развивался вместе с Web и всегда был наиболее широко востребован именно для размещения веб-сайтов в ЦОД провайдеров.
Появившаяся позднее технология виртуализации привлекла внимание поставщиков услуг хостинга, поскольку оказалась подходящим средством для максимального использования имеющихся физических ресурсов.
Термины VDS (Virtual Dedicated Server) или VPS (Virtual Private Server), обозначающие виртуальный выделенный сервер, функционирующий на физическом, появились почти десятилетие назад.
В последующие годы VDS /VPS как вид хостинговых услуг эволюционировал вместе с программными средствами виртуализации и сегодня предоставляет пользователям широкие возможности гибкого выделения ресурсов и изменения параметров виртуального сервера, выбора программных платформ и инструментов, включая средства аналитики и защиты от DDoS-атак. Виртуальный выделенный сервер может поддерживать требуемое количество сайтов, баз данных, доменных зон и пр. Ряд провайдеров предлагают (Solid State Drive).
По сути, автономная система электронной коммерции - это просто еще один тип системы управления контентом. Разница в том, что пользовательский интерфейс и средства безопасности оптимизированы для создания сайта типа интернет-магазина. Технические требования такие же, как и в случае обычной CMS. В большинстве систем нужны PHP и MySQL.
Если вы применяете плагины или расширения, то нужно убедиться, что система управления контентом поддерживается вашим хостинг-провайдером, и посмотреть какие требование предъявляет данный плагин или расширение.
Независимо от того, используете вы автономный сайт электронной коммерции или сайт на основе плагинов, в большинстве случаев хостинг-провайдер должен предусматривать дополнительные меры безопасности, такие как сертификаты SSL.
Первый вариант оптимален, если у вас ограниченный опыт работы с командной строкой и управления сервером, а второй можно рассмотреть, если вы уже умеете управлять собственным серверами или хотите этому научиться.
Нужно знать, какие меры безопасности хостинг-провайдер предпринимает для защиты своих серверов.
Сертификаты SSL нужны практически во всех случаях, когда развертывается сайт электронной коммерции. Нужно убедиться, что вы можете получить сертификат SSL при использовании пакета хостинга, который покупаете.
Некоторые провайдеры предлагают средство IP Deny. Оно позволяет вам запретить доступ к своему сайту с конкретных IP. Это очень удобный инструмент против хакеров и спамеров.
Нужно убедиться не только в самом факте резервного копирования, но и узнать, с какой регулярностью оно выполняется. В идеале – раз в сутки.
К примеру, у вас галерея из 10 изображений по 200 Кбайт каждое, общим объемом 2 Мбайта. Если эту галерею просматривают 100 человек, то по сети передается 200 Мбайт. Если 1000 человек, то 2 Гбайта. Вообще говоря, большинство сайтов будет отлично работать с пропускной способностью типичного хостинга. Однако, если у вас особенно большое количество данных, и вы знаете, что будет большой трафик, то нужно точно выяснить, какую полосу пропускания вам выделили, и не превысите ли вы ее, и как перейти на другой тарифный план в случае роста трафика и объема данных без простоя сайта.
Управляемый хостинг обычно предлагается для сайтов конкретного типа (WordPress, Ghost и др.). В этом случае большинство перечисленных задач выполняет провайдер. Данное предложение особенно ценно в случае обработки персональных и финансовых данных. Он же отвечает за оптимизацию скорости и производительности VPS. Однако такой хостинг обходится дороже и обычно допускает создание меньшего числа сайтов.
В дополнение к сказанному отметим некоторые другие моменты, на которые стоит обратить внимание при выборе хостинг-провайдера: