Сегодня расскажем и покажем как за полчаса поднять свой Backend as a Service (BaaS) с весьма интересными возможностями.
BaaS — это веб-приложение, которое работает в облаке и предоставляет все необходимое для бизнес/мобильных приложений и сайтов (front-end). BaaS как минимум позволяет:
Вот здесь уважаемый yurash собрал основные на 2012 год BaaS-системы. Сейчас их значительно больше, но в плане вопросов, которые задают люди о BaaS-платформах, статья актуальна. Кстати, если интересует текущий рынок BaaS (и BAP — business application platform), то могу поделиться в следующей статье.
Вот он наш план на ближайшие полчаса
Docker Cloud в плане процедуры регистрации не отличается чем-то особенным от других сервисов в интернете.
Для настройки крайне рекомендую обратиться к официальной документации, а в частности к главе по созданию собственного бизнес приложения (в формате walkthrough).
Настройку под конкретное ваше приложение можно условно разделить на следующие шаги:
Нет предела совершенству, поэтому доводить напильником можно до бесконечности: вводя свои виджеты, свои форматы экспорта, бизнес процессы, печатные отчеты, нотификации и т.д. Если есть вопросы по дальнейшей настройке под ваши нужды: всегда рады помочь!
BaaS — это веб-приложение, которое работает в облаке и предоставляет все необходимое для бизнес/мобильных приложений и сайтов (front-end). BaaS как минимум позволяет:
- Управлять пользователями и ролями
- Моделировать предметную область
- Получать доступ к данным через REST
- Управлять самими данными (база данных)
Вот здесь уважаемый yurash собрал основные на 2012 год BaaS-системы. Сейчас их значительно больше, но в плане вопросов, которые задают люди о BaaS-платформах, статья актуальна. Кстати, если интересует текущий рынок BaaS (и BAP — business application platform), то могу поделиться в следующей статье.
Что берем для создания BaaS
- Orienteer — конструктор бизнес-приложений (business application platform) с открытым исходным кодом. В своей основе Orienteer использует OrientDB — NoSQL мульти-парадигмная база данных с крутыми возможностями прямо из коробки.
- Docker Cloud — свободная платформа для развертывания в облаке контейнеров с приложениями Docker. На Хабре много статей про Docker.
BaaS на основе Docker-Orienteer позволяет быстро создавать приложения и быстро вносить изменения в уже имеющиеся приложения. При этом у системы низкий порог вхождения: простейшее приложение может создать человек, не знакомый с базами данных и программированием.
Связка BaaS-Docker может быть полезна и сервис-провайдерам, малым дизайн студиям и менеджерам in-house дата-систем.
Что получим в итоге
- Конструктор модели данных
- Широкий список типов данных: от примитивных (INTEGER, STRING и т.п.) до комплексных (LINK, EMBEDDED, LINKMAP, EMBEDDEDMAP), SPATIAL
- Экранные формы и виджеты для создания объектов спроектированной модели
- Управление пользователями и ролями
- Серверные скрипты на JavaScript/SQL
- REST-интерфейс с динамическим добавлением/изменением/удалением своих функций
- Проектирование и исполнение бизнес-процессов BPMN на основе Camunda
- Модульная архитектура для гибкого расширения через java, если очень понадобится
Развертываем
Вот он наш план на ближайшие полчаса
- Регистрируемся на Docker Cloud
- Регистрируемся на Digital Ocean (AWS, Azure и т.п.)
- Связываем Docker Cloud и Digital Ocean: создаем свою ноду
- Создаем и запускаем свой сервис Orienteer
- Настраиваем под себя
Регистрация на Docker Cloud
Docker Cloud в плане процедуры регистрации не отличается чем-то особенным от других сервисов в интернете.
- Заходим на Docker Cloud
- Придумываем Docker ID (aka username). Рекомендую использовать только нижний регистр со знаком “-”: если в будущем захотите использовать Docker весьма тесно и будете выпускать свои образы для контейнеров, будет проще адресовывать
- Задаем email и пароль
- Подтверждаем email, и всё: вы зарегистрированы!
Регистрация на Digital Ocean
- Идем на Digital Ocean. Рекомендую использовать эту реферальную ссылку, так как это даст вам дополнительные $10
- Регистрация еще проще чем на Docker Cloud: задаете email и пароль
- При регистрации рекомендую использовать promo-code от Docker Cloud, который даст вам еще $20. Чтобы узнать его, зайдите в Cloud Settings на Docker Cloud. Вы увидите что-то типа этого:
- Подтверждаете email и всё: вы зарегистрированы
Связываем Digital Ocean и Docker Cloud
- Идем на знакомую страницу Docker Cloud > Cloud Settings (см. картинку выше)
- В строке Digital Ocean нажимаем на перечеркнутую розетку
- Авторизуем Digital Ocean для Docker Cloud’а (то есть, вводим email и пароль докера)
- Готово
Создаем свой сервис Orienteer
- Прежде всего надо создать как минимум одну ноду, на которой будем запускать наш BaaS. Для этого на Docker Cloud:
- Идем в Node Clusters и нажимаем Create
- В пункте Providers выбираем Digital Ocean
- Указываем регион
- Выбираем тип ноды. Рекомендую выбирать с не менее чем 1 Гб памяти
- Жмем Create. Вы увидите что-то вроде картинки ниже. Docker Cloud сам закажет, установит, настроит и запустит ноду на Digital Ocean
- Осталось совсем чуть-чуть: запустить свою копию Orienteer из образа Docker. Orienteer — гомогенное приложение: все свое носит с собой. Поэтому создавать Docker Stack не понадобится. Нужен лишь сам сервис.
- Идем в Services и нажимаем Create
- В предложенном списке сверху выбираем Public Services
- В блоке слева вводим критерий поиска: orienteer/orienteer
- Выбираем именно orienteer/orienteer и попадаем на такую страницу:
- Из всего множества настроек единственное, что обязательно необходимо настроить — это порты, доступные снаружи. Например, так:
- Жмем Create & Deploy
- Придется подождать, пока образ Docker будут скачан на нашу ноду и запущен. Обычно это занимает не больше 3 минут. В итоге вы увидите что-то как на картинке ниже.
Жмем на ссылку и попадаем на наш собственный BaaS на основе Orienteer. Чтобы войти в систему используйте логин/пароль по умолчанию: admin/admin
Настраиваем под себя
Для настройки крайне рекомендую обратиться к официальной документации, а в частности к главе по созданию собственного бизнес приложения (в формате walkthrough).
Настройку под конкретное ваше приложение можно условно разделить на следующие шаги:
- Создать модель данных
- Сконфигурировать модель ролей и пользователей
- Раздать права по ролям/пользователям
- Добавить необходимые скрипты исполняемые на серверной стороне
- Настроить интерфейс: виджеты, отчеты, графики, перспективы и т.д.
Нет предела совершенству, поэтому доводить напильником можно до бесконечности: вводя свои виджеты, свои форматы экспорта, бизнес процессы, печатные отчеты, нотификации и т.д. Если есть вопросы по дальнейшей настройке под ваши нужды: всегда рады помочь!
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
О чем вам было бы интересно почитать в следующий раз в нашем блоге?
50.85% Подробнее об Orienteer30
33.9% О ныне активных BaaS20
47.46% Как создать собственную CRM, ERP, XXX на основе Orienteer без навыков кодирования28
16.95% Apache Wicket10
25.42% OrientDB15
28.81% Camunda17
22.03% Docker и Docker Cloud в частности13
1.69% Другое (напишу в комментариях)1
Проголосовали 59 пользователей. Воздержались 16 пользователей.