Телефон: +38 050 5605132, mail: info@aquaweb.com.ua

Хостинг-платформа Grape

Хостинг-платформа Grape

Языковые версии: русский, украинский, английский

Регион: внутренний заказ компании

Год создания: 2014

  • Клиент Aquaweb
  • Дата 19.11.2014
  • Ссылка http://control.grape-project.com/

 

 

Grape - это open source хостинговая платформа и веб-панель для управления серверными инфраструктурами.

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

Основные требования которые были поставлены для новой платформы:

  • Простота в использовании. В идеале - чтобы "просто работало". Это означает, что даже программист с начальным уровнем подготовки мог без проблем заставить работать свой код на сервере. Кроме того, создание "песочниц" для тестов и экспериментов должно быть также очень простым.
  • Отсутствие необходимости в штатном системном администраторе компании. Платформа должна легко поддерживаться силами команды программистов. В крайнем случае, должно быть достаточно привлечения внешнего администратора в качестве консультанта, при необходимости.
  • Простота в реализации, понимании работы. Разработка новых функций в рамках платформы должна быть посильна для штатной команды программистов. Также, каждый программист должен понимать как работает платформа на нижнем уровне, и процесс обучения не должен занимать много времени.
  • Хотя основной фреймворк с которым мы работаем - это Django, тем не менее платформа должна поддерживать любой фреймворк для Python, а также иметь возможность легко расширяться для поддержки и других языков программирования.
  • Легкость создания статических сайтов. Т.е., если все, что необходимо - это сделать несколько статических html файлов доступными по определенному домену, то у вас должна быть возможность это сделать за несколько минут.
  • Полная изоляция проектов между собой. Т.е., каждый проект должен работать в собственном изолированном окружении, без возможности видеть другие проекты. Это же касается и разграничения доступа по ssh, владелец проекта при заходе на сервер не должен иметь возможности видеть любой другой проект кроме своего.
  • Легкость создания баз данных и управление пользователями на уровне каждого проекта. Возможность оперативной настройки нескольких серверов БД с индивидуальными настройками.
  • Легкость создания FTP.
  • Простота работы с резервными копиями.
  • Если проект может работать на других серверах, используя например Nginx + uWSGI, или даже Apache + mod_python, то такой проект должен без модификации кода также запускаться и на базе новой платформы.
  • Добавление нового сервера в инфраструктуру должно быть очень простым. При этом платформа не должна полностью изолировать программиста (в отличии от классического облака) от понимания того, на каком конкретно сервере работает конкретный сайт. Более того, поскольку некоторые клиенты желают чтобы их сайты работали на их же серверах, то должна быть предусмотрена возможность относительно легкого добавления клиентских серверов в инфраструктуру компании.
  • Проекты написанные для работы на данной платформе, должны иметь возможность, без модификации исходного кода, работать и без нее. Т.е., платформа делает разворачивание и разработку приложений проще, но не является при этом обязательным компонентом проекта.
  • Легкость управления файлами проекта. Возможность оперативных правок прямо на сервере. Теоретическая возможность вести разработку прямо на сервере, имея только браузер и доступ по ssh.
  • Легкость управления конфигами сервера. Возможность установить доступ к сайту по паролю в несколько кликов мышкой.
  • Легкость управления доступами к серверам и проектам на основе ключей.

Основные технологии которые используются в Grape:

  • Docker - для запуска приложений в изолированных окружениях.
  • Hipache - для роутинга (привязки доменов к контейнерам) и балансировки нагрузки.
  • PostgreSQL - в качестве СУБД.
  • Phusion Passenger - в качестве сервера приложений.
  • Cloud9 - для правки файлов приложений на серверах.
  • Redis - для работи з таблицей привязки доменов к IP Hipache
  • Django - для управления инфраструктурой в панели управления

Основные функции

  • Управление серверами root, vds, vps
  • Управление ключами доступа ssh
  • Управление ftp
  • Управление серверами БД
  • Маршрутизация и управление доменами
  • Управление задачами в кроне
  • Управление резервными копиями (backups)

https://bitbucket.org/korkholeh/sbits-host-panel/overview