Category: О нас

Информация о сервисе Контейнерный хостинг.

  • Docker хостинг

    Рассмотрим каким должен быть удобный хостинг Docker контейнеров сегодня. А также познакомимся с новым недорогим хостингом для Docker контейнеров в России.

    Здравствуйте, добро пожаловать в блог компании Контейнерный хостинг. Меня зовут Сергей Кольмиллер, я создатель данного сервиса. В этой статье я расскажу про хостинг Docker контейнеров. Для чего это нужно, как это использовать и какие услуги мы можем предложить вам для размещения ваших контейнеров в сети.

    Что такое докер хостинг

    Docker хостинг или хостинг докер контейнеров это такой сервис в интернете, который может в автоматическом режиме, то есть без участия менеджера или администратора, запустить, по запросу пользователя, докер контейнер. А также, при необходимости, тоже в автоматическом режиме, настроить доступ к этому контейнеру из сети, по доменному имени, и предоставить сертификат шифрования для обеспечения безопасного соединения. От обычного хостинга хостинг docker контейнеров отличается тем, что в обычном хостинге как правило имеется один или несколько поддерживаемых типов сервисов, в то время как в докер хостинге практически нет ограничений на типы сервисов, которые пользователь может запустить. Хостер предоставляет пользователю возможность запускать контейнеры, а пользователь может запустить в этих контейнерах практически что угодно.

    Чем докер хостинг отличается от выделенного сервера

    В докер хостинге, в отличие от выделенного сервера VDS/VPS другой уровень абстракции операционной системы. В выделенном сервере операционная система предоставляемая клиенту отделена от операционной системы хоста гипервизором, то есть ядро операционной системы хоста и виртуальных машин работают в разных процессах. При докер контейнеризации, хотя пользователь получает внешнее сходство с отдельной операционной системой, на самом деле ОС внутри контейнера использует то же ядро ОС, что и хост-система, но друг от друга соседние контейнеры разделены специальными механизмами, такими как namespaces и cgroups.

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

    Виртуальная машина Докер контейнер
    Ядро ОСВыделенное Общее
    Системные вызовыДоступны всеНекоторые недоступны
    Постоянное хранилищеИмеетсяНет (только через подключение томов)
    Доступ извнеПо выделенному IP адресуПо доменному имени
    Потребление ресурсовОпеационная система и запущенные приложенияТолько запущенные приложения

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

    Докер контейнер, в отличие от виртуальной машины не расходует ресурсы на запуск отдельного ядра ОС.

    Благодаря этому, можно запустить больше разных образов ОС за счёт переиспользования одной операционной системы приложениями запущенными из разных образов операционных систем.

    Преимущества Докер хостинга

    1. Легковесность: Контейнеры Docker используют ядро хост-операционной системы, что делает их значительно более легковесными по сравнению с виртуальными машинами, которые требуют полного экземпляра операционной системы. Это позволяет запускать больше контейнеров на одном хосте, чем виртуальных машин.
    2. Портативность: Контейнеры Docker могут быть легко перемещены между различными средами (например, локальная машина, облако, серверы), так как они содержат все необходимые зависимости и конфигурации.
    3. Управление зависимостями: Docker позволяет упаковывать приложения и их зависимости в один контейнер, что устраняет проблемы с несовместимостью и конфликтами версий.

    Портативность и управление зависимостями

    Использование Докер контейнеров, в настоящее время, является практически стандартом в области разработки и развертывания приложений в сети. Благодаря подходу “инфраструктура в виде кода”, разработчики не беспокоятся как их приложение запустится на удаленном сервере. Срабатывает принцип репродуцируемости, то есть, – если это сработало в докере на локальной машине, значит должно также работать и на удаленном сервере. Без использования контейнеризации такого эффекта не всегда можно достичь. Причина этого в том, что виртуальные машины не держат для каждого приложения отдельную, это накладно по ресурсам, как уже говорилось ранее.

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

    Это когда приложения А и Б оба зависят от библиотеки М, но текущая версия А работает со второй версией библиотеки, а Б с первой версией. В таком случае, не обойтись без опытного девопса который разрулит этот конфликт через установку разных версий библиотеки М и настройки в одном из приложений нестандартного пути библиотеки. А таких проблем может быть множество, и такие решения, делающиеся в ручном режиме, не решают проблему кардинально, а лишь временно подставляют “костыль”.

    В Докер контейнере таких костылей нет, потому что каждое приложение запущено в отдельном образе ОС с минимальным набором зависимостей.

    Докер на виртуальной машине

    Чтобы получить все преимущества от использования Докер контейнеров нужно арендовать виртуальную машину с установленным Docker или просто виртуальную машину и самому установить туда Docker. Однако, если нужно запустить всего одно небольшое приложение, то такой подход может оказаться расточительным. Потому что, во первых, вы будете оплачивать работу ядра ОС, а во вторых, установить Докер на минимальную виртуальную машину не получится, так как для нормальной работы Докеру необходимо не менее 2ГБ ОЗУ. Таким образом, чтобы запустить сервис, которому нужно каких нибудь 256МБ памяти придется оплачивать в восемь раз больше.

    Сервисы запущенные на Контейнерном хостинге показывают потребление используемых ресурсов, которое создаёт только работа приложения клиента.

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

    Файл docker-compose.yaml

    Прт работе с Docker обычно все используют настройку в docker-compose.yaml файле, это позволяет хранить инфраструктуру как код. Но можно ли использовать этот файл в хостинге докер контейнеров?

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

    • Не отправляет файлы по сети: компос файл ожидает запуска докер на локальной машине.
    • Не монтирует тома по сети: volumes не могут быть смонтированы как обычно.
    • Порты могут быть зарыты: указанные в компос файле порты могут быть заняты или закрыты на сервисе.

    Поэтому непосредственного использования готового docker-compose.yaml файла на docker хостинге быть не может. Однако мы в Контейнерном хостинге постарались и аналогичный файл конфигурации у нас максимально похож на файл компос с оговорками которые описаны выше. Полная информация о файле содержится в документации.

  • Альтернатива Heroku

    Недорогая альтернатива Heroku в России, которая появилась совсем недавно, но уже сейчас во многом не уступает самой Heroku, зато намного выгоднее по цене.

    Введение

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

    Что можно считать “альтернативой Heroku”

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

    Откровенно говоря, на тот момент практически невозможно было найти альтернативу, которая была бы достаточно простой, чтобы с ней можно было разобраться “за вечер”, и при этом была бесплатной.

    Благодаря этой комбинации, Heroku удалось набрать огромную популярность. И даже сейчас, когда у них уже нет бесплатных тарифов многие считают её лучшей платформой в своей свефе и поэтому ищут аналоги похожие на неё.

    Аналог heroku

    Чтобы облачный сервис мог называть себя “аналогом heroku”, у него должны быть такие же преимущества, которые даёт сервис Herku:

    • Простота развертывания приложений
    • Бесплатные домены, создаваемые автоматически
    • Бесплатный SSL сертификат, создаваемый автоматически

    Это самые важные преимущества, которые позволили Heroku привлечь своих первых пользователей.

    Простота развертывания, достигается благодаря консольной утилите т.н. “heroku cli”, .которая устанавливается через “npm” и служит основным рычагом управления сервисами в сети, на основе простого “интерфейса” который представляет из себя yaml файл, где в декларативном порядке описана вся инфраструктура сервиса. Такой способ настройки облачного приложения имеет огромное преимущество в том, что однажды его правильно настроив, его можно переносить в другие приложения в качестве образца. И запускать аналогичные приложения в сети не делая дополнительных настроек в браузере или через командную строку.

    Бесплатные домены и бесплатные SSL сертификаты, это то что нужно, когда необходимо быстро запустить сервис, и чтобы он обязательно работал через https, а арендовать домен и настраивать сертификат нет необходимости. Особенно это актуально при прототипировании приложения.

    Работа Heroku в России

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

    На момент написания этой статьи, у Heroku нет тарифов менее 5 долларов в месяц.

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

    Альтернатива Heroku в России

    После того, как Heroku перестала быть актуальной для пользователей из России, многие компании принялись разрабатывать аналоги heroku, которые были бы доступны всем пользователям в России. В интернете можно найти не мало статей посвященных этому. В этой же статье я расскажу о нашем сервисе, который называется Контейнерный хостинг и является альтернативой heroku, для пользователей из России.

    Контейнерый хостинг постарался вобрать в себя все лучшее, что есть в heroku, в том числе, благодаря Docker, имеется возможность запускать сервисы из неограниченного набора образов контейнеров, через функцию кастомного контейнера. Однако, изначально мы ориентировались именно на то, чтобы быть аналогом Heroku, поэтому осуществляем поддержку популярных сервисов и на уровне отдельных единиц. Полный список специально поддерживаемых сервисов можно видеть на главной странице.

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

    В чем контейнерный хостинг лучше хероку

    На самом деле, на данный момент, вряд ли найдется аналог heroku, который будет в чем-то лучше оригинала. Ведь Heroku работает в составе Salesforce, и над её разработкой трудятся десятки, а может и сотни высококлассных специалистов, поэтому она может себе позволить быть лучшей в своем роде.

    Современные “аналоги heroku” могут показывать неплохие результаты, если сравнивать их и хероку, когда она была в таком же возрасте. Тогда несомненно можно было бы много назвать преимуществ. Но для того времени, даже в том состоянии, heroku была крутым инструментом.

    Сейчас, мы можно сказать, идём по их стопам. Пытаясь удовлетворить потребность пользователей в удобном и доступном сервисе для запуска приложений в сети. А уже со временем, возможно, в чём-то станем не хуже Heroku.

    Что можно запустить в аналоге хероку

    В контейнерном хостинге, как в heroku, можно также запустить и сайт и телеграм бот. Например создаём проект с двумя сервисами, в одном база данных Postgres, а в другом Python. Запускаем на пайтоне Telegram bot, и приложение связывается с ботом по сети и общается с базой данных по локальной сети. Это простой пример и он даже не требует создания домена и сертификата, потому что клиенты отправляют запросы к боту Телеграм, а не напрямую к сервису, который этим ботом управляет.

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

    Главное преимущество альтернатив Heroku

    В настоящее время, каждая альтернатива Heroku в России, должна, помимо качества, обеспечивать ещё и конкурентную цену. Потому что если она будет стоить примерно столько же, пусть и немного ниже, всё равно, на данном этапе она не сможет покрыть всех ожиданий искушённых пользователей и они будут постоянно искать предложения с более выгодным размещением.

    Учитывая этот момент, мы в контейнерном хостинге сразу установили максимально выгодную цену. Мы рассчитали её исходя из того, что это минимально допустимая цена, при которой мы можем сохранять рост. А для пользователей получается, это один из самых недорогих сервисов, на котором можно запускать свои приложения, получая бонусом Nginx и Awstats как на обычном хостинге.

    Например, чтобы разместить крошечный сервис, которому для работы достаточно 64 МБ ОЗУ можно запустить сервис с минимальным размером nano, стоимость которого, на момент написания статьи, составляет всего 20 рублей или 0.03 рубля в час.

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

    А оставаясь в выгодном сегменте цен, мы как никто другой, сможем называть себя “аналогом heroku”. Ведь, как нам запомнился heroku, это не только удобно, но и выгодно!

    Подведем итоги

    Итак, подводя итоги статьи, можно сделать следующее заключение. В современном мире, чтобы полноправно называть себя аналогом или альтернативой Heroku, нужно не только предоставлять набор услуг, который предлагает Heroku, хотя-бы в минимальном виде. Но и быть выгодным, в плане цены. Хероку полюбилась многим, чуть ли не в первую очередь, потому что была бесплатной. В основном, благодаря этому о ней все узнали и многие привыкли.

    Поэтому сегодня, когда облачный сервис называет себя аналогом хероку, но при этом имеет минимальную цену на запуск одного контейнера такую, что за эти деньги можно арендовать VPS, то это не тот “аналог heroku”, к которому мы, в свое время привыкли и который мы теперь так настойчиво ищем.

    Заключение

    Сервис Контейнерный хостинг, создается именно для тех людей, кто ищет альтернативу Heroku. Уже сейчас вы можете начать пользоваться им, тем самым поддержав нас на дальнейшее развитие, чтобы ещё на один аналог heroku стало больше. И тогда в мире будет больше альтернатив хорошим инструментам, а когда есть выбор – это всегда хорошо!