обзор digitalocean

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

Облачные технологии - это концепция, подразумевающая, что доступ к вашим ресурсам (информационным или, в нашем случае, аппаратным) можно получить откуда угодно и когда угодно. К примеру, когда вы храните свои фотографии и файлы в онлайновом файлохранилище (Dropbox, Google Docs или даже vk) - вы можете получить доступ к ним с любого устройства с доступом в сеть. Вы не потеряете их вместе со сломанным жестким диском или украденным ноутбуком, ведь об их сохранности заботится системный администратор в прохладном и надежно защищенном дата-центре вдалеке от вас. Это - и есть "облачные технологии". Хостеров VPS и VDS сегодня немало как на отечественном, так и на зарубежном рынке - есть среди них хорошие, стабильные и дорогие, а есть сравнительно недорогие (лоукост-сегмент), но, возможно, периодически простаивающие. Есть также хостеры, заслужившие плохую репутацию из-за жесткой политики компании и самовольных блокировок.

А есть DigitalOcean - облачный хостер VPS, позиционирующий себя как простой в работе, сравнительно недорогой, стабильный и быстрый (так как используются только SSD-диски для всех тарифных планов) сервис. Так ли это? В целом, да. Найденные недостатки, назвать таковыми можно с натяжкой - это отсутствующая поддержка пользовательских ОС и Windows, а также оплата только карточками и PayPal. Зато достоинств у сервиса масса. О всех плюсах и минусах, тарифах, а также тонкостях настройки и использования VPS от DigitalOcean, пойдет в статьях про услуги, цены и процесс настройки.

Cерверы DigitalOcean располагаются в нескольких дата-центрах. В 2015-м доступно 6 локаций:

  • Нью-Йорк (2 дата-центра)
  • Сан-Франциско
  • Амстердам (3 дата-центра)
  • Лондон (3 дата-центра)
  • Сингапур
  • Франкфурт

Из этого следует два больших плюса:

  1. Вы можете выбирать локацию, исходя из аудитории вашего проекта, для ускорения доступа к сайту. Если это страны СНГ или Европы - лучше расположиться на одном из Амстердамских дата-центров.
  2. Если случится нечто непредвиденное (к примеру, пожар, случившийся в 2012-м у провайдера "Мастерхост" и на целый день положивший сервера нескольких крупных новостных изданий) - можно сделать снапшот дроплета и развернуть его в другом дата-центре с почасовой оплатой, до устранения неполадок.

Заявленный аптайм серверов - 99.99% / менее часа простоев в год. По результатам использования и отзывам других пользователей - это действительно так. Пропускная способность на всех тарифных планах - 1Гбит/cек. 

К ценовой политике компании нет никаких претензий. Оплата за дроплет изымается не сразу за месяц, а (в любом случае, то есть нет отдельных тарифов за месяц и за час) динамично - каждый час по несколько центов. Просто не забывайте вносить деньги на счет, и можно развлекаться в панели управления как угодно, не боясь влететь в копеечку. За счет такой гибкости, при резком скачке нагрузки на сервер, можно просто переехать на несколько часов/дней на тарифный план повыше, без необходимости арендовать сервер на целый месяц. Весь процесс займет пару минут, в то время как у большинства хостеров это вылилось бы в большие потери времени и денег. Также, за дополнительную плату, можно расширить объем памяти дроплета (вкладка Sharing в панели управления дроплетом) без перехода на новый тариф и без переустановки ОС.

Общее впечатление
Из достоинств:

  1. Повсеместное использование только SSD-дисков.
  2. Быстрая работа самого сервиса - всего минута на регистрацию дроплета.
  3. Удобная система дроплетов и снапшотов, позволяющая удалять и создавать VPS за пару кликов.
  4. Почасовая оплата и сравнительно невысокие расценки.
  5. Широкий фукционал и API.
  6. Множество дата-центров по всему миру.
  7. Дружелюбие комьюнити. Если у вас возникнут какие-либо вопросы или проблемы - вы всегда можете спросить об этом здесь и гарантированно получите ответ в течение (максимум) пары часов. А возможно, кто-то уже написал туториал об этом, так что поищите здесь.
  8. Если вам самим есть что рассказать, и вы, к тому же, хорошо знаете английский - компания готова заплатить вам за вашу статью

Потенциальные недостатки:

  1. Отстутствие Windows.
  2. Небольшой список способов оплаты.

Как итог - мнение о DigitalOcean сугубо положительное.

Услуги digitalocean

#Дроплеты, снапшоты, бэкапы.

Отдельный VPS у DigitalOcean называется "дроплетом". Работать с дроплетами очень просто - процесс их создания автоматизирован, так что после регистрации, оплаты сервера и выбора конфигурации, создание дроплета займет около минуты и ваш сервер будет готов к работе. 

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

Хранение снапшота обойдется вам в $0.02 в месяц за 1ГБ. Есть и бэкапы, которые создаются автоматически раз в неделю. Включить или отключить эту функцию можно при создании дроплета (так что если забыли - придется делать снапшот, удалять дроплет и создавать по новой с нужными параметрами). Их стоимость - 20% от стоимости сервера в месяц, при любом объеме бекапа.

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

#IPv6

Помимо бекапов, при создании можно включить поддержку IPv6 адресов - эта функция была введена в январе 2014-го в Сингапурском датацентре и теперь доступна во всех локациях. IPv6 - это новая версия IP-протокола, по сути, это просто более длинный IP адрес, вместо вашего стандартного айпишника вида "192.168.1.1". Других весомых отличий для пользователя нет - почти все доменные регистраторы уже регистрируют домены за IPv6, но с распространением сети Интернет по миру, запас IPv4 адресов (4.22 миллиарда) почти исчерпал себя, так что за ближайший десяток лет, он полностью устареет.

#Private Networking

Из интересных функций стоит выделить Shared Private Networking. Это локальная сеть (не подключенная к интернету), в которую объединены ваши дроплеты (если вы включили на них Private Networking), установленные в одном дата-центре. Это позволит вам обмениваться файлами между вашими дроплетами по быстрому и приватному соединению, или использовать его для собственных целей. Private Networking включается при создании дроплета и полностью бесплатна, а локальный IP-адрес (Private IP) для доступа внутри сети вы найдете на панели управления дроплета.

Подробнее об использовании Private Networking

#API

И что самое интересное - DigitalOcean предоставляет пользователям полноценный API (недавно закончилось тестирование второй версии). Вкратце говоря - это "программистский" способ управления сервером. API принимает по шифрованному HTTPS соединению ряд команд, которыми можно, например, создавать новые дроплеты, снимать снапшоты, перезагружать сервер или просто получать какую-либо информацию о его состоянии. Посылать такие запросы можно, например, консольной утилитой curl (под Linux она, зачастую предустановлена, версию для Windows можно найти здесь). Кроме того, с помощью консоли и команд API, можно писать небольшие программы (скрипты), которые сводят длинную последовательность действий к делу пары кликов, а то и вовсе выполняются сами собой (по времени, или по состоянию сервера (например, если он упал, или был превышен некий лимит)).Аутентификация на сервере API происходит по отдельному паролю - "токену", который нужно сгенерировать в панели управления на вкладке Apps&API - Generate New Token. Токены отличаются по правам доступа к серверу - все они могут получать информацию (Read), а если собираетесь переписывать какие-то параметры - нужно дать разрешение на запись (галочка на Write). сгенерированный ключ важно не терять и никому не его не показывать, ведь с ним можно получить полный доступ к серверу. В крайнем случае - его можно сгенерировать снова.
Звучит сложно, но разобраться с API и curl можно за пару вечеров. Вот полное описание всех команд API с примерами (на английском).А вот пример программы автоматического снятия снапшотов.

#Выбор ОС.

Система виртуализации - KVM, так что хостинг Linux-only. Развернуть свою систему не получится (хотя такая функция обещана; также, при некоторой сноровке, можно подменить ядро, как описано здесь), однако, выбирать есть из чего:

  • Ubuntu
  • Debian
  • CentOS
  • CoreOS
  • Fedora
  • FreeBSD

По несколько версий каждой (одна только Ubuntu ведет счет с версии 10.04) под разные архитектуры. Также, есть готовые сборки - к примеру, образ системы с LAMP (Apache, MySQL, PHP), LEMP (Nginx вместо Apache), Ruby on Rails, WordPress, Drupal, MediaWiki и прочее. Но в целом - нет никаких ограничений на устанавливаемый софт и делать со своим дроплетом можно что угодно, лишь бы не выходить за предел мощности и не растратить весь доступный трафик. Кстати, если всё же растратите - за каждый лишний гигабайт придется платить по $0.02. Полный список доступных дистрибутивов и сборок можно посмотреть здесь
 

Обзор цен digitalocean

#Cравнение цен на минимальные конфигурации разных хостингов.

Если вы собираетесь разместить на VPS какой-то маленький личный проект - сайт, а может быть VPN-сервер, или какой-нибудь не слишком ресурсоемкий игровой сервер - то первостепенно важна стоимость минимальной конфигурации (но и экономить на стабильности тоже не хочется). У DigitalOcean с этим всё в порядке.

За $5/месяц или $0.007/час вы получаете:

512MB RAM
20GB SSD
1-ядерный процессор
1TB трафика в месяц.

Для сравнения, у FastVPN это:
Цена - 5.9€/месяц.
2GB DDR4 RAM.
15GB SSD.
1-ядерный IntelCore Xeon
Неограниченный трафик.

Reg.ru:
Цена - 249р/месяц
256MB RAM
7ГБ SSD
1-ядерный 2GHz процессор.
(или 179р/месяц за 20ГБ HDD)

Оплата за дроплет изымается не сразу за месяц, а (в любом случае, то есть нет отдельных тарифов за месяц и за час) динамично - каждый час по несколько центов. Просто не забывайте вносить деньги на счет, и можно развлекаться в панели управления как угодно, не боясь влететь в копеечку. За счет такой гибкости, при резком скачке нагрузки на сервер, можно просто переехать на несколько часов/дней на тарифный план повыше, без необходимости арендовать сервер на целый месяц. Весь процесс займет пару минут, в то время как у большинства хостеров это вылилось бы в большие потери времени и денег. Также, за дополнительную плату, можно расширить объем памяти дроплета (вкладка Sharing в панели управления дроплетом) без перехода на новый тариф и без переустановки ОС.

Всего тарифных планов 9, начиная с $5/месяц и заканчивая $640/месяц или $0.95/час (64GB RAM, 640GB SSD, 20-ядер CPU, 8TB трафика). 

Наиболее популярный тариф - $10/месяц и $0.015/час (1GB RAM, 30GB SSD, 1-ядро CPU, 2TB трафика).

Плата за остальные услуги уже упоминалась, но повторимся:
20% от стоимости тарифа за автоматические бекапы.
$0.02 цента за каждый лишний гигабайт трафика.
$0.02 за хранение каждого гигабайта снапшота.

Для оплаты принимаются только карты Visa, Master Card, American Express, или PayPal. Лично у меня не получилось привязать кредитку украинского банка и судя по отзывам - это по-прежнему возможно, нужно оговорить это со своим банком. Хотя некоторые кредитки банков СНГ все равно не принимаются, так что, скорее всего, придется заводить PayPal. При использовании PayPal, на вашем счете должно быть $5 для предопалаты - они сразу снимаются со счета и поступают на ваш аккаунт. Карточка, при привязке, просто верифицируется (деньги не снимаются). Но невозможность пополнять счет сервисами вроде WebMoney - можно считать основным недостатком сервиса.

Главный вопрос - как можно сэкономить на сервисе? Если ваш проект не требует постоянного онлайна (VPN-сервер, к примеру) - вы можете удалять его и загружаться из снапшота при необходимости - в этом случае оплата будет насчитываться за каждый час работы. Обратите внимание, что нужно именно удалять, а не просто отключать дроплет, так как при отключении, за вами всё ещё зарезервировано место на сервере.А ещё у DigitalOcean есть реферальная программа. После регистрации, вам будет выдана реферальная ссылка, при переходе по которой каждый, кто зарегистрируется, получит на счет $10. При пополнении им счета на $25, вы также получите на счет $25.

На этом сайте все ссылки реферальные , так что спешите кликать и получить свои 10$. Это целых 2 месяца хостинга бесплатно!

Пошаговая инструкция digitalocean

А теперь вкратце опишем процесс создания дроплета до рабочего состояния.

  1. Зарегистрироваться, привязать к счету кредитную карточку или PayPal.
  2. После этого вам предложат создать дроплет (вкладка Create Droplet) - здесь вы должны выбрать любое имя (Hostname) и один из тарифных планов.
  3. Выбор региона, в котором расположен дата-центр. Провести спидтесты для разных локаций можно здесь 
  4. Доступные настройки дроплета: IPv6, Private Networking, Enable Backup (бэкапы), и Enable User Data. При включении последнего - появляется окошко, в котором можно написать, к примеру, пользовательский bash-скрипт, который будет выполняться при каждой загрузке ОС на дроплете. Подробнее о User Data
  5. Далее идет выбор Linux дистрибутива и софта (вкладка Applications), который можно на него предустановить. Конечно, лучше собирать систему вручную, но если ваш опыт работы с Linux невелик - установив нужный софт заранее, вы облегчите себе жизнь. Например, предустановите Wordpress и LAMP или LEMP, если на VPS вы будете размещать сайт. Если это ваш первый дроплет - оставшиеся вкладки будут пусты, ведь там размещаются снапшоты и выключенные дроплеты.
  6. SSH-ключи. В обычном случае, если оставить SSH-ключи нетронутыми, доступ на сервер будет осуществляться по паролю администратора (он высылается на email). Но если сгенерировать SSH-ключ, то доступ можно осуществлять по нему, но только с того компьютера, на котором лежит файлик с ключом. 

Немного теории #SSH:

SSH - это протокол удаленного доступа, который шифрует все передаваемые данные. SSH поддерживает два метода аутентификации - по паролю (как выше) и по ключу. Первый метод проще и понятней, но пароль можно украсть или подобрать и получить полный доступ к серверу. SSH ключ просто так не украсть, а на подбор уйдут годы.Когда вы генерируете SSH-ключ, на сервере, в директории /root/.ssh появляется два файла - id_rsa.pub (открытый ключ) и id_rsa (закрытый) - оба этих ключа математически связаны друг с другом. Аналогичные ключи должен сгенерировать клиент (вы) - на Linux нужно запустить команду ssh-keygen, тогда в директории ваш_пользователь/.ssh появятся оба 
файла. На Windows для работы с ssh существует Putty. Скачать всё нужное можно здесь или здесь.

Для того, чтобы сгенерировать ключи - запустите PUTTYGEN и следуйте инструкции. Также можно добавить кодовую фразу, и выбрать метод шифрования (хотя стандартных параметров более чем достаточно).Помимо файлов ключей, есть /root/.ssh/authorized_keys - в нем перечислены открытые ключи, которым сервер доверяет. Если вписать туда цифры из файла id_rsa.pub - то при попытке зайти на сервер, если у вас есть подходящий закрытый ключ, вас впустят автоматически (закрытый ключ не пересылается, а сам сервер математически проверяет его наличие у клиента - такая вот криптомагия).

Теперь осталось лишь передать свой открытый ключ на сервер по psftp (на linux - просто sftp), и при следующем входе на сервер по SSH у вас не спросят пароль.

Подробнее о ключах и настройке SSH:
КлючиТеория 1Теория 2

Нужны ли вам SSH-ключи или нет - решать только вам, но если конфиденциальность для вас не критична - обычной аутентификации по надежному паролю будет достаточно.

  1. Теперь жмите "Create Droplet" и в течение минуты на ваш Email будет выслан пароль для доступа по SSH от имени root (администратор), и сам сервер начнет работу , а вы попадете в панель управления дроплетом - здесь вы можете узнать основную информацию о работе сервера и управлять его работой - перезагружать/удалять (Destroy), менять объем диска (Resize), снимать снапшоты, менять кое-какие настройки и прочее-прочее. 
    А ещё есть вкладка Console Access - это стандартный bash-терминал прямо в браузере, для удобства Windows-пользователей. Логиньтесь с присланным на почту паролем и можно приступать к настройкам и установке софта. Для передачи данных со своего компьютера используйте файловые менеджеры, поддерживающие передачу по ssh или sftp - mc, FileZilla, psftp или другие графические оболочки (или просто sftp - консольная утилита для Linux, но передавать большие объемы данных ею неудобно). Также есть утилита sshfs для Linux - она позволяет примонтировать в папку файловую систему сервера целиком и производить в ней изменения, как и в своей локальной системе.

Готово!