Javenue logo

Javenue

Программирование на Java

Информационные технологии

Доступный Java-хостинг - виртуальный сервер на Amazon

Еще какие-то 10 лет назад вопрос java хостинга стоял очень остро. Варианты с тех пор не изменились, но вот с ценами все стало намного лучше. Собственно список вариантов хостинга:

  • Специализированный java-hosting - вы получаете доступ к некоторой директории на сервере, куда можно складывать JSP страницы и необходимые ресусры. Решение совсем не гибкое, но самое дешевое.
  • Co-location - это размещение некоторого оборудования (в нашем случае - сервера) на площадках провайдера. На сервере можно будет утсановить Java и вообще все, что душа пожелает. Это самый дорогой вариант, так как придется покупать свой сервер, но в то же время и максимально гибкий. Хотя конечно можно взять оборудование и напрокат. Покупка своего оборудования может быть выгоднее, если у вас несколько долгосрочных проектов.
  • Виртуальный co-location - практически то же, что и предыдущий вариант, только сервер вы получаете виртуальный или как сейчас модно говорить - "сервер в облаке".

Один из самых популярных вариантов с виртуальным сервером это Amazon EC2. В этой статье я расскажу о возможностях Amazon Compute Cloud сервиса и их ценовой политике.

Если же вы хотите найти подробный туториал о том как запустить java приложение на Амазоне, то вам сюда - Запуск Java приложения на Amazon хостинге.

На сегодня план такой:

Введение в Cloud Computing на Амазон

Если коротко, Cloud Computing предоставляет возможность на лету масштабировать сервисы и приложения, которые работают в сети Интернет.

У Амазон такой сервис называется EC2, что расшифорвывается как Elastic Compute Cloud.

Вот некоторые из преимуществ EC2:

  • Масштабирование приложения происходит очень быстро, так как создание нового виртуального сервера занимает считанные минуты;
  • Так как EC2 является веб-сервисом, то запрос на создание нового сервера можно делать через API, что позволяет автоматизиривать процесс масштабирования приложений;
  • Естественно EC2 легко интегрируется с другими продуктами AWS, например, с хранилищем Amazon S3 или базой данных Amazon RDS;
  • Amazon предоставлят огромный набор предустановленных серверов с различными конфигурациями, что позволяет размещать приложения любой сложности - от обычного блога до сверхнагруженных вычислительных сетей;

Типы инстансов EC2

Как я уже сказал выше, у Амазона в наличии имеется широкий выбор различных типов серверов, оптимизированных под определенные часто встречающиеся задачи:

  • серверы общего назначения (general purpose instances);
  • оптимизированные под вычисления;
  • оптимизированные по памяти;
  • оптимизированные по хранилищу;
  • серверы с графическими процессорами.

Инстаны общего назначения на данный момент представлены такими типами как T2, M3 и M4 (не сложно догадаться, что T1, M1 и M2 уже устарели).

Севреры типа T2 предлагают базовый уровень CPU и подойдут для приложений которые не используют процессор на постоянной основе. К таким приложениям могут быть отнесены веб-сервисы, небольшие базы данных со статистической информацией, тестовые версии приложений, репозитории кода и так далее.

Среди T2 инстансов выделяется вариант t2.micro, который можно бесплатно использовать на протяжении целого года. Подробно о всех бесплатных предложениях от Amazon можно прочитать здесь.

Кстати, блог Javenue крутится как раз на t2.micro и я полностью им доволен. За январь я использовал:

  • 740 часов вычислительной мощности при бесплатной норме в 750 часов;
  • 7Gb траффика при бесплатной норме 15 гигабайт;

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

M3 и M4 инстансы подойдут для большинства приложений, так как предлагают максимально сбалансированную конфигурацию процессора, оперативной памяти и сетовой пропускной способности, по крайней мере так утверждает Амазон.

Сервера, опитмизированные по вычислительной мощности, представлены типами C3 и более современным C4. Мощные процессоры пригодятся для таких приложений как высоконагруженные front-end приложения, приложения для кодирования видео и аудио в высоком качестве, приложения для научных вычислений и так далее.

Сервера, оптимизированные по оперативной памяти представлены одним типом - R3. Использование этих инстансов показано для высокопроизводительных баз данных, распределенных in-memory кэшей и разного рода энтерпрайз приложений, таких как SAP, например.

Инстансы, оптимизированные по хранилищу, в данный момент делятся на такие 2 группы:

  • I2 - серверы с большим количеством операций ввода-вывода (high I/O); такие серверы подойдут для NoSQL баз данных типа Кассандры или Mongo DB, а так же для кластеризированных файловых систем;
  • D2 - огромные хранилища данных до 48 терабайт памяти с хорошей пропускной способностью; такие серверы подойдут для распределенных файловых систем, приолжений, обрабатывающих большое количество данных, а так же для предметно-ориентированных баз данных (data warehouse).

Ну и наконец последний тип инстансов на Амазоне это G2, предлагающий мощные графические процессоры, которые подойдут как для различного рода графических и видое-обрабатывающих приложений, так и для machine learning, как это не странно звучит :).

Ценовая политика Amazon

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

Главное, что вы должны знать это то, что серверы можно получить по требованию или зарезирвировать. Второй вариант получается дешевле.

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

Обращаю внимание, что на Амазоне существует несколько географических зон, в которых размещаются сервера:

  • US East - Северная Вирджиния
  • US West - Орегон
  • US West - северная Калифорния
  • EU - Ирландия
  • EU - Франкфурт
  • Asia Pacific - Сингапур
  • Asia Pacific - Токио
  • Asia Pacific - Сидней
  • Asia Pacific - Сеул
  • South America - Сан-Паулу

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

Для меня целевая аудитория ближе всего к Франкфурту, но обслуживание в этой зоне будет чуть дороже: 1.5 центов в час против 1.3 цента в час при размещении, например, в Орегоне.

Онлайн и телефонная поддержка будет более доступна в рабочие часы в соответствующей зоне. То есть размещая сервер в Калифорнии не надейтесь на мгновенный ответ утром по UTC.

Рассмотрим стоимость одного часа вычислительной мощности уже озвученного ранее инстанса t2.micro:

  • Для on-demand сервера в US это будет от 0.013 USD до 0.017;
  • Сервер по требованию в Европе обойдется в 0.014-0.015 USD в час;
  • Для Азии цена on-demand инстанса будет порядка 0.02 USD.

Стоимость зарезервированного инстанса падает на 30%, если вы платите за год вперед и на 55%, если вы платите за 3 года вперед. То есть при стопроцентной оплате за год тот же Франкфурт обойдется в 0.01 USD в час, а при оплате за 3 года - каких-то 0.0068 USD.

Что такое 0.0068 USD в час? Это 5 долларов в месяц или 60 долларов в год.

Заключение

Много говорить не буду. Думаю, и так понятно, что Амазон является одним из лидеров на рынке виртуальных серверов.

В ближайшее время я собираюсь воспользоваться такими AWS сервисами как Elastic Load Balancing для балансировки нагрузки на нескольких серверах, а так же Amazon Simple Queue Service для доставки сообщений как альтернатива Rabbit MQ. Если из моих экспериментов получится что-то толковое, то бязательно напишу об этом отдельную статью.

Ну а пока что все. Удачи.



Комментариев: 0

  Выйти

  * для публикации комментариев нужно